openai-images-mcp
README.md
# Картинки OpenAI → Claude и ChatGPT
*English: personal MCP connector for OpenAI image generation and editing (gpt-image-2) in Claude and ChatGPT, self-hosted on Cloudflare Workers free tier. Setup guide is in Russian.*
**Личный MCP-коннектор**: генерируйте и редактируйте картинки моделью
OpenAI **gpt-image-2** прямо из чата Claude или ChatGPT — с телефона,
в браузере, на компьютере.
> «Нарисуй обложку для поста про осень, акварель» · «Замени фон на моём
> фото на море» · «Надень на человека с первого фото куртку со второго» ·
> «Сделай стикер с прозрачным фоном»
Коннектор — ваш личный сервер на **бесплатном** тарифе Cloudflare Workers.
Картинки оплачиваются напрямую с вашего баланса OpenAI по их тарифу,
без наценок и подписок: обычная картинка в среднем качестве — около
**$0.04**.
[](https://deploy.workers.cloudflare.com/?url=https://github.com/deslabpro-max/openai-images-mcp)
🤖 **Хотите, чтобы всё сделал ИИ?** Промт для Claude Code или Codex: [docs/AGENT_PROMPT.md](docs/AGENT_PROMPT.md).
🧭 **Не программист? Не страшно.** Пошаговая инструкция для новичков
(каждый клик, все ошибки и решения): **[docs/SETUP.md](docs/SETUP.md)**.
📄 PDF для печати и Telegram: [docs/Инструкция-Картинки-OpenAI.pdf](docs/Инструкция-Картинки-OpenAI.pdf).
Версия для форумного поста (BB-код): [docs/4pda.bbcode.txt](docs/4pda.bbcode.txt).
---
## Что умеет
| Инструмент | Что делает |
|---|---|
| `generate_image` | Картинка по описанию: квадрат, альбомная или портретная; качество low / medium / high; до 4 вариантов; прозрачный фон |
| `edit_image` | Доработка картинки — по id из хранилища или по прямой https-ссылке; исходник не меняется |
| `get_upload_link` | Ссылка, по которой вы загружаете своё фото (любой формат, включая HEIC с айфона) |
| `get_mask_link` | Рисовалка маски: меняется только закрашенная зона |
| `compose_images` | Совместить 2–6 картинок по описанию: одежда, тату, предметы, коллаж, перенос стиля |
| `list_images` | Последние генерации и загрузки со ссылками |
| `delete_image` | Удалить картинку (ссылка перестаёт работать) |
| `get_spending` | Сколько потрачено на OpenAI через коннектор — за месяц и всего |
Готовые PNG хранятся **30 дней** и открываются по неугадываемым ссылкам —
их можно скачать, отправить в мессенджер или опубликовать в канал.
## Как это устроено
```
Claude / ChatGPT ──MCP──► ваш Worker на Cloudflare (этот репозиторий) ──► OpenAI Images API
│
└─ KV: токены, картинки 30 дней, загрузки, счётчик расходов
```
- Воркер — MCP-сервер (Streamable HTTP) и OAuth-сервер для ИИ-клиента
([`@cloudflare/workers-oauth-provider`](https://github.com/cloudflare/workers-oauth-provider)).
- API-ключ OpenAI вы вводите **один раз** на странице подключения
коннектора; он хранится в вашем OAuth-гранте в зашифрованном KV
и в чат не попадает. Ключ проверяется бесплатным запросом.
- Своё фото в чат «передать» нельзя: MCP-инструменты принимают только
текст. Поэтому фото загружается отдельной ссылкой (`get_upload_link`),
страница пересжимает его сама.
## Установка (кратко)
Полная инструкция — [docs/SETUP.md](docs/SETUP.md).
1. **OpenAI** — аккаунт на [platform.openai.com](https://platform.openai.com),
пополненный баланс, **верификация организации** (обязательна для моделей
gpt-image) и API-ключ.
2. **Cloudflare** — кнопка «Deploy to Cloudflare» выше: Cloudflare
склонирует репозиторий в ваш GitHub, создаст KV и настроит автодеплой.
Секретов задавать не нужно.
3. **Подключение**:
- **Claude**: Settings → Connectors → Add custom connector →
`https://<адрес-воркера>/mcp` → Connect → вставить ключ OpenAI;
- **ChatGPT** (Plus/Pro): Settings → Apps & Connectors → Advanced →
Developer mode → Create → тот же URL, авторизация OAuth.
## Установка с помощью ИИ-агента (Claude Code / Codex)
Откройте Claude Code или OpenAI Codex и вставьте промт из
**[docs/AGENT_PROMPT.md](docs/AGENT_PROMPT.md)**. Агент сам выполнит
терминальную часть, а браузерные шаги — OpenAI и подключение — проведёт с
вами по одному клику. Ключ OpenAI вы вводите сами на странице коннектора,
в чат он не попадает.
## Ручная установка (без кнопки)
```bash
git clone https://github.com/deslabpro-max/openai-images-mcp.git
cd openai-images-mcp
npm install
npx wrangler login
npx wrangler kv namespace create OAUTH_KV # id → в wrangler.jsonc
npx wrangler deploy
```
## Сколько стоит
Cloudflare — бесплатно. OpenAI — по факту, точная сумма каждого вызова
возвращается в ответе и копится в `get_spending`.
| Качество | Генерация, ≈ за картинку | Для чего |
|---|---|---|
| low | $0.01–0.02 | черновики, поиск идеи |
| medium | $0.04–0.06 | основная работа, посты |
| high | $0.17–0.25 | финальные картинки |
Правка фото дороже генерации: входная картинка тоже оплачивается
(medium — обычно $0.06–0.15).
## Безопасность и приватность
- Сервер ваш личный; код открыт (MIT).
- Ключ OpenAI хранится в зашифрованном OAuth-гранте в вашем Cloudflare KV,
в коде и в чатах его нет. Отозвать доступ — удалить ключ на
platform.openai.com или отключить коннектор.
- Картинки доступны по случайной ссылке без входа: всякий, у кого есть
ссылка, сможет её открыть. Не генерируйте то, что не готовы показать, —
или удаляйте через `delete_image`.
- Если кто-то узнает адрес вашего воркера, он сможет подключиться только
**со своим** ключом OpenAI — ваш баланс он не тратит.
## Ограничения
- Модели gpt-image требуют **верификации организации** в OpenAI; без неё
генерация вернёт ошибку доступа.
- OpenAI работает не во всех странах: нужен аккаунт и способ оплаты,
которые OpenAI принимает.
- Генерация в качестве high может идти дольше минуты, и чат прервёт
ожидание по таймауту — но картинка всё равно сохранится: попросите
«покажи последние картинки» (`list_images`).
- Бесплатный KV Cloudflare: 1000 записей в сутки на аккаунт — хватает на
сотни картинок в день.
## Лицензия
[MIT](LICENSE). Проект не аффилирован с OpenAI, Anthropic и Cloudflare.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues