genmux API теперь доступен всем. Читать документацию →
genmux API

Блог

Миграция на Unified Image API с Google AI Studio, fal.ai или Replicate

2 мин чтенияАвтор Unified Image API Team


Перенос готовой интеграции Nano Banana к нам обычно занимает вечер: концепции отображаются один в один, а отличия — как раз те места, которые вы с удовольствием удалите. Ниже — соответствия, о которых спрашивают чаще всего.

Ментальная модель

КонцепцияGoogle AI Studio (Gemini API)ReplicateУ нас
Стиль вызовасинхронный generateContentасинхронный predictionасинхронное задание
Аутентификацияx-goog-api-keyAuthorization: BearerAuthorization: Bearer
Результатbase64 в ответеURL по завершении predictionподписанный URL в задании
Безопасные повторынет из коробкинет из коробкиобязательный Idempotency-Key
Неудачный вызовтарифицируется по токенампо-разномукредиты возвращаются автоматически
Пуш о завершениинетвебхукиподписанные вебхуки

С Google AI Studio

API Google синхронный и возвращает изображение как base64 прямо в ответе. Два изменения:

  1. Разделите вызов. POST /v1/generations (получите id), затем опрос GET /v1/generations/{id} или webhook_url. Проблемы с таймаутами исчезают: отправка отвечает за миллисекунды независимо от загрузки модели.
  2. Скачивание вместо декодирования. Результаты приходят подписанными ссылками на 15 минут — стримьте их в своё хранилище, а не держите base64 в памяти.
diff
- POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent
- {"contents":[{"parts":[{"text":"a red fox in snow"}]}]}
+ POST $BASE/v1/generations
+ {"model":"nanobanana","prompt":"a red fox in snow","resolution":"1K","ratio":"1:1"}

Сам текст промпта переносится без изменений — то же семейство моделей, то же поведение промптинга.

С Replicate

Схема уже знакома (создать prediction → опрос/вебхук). Что меняется:

  • Хэши version → стабильные id моделей (nanobanana, nanobanana-pro) из GET /v1/models; без церемонии пиннинга — маршрутизация и failover происходят за id.
  • input: {...} → плоское тело: prompt, resolution (1K/2K/4K), ratio, n, seed, а также images для image-to-image. Устаревшее поле size («1024x1024») по-прежнему принимается и отображается на ближайший тир и соотношение сторон.
  • Биллинг: посекундная оплата GPU → фиксированные кредиты за изображение, известные до отправки (cost в ответе) и возвращаемые при неудаче.

Чек-лист

  1. Создайте ключ, внесите IP-диапазоны боевого трафика в allowlist ключа.
  2. Оберните отправку в Idempotency-Key на каждое намерение пользователя (см. пост об идемпотентности).
  3. Отобразите обработку ошибок на значения codeтаблица ошибок короткая.
  4. Погоняйте оба провайдера параллельно день (кредиты предоплачены; тест на пакете Starter стоит несколько долларов) и сравните доли ошибок, прежде чем переключаться окончательно.

Полные схемы запросов и ответов с реальными payload: справочник API. Цены по моделям в долларах: модели.

Об авторе

Автор Unified Image API Team — genmux API.

Подробнее о нас