AI-Multimodal-Campaign-Architect
AI-архитектор мультимодальных кампаний
Агентный рабочий процесс · Протокол контекста модели
Агентный MCP-воркфлоу, который планирует, пишет, иллюстрирует и озвучивает полноценную маркетинговую кампанию — с точкой контроля человеком перед затратным этапом.
Достаточно одного запроса — "Запустить дерзкую линейку кроссовок для поколения Z" — и он запускает агентный конвейер MCP-инструментов, генерирующих текст, мудборд, озвучку, презентационный питч и финальное изображение кампании, с автоматическими защитными барьерами и жёстким бюджетным лимитом.
Что он делает
Генерирует текст — Gemini создаёт заголовок, основной текст, целевую аудиторию, ключевое сообщение, подробную визуальную концепцию и сценарий озвучки (~15 секунд) из одного запроса кампании.
Разветвляется параллельно (
asyncio.gather, ограничено самым медленным вызовом, а не их суммой):Создаёт мудборд из Unsplash для дешёвой проверки визуального направления до трат на генерацию изображений
Синтезирует озвучку из сценария (gTTS)
Составляет презентационный питч — целевая аудитория, ключевое сообщение, призыв к действию, обоснование дизайна
Запускает проверки защитных барьеров — проход на основе правил (запрещённые термины, ограничения длины) и проход на основе LLM (непроверяемые утверждения, соответствие тону)
Точка контроля «человек в цикле» — человек просматривает мудборд и подтверждает (или изменяет) визуальное направление, прежде чем конвейер потратит что-либо на генерацию изображений.
Генерирует финальное изображение через Pollinations.ai, используя подтверждённую визуальную концепцию.
Ограниченная авто-критика — любое поле, не прошедшее проверку защитных барьеров, получает ровно один автоматический проход перезаписи. Циклов повторных попыток нет, неконтролируемые расходы исключены — сбои логируются для ручной доработки.
Конвейер
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 ( |
Мудборд | 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-инструменты
Инструмент | Назначение | Стоимость |
| Заголовок, основной текст, визуальная концепция, сценарий озвучки — источник контекста, от которого зависят все остальные инструменты | Gemini (маленькая) |
| Поиск референсных изображений в Unsplash — дешёвый способ проверить направление до платной генерации изображений | Бесплатно |
| Финальное изображение кампании на основе подтверждённой визуальной концепции | Бесплатно (Pollinations.ai) |
| Озвучка «текст в речь» из сценария кампании | Бесплатно (gTTS) |
| Целевая аудитория, ключевое сообщение, призыв к действию, обоснование дизайна | Gemini (маленькая) |
| Перегенерирует одно поле (заголовок / основной текст / аудиосценарий) изолированно, оставляя всё остальное без изменений | Gemini (маленькая) |
| Проверка на основе правил: запрещённые термины, ограничения длины заголовка/сценария | Бесплатно |
| Проверка на основе модели: непроверяемые утверждения, соответствие тона контексту бренда | Gemini (маленькая) |
| RAG-поиск голоса/рекомендаций бренда для обоснования генерации текста | Бесплатно (заглушка — настоящее эмбеддинговое поиск запланирован как расширение) |
Контроль стоимости и бюджета
CampaignOrchestrator отслеживает реальную, сообщаемую стоимость каждого вызова и обеспечивает жёсткий лимит на сессию (budget_cap_usd, по умолчанию $0.50). После достижения лимита дальнейшие платные вызовы отклоняются — конвейер не падает, он просто перестаёт тратить. Бесплатные инструменты (мудборд, аудио, защитные барьеры на основе правил) никогда не блокируются лимитом.
Начало работы
Предварительные требования
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, переменные окружения для сборки фронтенда не требуются.
Лицензия
Автор
Создано Нибха С Донгре — агентный MCP-конвейер, от начала до конца.
[Посмотреть на GitHub [→](https://github.com/YOUR_USERNAME/YOUR_REPO]](https://github.com/nibhasdongre/AI-Multimodal-Campaign-Architect)
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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