Назад у блог
BananaBanana Teamtutorialmcpclaude

Генерація зображень у Claude Code: налаштування MCP за 2 хв

Генеруйте зображення в Claude Code чи Claude Desktop через один віддалений сервер MCP: без локального встановлення та API-ключа Google. Картинки від $0.03.

Генерація зображень у Claude Code: налаштування MCP за 2 хв

Сервер MCP для генерації зображень — це саме та деталь, якої бракує, щоб Claude міг створювати картинки. Працює це так: Claude пише промпт і викликає інструмент generate_image, сервер рендерить результат за допомогою справжньої моделі (у нашому випадку це сімейство моделей Nano Banana від Google) і повертає посилання. Сам по собі Claude малювати не вміє. Anthropic досі не випустила жодної моделі для роботи із зображеннями, тому Claude Code та Claude Desktop чудово розпізнають готові картинки, але не можуть створювати власні.

Якщо ви зайшли лише за цим, ось швидка відповідь: створіть API-ключ у своєму профілі BananaBanana, а потім виконайте одну команду в терміналі:

claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
  --header "Authorization: Bearer bb_live_YOUR_KEY"

Це весь процес встановлення. Жодного локального сервера, акаунта в Google Cloud чи підписок. Оплата за зображення списується з передплаченого балансу і становить від $0.03 за штуку, за відео — від $0.10. І щоб усе було чесно: кожну ілюстрацію до цієї статті згенерував Claude Code через цей самий сервер безпосередньо під час написання тексту. Загальний рахунок за медіафайли склав $1.29 (включно з однією повторною спробою), а чеки наведено наприкінці.

Чому Claude не вміє генерувати зображення самостійно?

Anthropic фокусується на моделях для роботи з текстом та міркуваннями. Розпізнавання зображень працює лише в один бік: Claude може аналізувати ваші скріншоти чи фотографії, але в його сімействі моделей немає генератора зображень, і компанія про такі плани не заявляла. ChatGPT має вбудовану модель для генерації картинок, а Claude — ні.

Спільнота знайшла вихід у локальних серверах MCP — на GitHub їх повно, і вони цілком робочі. Однак під «встановленням» тут мається на увазі запуск власного локального процесу, підтримка середовища Node чи Python, прописування сервера в конфігураційному файлі на кожному комп'ютері, а головне — використання власного API-ключа Google. Оплата та ліміти прив'язуються до вашого акаунта Google з його квотами та панеллю керування. Для розробника, який експериментує на одному ноутбуці, це нормальний варіант. Для всіх інших — невеликий інфраструктурний проєкт.

Віддалений сервер MCP повністю змінює правила гри. Він уже запущений на нашому боці, а під капотом працює та сама інфраструктура, що забезпечує роботу генератора BananaBanana. Ви проходите авторизацію за допомогою єдиного ключа, сплачуєте за кожну генерацію з передплаченого балансу, а процес налаштування однаковий як для Claude Code на ноутбуці, так і для Claude Desktop на робочому комп'ютері колеги чи для claude.ai у браузері. Вам дійсно не доведеться нічого обслуговувати.

Редакційна ілюстрація, на якій робот-письменник передає записку роботу-художнику за мольбертом — метафора передачі генерації зображень від Claude до сервера MCP

Як підключити Claude Code до сервера MCP для генерації зображень?

Дві хвилини та три кроки. Спочатку зареєструйтеся та відкрийте вкладку Profile → MCP API Keys. Створіть ключ: він показується лише один раз, починається з bb_live_ і зберігається у нас у захешованому вигляді, тому скопіюйте його одразу. Нові акаунти отримують стартовий баланс у розмірі $0.20, чого цілком достатньо для створення шести тестових зображень на найдешевшій моделі, перш ніж ви вирішите, чи варто поповнювати рахунок.

Claude Code

Достатньо виконати одну команду, як зазначено вище:

claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
  --header "Authorization: Bearer bb_live_YOUR_KEY"

Призначення прапорців описано в документації Claude Code MCP; HTTP — рекомендований протокол передачі для віддалених серверів. Виконайте команду /mcp під час сесії, щоб переконатися, що з'єднання активне: ви маєте побачити сім інструментів, від list_models до get_result. Після цього запит на кшталт «генерувати обкладинку 16:9 для цієї статті» стане командою, яку Claude Code дійсно зможе виконати.

Claude Desktop та claude.ai

У Claude Desktop та claude.ai перейдіть за шляхом Settings → Connectors → Add custom connector, а потім вставте https://bananabanana.pro/api/mcp як URL-адресу сервера. Для налаштування ключа відкрийте розділ Request headers та додайте заголовок Authorization із значенням Bearer bb_live_YOUR_KEY. Введіть повне значення, включаючи слово Bearer і пробіл; відповідно до документації Anthropic щодо конекторів, Claude надсилає заголовок саме в такому вигляді й не додає жодних префіксів від себе.

Чесне застереження: авторизація через заголовки запитів (Request headers) у конекторах зараз перебуває на стадії бета-тестування, і Anthropic впроваджує її поступово. Тож у вашому акауні цього розділу може ще не бути. Проте є альтернативний варіант, який працює скрізь, де запускається Claude Desktop: додайте сервер через міст mcp-remote у файлі claude_desktop_config.json (Settings → Developer → Edit Config). Для цього на комп'ютері має бути встановлений Node.js:

{
  "mcpServers": {
    "bananabanana": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://bananabanana.pro/api/mcp",
        "--header", "Authorization: Bearer bb_live_YOUR_KEY"
      ]
    }
  }
}

Обидва варіанти, а також чистий приклад JSON-RPC для інших випадків, доступні на сторінці сервера MCP:

Розділ швидкого старту на сторінці документації BananaBanana MCP, де показано фрагменти налаштування для Claude Code та Claude Desktop

Чи працює це за межами Claude?

Так. MCP — це відкритий протокол, тому будь-який клієнт, що підтримує протокол Streamable HTTP і дозволяє додавати заголовок Authorization, може підключатися до тієї ж кінцевої точки: Gemini CLI, ZCode від Z.ai, агенти редакторів тощо. Крім того, оскільки Codex отримав підтримку віддаленого MCP, це стосується десктопного застосунку ChatGPT, Codex CLI та розширення для IDE через спільний запис у config.toml (параметри url та bearer_token_env_var згідно з документацією Codex MCP). API від xAI підключає сервери MCP для кожного запиту за допомогою server_url. Серед винятків поки залишаються веб-інтерфейси, побудовані на базі OAuth замість звичайних скопійованих ключів — веб-конектори ChatGPT та, ймовірно, кастомні конектори на основі URL у grok.com. Ми підтримуємо актуальну таблицю сумісності для різних клієнтів із прикладами налаштування на сторінці сервера MCP, а ця стаття присвячена саме Claude.

Кейс 1: обкладинка для статті, яку ви пишете

Стандартний сценарій на кожен день. Ви пишете чернетку публікації в Claude Code, і вам потрібна обкладинка. Ви даєте інструкцію: «generate a 16:9 editorial hero about database caching, library metaphor». Claude формує детальний промпт і робить запит:

→ generate_image {"prompt": "Editorial illustration for a developer blog post
   about database caching: a small librarian robot placing three glowing books
   onto a tiny fast bookshelf in the foreground, a huge dim archive hall
   stretching far behind it, soft pastel background, dark ink details, accents
   of violet and warm amber, clean minimal composition, generous negative
   space, no text", "model": "nano-banana-pro", "aspect_ratio": "16:9"}
← {"job_id": "cmxq…", "status": "processing", "cost_charged_usd": 0.11,
   "balance_remaining_usd": 4.89}
→ get_result {"job_id": "cmxq…"}
← {"status": "completed", "files": [{"url": "https://bananabanana.pro/api/files/…"}]}

Ось результат виконання цього промпту з першої спроби, без повторних генерацій:

Згенерована ШІ обкладинка із зображенням робота-бібліотекаря, який розкладає світні книги на полиці на тлі величезного архіву — створено в Claude Code через MCP

Вартість: $0.11 на моделі Nano Banana Pro у роздільній здатності 1K. Агент завантажує файл за підписаним посиланням, зберігає його в репозиторій і прописує альтернативний текст (alt). Посилання залишаються активними протягом 24 годин; після цього запит get_result згенерує нові.

Кейс 2: знімки товарів без фотографа

Для створення маркетингових макетів чудово підходить професійний опис кадру. Опишіть сцену так, як це зробив би фотограф: об'єкт, поверхня, джерело світла, об'єктив.

→ generate_image {"prompt": "A photorealistic product photo of a matte
   sage-green ceramic pour-over coffee set on a pale linen tablecloth, soft
   diffused daylight from a window on the left, gentle shadows, shallow depth
   of field, eye-level shot with a 50mm lens, minimal warm styling, no text",
   "model": "nano-banana-pro", "aspect_ratio": "1:1"}

Фотореалістичне ШІ-зображення кавового набору з кераміки шавлієвого кольору на лляній скатертині при м'якому денному світлі, згенероване через сервер MCP

Скажу чесно: цей кадр вдався лише з другої спроби. Перший варіант на перший погляд здався нормальним, але при детальному розгляді виявилося, що чашка злилася з блюдцем в одне ціле. Геометрія предметів — це саме те місце, де фотореалістичні моделі все ще помиляються, тому перед публікацією зображень товарів завжди треба прискіпливо їх розглядати. Одна повторна генерація з тим самим промптом вирішила проблему: $0.22 за два кадри замість $0.11. Але найбільше мені подобається навіть не сам кадр, а те, що відбувається далі: інструмент edit_image приймає job_id готового зображення разом із новою вказівкою, наприклад, «зроби фон чисто білим і додай м'яку тінь». Це дозволяє коригувати деталі у кілька кроків без повторного опису всієї сцени, при цьому кожен крок тарифікується як одне зображення. Для підготовки каталогів такий цикл редагування — це межа, що відділяє серйозний інструмент від простої забавки.

Кейс 3: один персонаж на різних зображеннях

Для фірмових талісманів, коміксів або розкадровок важливо, щоб один і той самий персонаж переходив із кадру в кадр. При роботі через MCP ми використовуємо метод описової карти персонажа — це незмінний блок тексту, який агент додає до кожного промпту. У нашому випадку це був: «a small courier robot with a round matte-teal head, one large friendly amber eye, boxy cream-white body with visible brass screws, and a canvas messenger bag with a brass buckle». Дві сцени, два запити, по $0.11 кожен:

Згенерований ШІ робот-кур'єр із бірюзовою головою та полотняною сумкою сортує посилки на сонячному складі — перше зображення із серії з єдиним персонажем

Той самий ШІ-персонаж робота-кур'єра їде на вантажному велосипеді під дощем у сутінках — друге зображення із серії

Скажу відверто: результат хороший, але не ідеальний. Сумка, бурштинове око та світле тіло з латунними гвинтами збереглися на обох кадрах. Проте форма голови дещо змінилася зі сферичної на шолом, а сцена в сутінках вийшла у більш графічному стилі малювання. Це відома межа можливостей текстового опису персонажа. Надійніше працює використання референсних зображень — веб-генератор дозволяє додавати до 5 референсів персонажа на Nano Banana Pro, тоді як інструмент generate_image в MCP поки не підтримує роботу із зображеннями на вході. У нашому практичному посібнику зі збереження стилю персонажів детально розглянуто обидва методи, а також те, які елементи змінюються найпершими.

Кейс 4: створення відео безпосередньо у чаті

Створення відео працює через той самий сервер, але має один додатковий запобіжник. Відеоролики коштують дорожче за картинки (до $4.40 за рендер на топовій моделі Veo 3.1), тому generate_video ніколи не списує кошти за першим запитом. Інструмент спершу повертає попередній кошторис, і агент має надіслати повторний запит із підтвердженням точної суми:

→ generate_video {"prompt": "Aerial drone shot rising slowly over terraced tea
   fields at sunrise, thin mist drifting in the valleys, golden light catching
   the ridges, smooth cinematic camera motion, wide shot",
   "model": "veo-3.1-fast", "duration": 6, "resolution": "720p"}
← {"status": "confirmation_required", "quoted_cost_usd": 0.52, …}
→ generate_video {…same arguments…, "confirm_cost": 0.52}
← {"job_id": "cmxr…", "status": "processing", "cost_charged_usd": 0.52}

Ось результат — шість секунд тиші у роздільній здатності 720p від моделі Veo 3.1 Fast з першої спроби:

Генерація відео триває від однієї до десяти хвилин, тому агент періодично опитує функцію get_result, продовжуючи виконувати інші завдання. Якщо вам потрібен звук, Omni Flash працює через той самий інструмент за ціною $0.10 за секунду з завжди увімкненим аудіо, і ви самі встановлюєте тривалість — від 3 до 10 секунд. Він також приймає зображення як вхід: передайте job_id зображення, яке ви вже згенерували (або публічне посилання), як перший кадр, додайте до десяти референсних зображень, щоб зберегти узгодженість персонажа, і агент їх анімує. Останні кадри та зациклення все ще вимагають веб-генератора.

Кожне зображення в цій статті створено за цим робочим процесом

Якби я сам читав таку статтю, я б неодмінно зажадав доказів. Тому ось як виглядав цей процес на практиці: Claude Code писав розділ статті, формулював промпт для ілюстрації у нашому фірмовому стилі, викликав інструмент генерації, чекав близько двадцяти секунд, оцінював отримане зображення та додавав розмітку з альтернативним текстом перед тим, як рухатися далі. Для створення всього медіаконтенту, який ви тут бачите, було здійснено вісім викликів генератора. Шість картинок та відеоролик вийшли з першої спроби, а кавовому набору знадобився один перезапуск після того, як я помітив дефект із чашкою. Лише один повтор на вісім запитів — це навіть краще, ніж я сподівався.

Єдиний елемент, який не було згенеровано — це скріншот сторінки з документацією, зроблений за допомогою інструмента браузера.

Ці зображення не є бездоганними (голова робота-кур'єра, як ми бачили, іноді живе своїм життям). Проте головне тут те, що створення ілюстрацій перестало бути окремим тривалим етапом роботи. Робота над текстом та підготовка візуального оформлення відбуваються в межах однієї сесії, а весь цей контент коштував приблизно стільки ж, скільки квиток на автобус.

Скільки насправді коштували медіафайли для статті?

Усі наведені нижче витрати розраховані за стандартними тарифами з нашої сторінки цін — саме ці цифри модель отримує через команду list_models. Жодних знижок для працівників.

ФайлМодельВартість
ОбкладинкаNano Banana Pro, 1K$0.11
Ілюстрація з письменником і художникомNano Banana Pro, 1K$0.11
Головне зображення для кейсу 1Nano Banana Pro, 1K$0.11
Макет кавового набору, 2 спроби (кейс 2)Nano Banana Pro, 1K$0.22
Серія з роботом-кур'єром, 2 зображення (кейс 3)Nano Banana Pro, 1K$0.22
Відео з чайними плантаціями, 6 с без звуку, 720p (кейс 4)Veo 3.1 Fast$0.52
Скріншот документаціїу браузері, без генерації$0.00
Разом$1.29

Ми скрізь використовували флагманську модель генерації зображень, оскільки ці матеріали призначені для публічного перегляду. Якби мы робили чернетки за допомогою Nano Banana 2 Lite по $0.03 за зображення, це дозволило б зменшити витрати на картинки з $0.77 до $0.21. У нашому посібнику з використання моделі Lite розповідається, у яких випадках бюджетної моделі буде цілком достатньо.

Бажаєте спробувати? Підключіть сервер MCP від BananaBanana та попросіть Claude створити ваше перше зображення.

FAQ

Чи працює сервер MCP від BananaBanana з іншими клієнтами, окрім Claude?

Так, сервер сумісний із будь-яким клієнтом MCP, який підтримує протокол Streamable HTTP і дозволяє передавати заголовок Authorization: Claude Code, Claude Desktop, Gemini CLI, ZCode від Z.ai для моделі GLM-5.2, агенти розробки на кшталт Cursor чи VS Code, а також — завдяки підтримці віддаленого MCP у Codex — десктопний застосунок ChatGPT, Codex CLI та розширення для IDE, які використовують один спільний запис у config.toml із параметрами url та bearer_token_env_var. API від xAI підключає сервери MCP для кожного запиту через server_url. Наразі залишається невизначеність щодо веб-конекторів ChatGPT, які використовують авторизацію OAuth замість звичайних ключів, та діалогового вікна кастомних конекторів на grok.com, яке приймає URL без опису полів для ключів. Ймовірно, для них знадобиться підтримка OAuth 2.1, яку ми плануємо реалізувати з нашого боку. Актуальну таблицю сумісності з інструкціями для різних клієнтів можна знайти на сторінці сервера MCP. Також будь-яке власне рішення вже зараз може підключатися напряму через JSON-RPC.

Чи потрібен мені API-ключ Google або акаунт у Google Cloud?

Ні, і це головна причина створення нашого сервера. Локальні сервери MCP для генерації зображень із GitHub звертаються безпосередньо до Gemini API, через що вимагають наявності вашого власного ключа Google AI Studio, лімітами й оплатою якого доводиться керувати самостійно. У нашому випадку генерація відбувається через оптимізований пул ключів Vertex AI від BananaBanana, а єдиним вашим ідентифікатором є ключ bb_live_ з вашого профілю. Вам не потрібно заходити в консоль Google, і компанія ніколи не виставлятиме вам рахунки. Обмін цілком чесний: ви не отримуєте «чистих» цін API від Google і прямого доступу до параметрів, але натомість маєте поштучну оплату за генерації без обов'язкових мінімальних платежів, автоматичну ротацію ключів та єдиний баланс для сервера MCP, веб-генератора й застосунку в Telegram. А якщо станеться витік ключа, його можна відкликати в один клік, не зачіпаючи решту налаштувань.

Як працює тарифікація на сервері MCP?

Передплачений баланс, оплата за кожну генерацію та жодних підписок. Ви поповнюєте баланс, і з нього списується фіксована вартість за кожен запит: від $0.03 до $0.20 за зображення (залежно від моделі та роздільної здатності) та від $0.10 до $4.40 за відеоролики (залежно від моделі, тривалості, роздільної здатності й наявності звуку). Агент заздалегідь знає вартість кожного виклику: функція list_models повертає актуальні тарифи в реальному часі, а будь-яка генерація відео (або пакетна генерація зображень) вимагає попереднього підтвердження ціни через параметр confirm_cost. Кожна відповідь містить значення cost_charged_usd та balance_remaining_usd, тому облік витрат інтегровано безпосередньо у діалог. Запити, що завершилися помилкою, повертаються на баланс автоматично. Якщо ви хвилюєтеся, що неконтрольований агент може витратити забагато коштів, встановіть щоденний ліміт у доларах для кожного ключа в меню Profile → MCP API Keys і переглядайте детальний журнал використання ключів, де фіксуються інструмент, модель, вартість та фрагмент промпту.

Що відбудеться, якщо баланс закінчиться під час виконання завдання?

Наступний виклик платного інструмента завершиться помилкою INSUFFICIENT_BALANCE з посиланням на поповнення рахунку, яке агент передасть вам. Баланс ніколи не йде в мінус; тут немає овердрафтів чи неочікуваних рахунків. Безкоштовні інструменти (list_models, get_account, get_result, list_generations) продовжують працювати, тож ви не втратите доступ до вже створених файлів, а завдання, запущені до завершення коштів, будуть виконані без перешкод, оскільки плата списується одноразово на старті. На практиці Claude просто повідомляє про невдалий виклик, надає URL для поповнення балансу та продовжує виконувати інші доступні завдання. Щоб уникнути раптової зупинки, стежте за показником balance_remaining_usd у кожній відповіді або налаштуйте перевірку балансу через get_account перед запуском об'ємних завдань.

Що блокує контент-фільтр і чи потрібно платити за заблоковані запити?

Базові моделі Google використовують власні фільтри безпеки. Якщо генерацію відхилено, сервер повертає єдиний код помилки SAFETY_FILTERED замість півдесятка внутрішніх варіантів від Google. Заблоковані категорії відповідають стандартним правилам Gemini та Veo: сексуальний контент за участю неповнолітніх, жорстокість, діпфейки реальних людей тощо. Іноді фільтри дають хибні спрацьовування на цілком безпечні запити — це відбувається на боці провайдера моделей, і ми не будемо це приховувати. Правила тарифікації максимально прості: кошти за повністю заблоковані запити повертаються на баланс автоматично, а для відео, де Google іноді блокує лише частину фрагментів, сума повернення розраховується пропорційно. Ви платите виключно за ті файли, які отримали. Якщо ваш промпт постійно блокується фільтром, спробуйте переформулювати конкретну деталь, яка викликає таку реакцію, замість того, щоб повторно надсилати той самий текст.

Кому належать права на зображення, згенеровані через сервер MCP?

Права належать виключно вам. Відповідно до наших умов використання, згенеровані зображення та відео є вашою власністю і можуть використовуватися як в особистих, так і в комерційних цілях з урахуванням ліцензійних умов постачальників базових моделей. Ми не претендуємо на ваш контент, а надіслані промпти залишаються вашими. На практиці важливі два нюанси зберігання файлів. Посилання, які повертає функція get_result, є підписаними та діють протягом 24 годин, тому вчасно завантажуйте важливі матеріали або викликайте get_result повторно для отримання нових посилань. Згенеровані медіафайли зберігаються протягом 30 днів, після чого безповоротно видаляються — наш сервер MCP працює як конвеєр генерації, а не як архів. Крім того, весь створений через MCP контент відображається в історії вашого веб-акаунта, тому ви завжди можете переглянути та завантажити його знову протягом періоду зберігання.

tutorialmcpclaude