Skip to main content
Glama
nibhasdongre

AI-Multimodal-Campaign-Architect

by nibhasdongre

AI-архитектор мультимодальных кампаний

Агентный рабочий процесс · Протокол контекста модели

Агентный MCP-воркфлоу, который планирует, пишет, иллюстрирует и озвучивает полноценную маркетинговую кампанию — с точкой контроля человеком перед затратным этапом.

Достаточно одного запроса — "Запустить дерзкую линейку кроссовок для поколения Z" — и он запускает агентный конвейер MCP-инструментов, генерирующих текст, мудборд, озвучку, презентационный питч и финальное изображение кампании, с автоматическими защитными барьерами и жёстким бюджетным лимитом.

Посмотреть, как это работает : https://ai-multimodal-campaign-architect-gl808c9v7-nibha-dongre.vercel.app/


Что он делает

  1. Генерирует текст — Gemini создаёт заголовок, основной текст, целевую аудиторию, ключевое сообщение, подробную визуальную концепцию и сценарий озвучки (~15 секунд) из одного запроса кампании.

  2. Разветвляется параллельно (asyncio.gather, ограничено самым медленным вызовом, а не их суммой):

    • Создаёт мудборд из Unsplash для дешёвой проверки визуального направления до трат на генерацию изображений

    • Синтезирует озвучку из сценария (gTTS)

    • Составляет презентационный питч — целевая аудитория, ключевое сообщение, призыв к действию, обоснование дизайна

    • Запускает проверки защитных барьеров — проход на основе правил (запрещённые термины, ограничения длины) и проход на основе LLM (непроверяемые утверждения, соответствие тону)

  3. Точка контроля «человек в цикле» — человек просматривает мудборд и подтверждает (или изменяет) визуальное направление, прежде чем конвейер потратит что-либо на генерацию изображений.

  4. Генерирует финальное изображение через Pollinations.ai, используя подтверждённую визуальную концепцию.

  5. Ограниченная авто-критика — любое поле, не прошедшее проверку защитных барьеров, получает ровно один автоматический проход перезаписи. Циклов повторных попыток нет, неконтролируемые расходы исключены — сбои логируются для ручной доработки.

Конвейер

RECEIVE BRAND REQUIREMENT ──▶ GENERATE COPY ──┬──▶ BUILD MOODBOARD ─────┐
                                               ├──▶ GENERATE AUDIO ──────┤
                                               ├──▶ CREATE PITCH ────────┼──▶ HUMAN IN THE LOOP ──▶ GENERATE IMAGE
                                               └──▶ RUN GUARDRAILS ──────┘
                                               (parallel batch — asyncio.gather)

Технологический стек

Слой

Стек

MCP-сервер

Python, FastMCP, Pydantic (типизированные схемы инструментов)

Текст / питч / защитные барьеры

Gemini API (gemini-flash-lite-latest)

Мудборд

Unsplash API

Генерация изображений

Pollinations.ai (бесплатно, ключ не требуется)

Озвучка

gTTS

Фронтенд

Next.js (App Router), TypeScript, Tailwind CSS

Платные только вызовы Gemini и Unsplash — у обоих щедрые бесплатные тарифы, а лимит бюджета на сессию в любом случае устанавливает жёсткий предел (см. Контроль стоимости и бюджета).

Структура проекта

.
├── server.py              # MCP server — exposes each pipeline step as a typed tool
├── client.py               # MCP transport client
├── orchestrator.py         # Pipeline DAG: sequencing, parallel fan-out, budget enforcement
├── run_demo.py              # Runs the 4 showcase campaigns end-to-end, writes campaign_outputs/
├── requirements.txt
├── .env.example
│
├── app/                    # Next.js app router pages
├── components/              # DemoGrid, DemoModal, PipelineDiagram, ByokPanel, etc.
├── data/
│   ├── demos.ts             # Auto-generated by scripts/build-demo-data.mjs — do not hand-edit
│   └── features.ts
├── public/
│   ├── demo.gif
│   └── demos/                # Campaign assets copied in at build time
├── scripts/
│   └── build-demo-data.mjs   # Reads campaign_outputs/, populates data/demos.ts + public/demos/
└── package.json

Скорректируйте это дерево, если ваш репозиторий размещает Python-бэкенд и Next.js-фронтенд в отдельных подпапках, а не в общем корне.

Предоставляемые MCP-инструменты

Инструмент

Назначение

Стоимость

generate_copy

Заголовок, основной текст, визуальная концепция, сценарий озвучки — источник контекста, от которого зависят все остальные инструменты

Gemini (маленькая)

generate_moodboard

Поиск референсных изображений в Unsplash — дешёвый способ проверить направление до платной генерации изображений

Бесплатно

generate_image

Финальное изображение кампании на основе подтверждённой визуальной концепции

Бесплатно (Pollinations.ai)

generate_audio_asset

Озвучка «текст в речь» из сценария кампании

Бесплатно (gTTS)

create_presentation_pitch

Целевая аудитория, ключевое сообщение, призыв к действию, обоснование дизайна

Gemini (маленькая)

refine_content

Перегенерирует одно поле (заголовок / основной текст / аудиосценарий) изолированно, оставляя всё остальное без изменений

Gemini (маленькая)

run_guardrail_check

Проверка на основе правил: запрещённые термины, ограничения длины заголовка/сценария

Бесплатно

run_llm_guardrail_check

Проверка на основе модели: непроверяемые утверждения, соответствие тона контексту бренда

Gemini (маленькая)

retrieve_brand_context

RAG-поиск голоса/рекомендаций бренда для обоснования генерации текста

Бесплатно (заглушка — настоящее эмбеддинговое поиск запланирован как расширение)

Контроль стоимости и бюджета

CampaignOrchestrator отслеживает реальную, сообщаемую стоимость каждого вызова и обеспечивает жёсткий лимит на сессию (budget_cap_usd, по умолчанию $0.50). После достижения лимита дальнейшие платные вызовы отклоняются — конвейер не падает, он просто перестаёт тратить. Бесплатные инструменты (мудборд, аудио, защитные барьеры на основе правил) никогда не блокируются лимитом.

Начало работы

Предварительные требования

  • Python 3.10+

  • Node.js 18+

  • Бесплатные API-ключи: Gemini и Unsplash

1. Генерация данных кампании (Python-бэкенд)

git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
cd YOUR_REPO
pip install -r requirements.txt

cp .env.example .env
# fill in GEMINI_API_KEY and UNSPLASH_ACCESS_KEY in .env

В одном терминале запустите MCP-сервер:

python server.py

В другом запустите демо-кампании:

python run_demo.py               # all campaigns
python run_demo.py --campaign 1  # just one

Это записывает вывод каждой кампании в campaign_outputs/campaign_N/.

2. Сборка и запуск фронтенда

npm install
npm run build:demo-data   # reads campaign_outputs/, populates data/demos.ts + public/demos/
npm run dev

Откройте http://localhost:3000.

Запуск конвейера (BYOK — используйте свой ключ)

Развёрнутый сайт поставляется с предварительно сгенерированными демо-кампаниями, встроенными на этапе сборки — в продакшене бэкенд не запускается. Любой желающий может клонировать этот репозиторий и запустить тот же конвейер со своими API-ключами, следуя инструкциям выше; ни для одного ключа не требуется платный аккаунт, кредитная карта или процесс утверждения.

Развёртывание

Развёртывать нужно только Next.js-фронтенд — Python-бэкенд является локальным инструментом генерации, а не зависимостью времени выполнения развёрнутого сайта. См. components/ByokPanel.tsx в приложении для инструкций по самостоятельному запуску.

Развёрнуто на Vercel: импортируйте репозиторий, фреймворк автоматически определяется как Next.js, переменные окружения для сборки фронтенда не требуются.

Лицензия

MIT

Автор

Создано Нибха С Донгре — агентный MCP-конвейер, от начала до конца.

[Посмотреть на GitHub [→](https://github.com/YOUR_USERNAME/YOUR_REPO]](https://github.com/nibhasdongre/AI-Multimodal-Campaign-Architect)

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.

  • Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.

  • OpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nibhasdongre/AI-Multimodal-Campaign-Architect'

If you have feedback or need assistance with the MCP directory API, please join our Discord server