Skip to main content
Flatkey предоставляет два семейства API для работы с изображениями. Используйте совместимые с OpenAI эндпоинты /v1/images/generations и /v1/images/edits для gpt-image-2. Используйте нативный эндпоинт Gemini generateContent для моделей Gemini, работающих с изображениями.
Нельзя вызывать модели Gemini для работы с изображениями через OpenAI Images SDK, /v1/images/generations или /v1/images/edits. Используйте примеры с нативным Gemini API на этой странице. В противном случае запрос может вернуть get_channel_failed.

Поддерживаемые модели для работы с изображениями

Полный список моделей и актуальные цены см. в Каталоге моделей.

Использование gpt-image-2

Использование OpenAI SDK

Генерация изображения с помощью curl

Этот эндпоинт возвращает сгенерированное изображение в data[0].b64_json; gpt-image-2 не предоставляет URL размещённого изображения. Все поля описаны в справочнике Images API.

Редактирование изображения с помощью curl

Используйте /v1/images/edits, чтобы загрузить исходное изображение вместе с инструкциями по редактированию. Этот эндпоинт использует multipart/form-data; поле image обязательно, поле mask — необязательно.
image поддерживает форматы PNG, JPEG и WebP. Опустите mask, чтобы редактировать всё изображение на основе промпта. Если маска указана, её прозрачные области определяют регионы для перерисовки. Отредактированное изображение возвращается в data[0].b64_json. Все поля описаны в справочнике API редактирования.

Использование моделей Gemini для работы с изображениями

Модели Gemini для работы с изображениями используют следующий эндпоинт. Замените {model} на идентификатор модели:
Запрос должен содержать "IMAGE" в generationConfig.responseModalities. Сгенерированные изображения возвращаются в candidates[].content.parts[].inlineData.

Использование curl

Использование Python с сохранением изображения

Установите HTTP-клиент:

Использование Node.js с сохранением изображения

Поля запроса Gemini

array
обязательно
Содержимое разговора. Для генерации изображения из текста поместите описание изображения в parts[].text.
array
обязательно
Модальности ответа. Используйте ["TEXT", "IMAGE"] для текста и изображений или ["IMAGE"], чтобы запросить только изображения.
string
обязательно
Идентификатор модели указывается в пути URL, а не в теле запроса. Например, gemini-3-pro-image.

Формат ответа Gemini

inlineData.data содержит изображение в кодировке base64. Ответ может содержать текст и несколько частей с изображениями. Перебирайте parts вместо того, чтобы предполагать, что изображение всегда является первым элементом.

Устранение неполадок

API возвращает get_channel_failed

Убедитесь, что эндпоинт соответствует модели:
  • Используйте /v1/images/generations для генерации с gpt-image-2.
  • Используйте /v1/images/edits для редактирования с gpt-image-2.
  • Используйте /v1beta/models/{model}:generateContent для моделей Gemini, работающих с изображениями.

Ответ Gemini не содержит изображения

Убедитесь, что generationConfig.responseModalities содержит "IMAGE". Также проверьте ответ на наличие ошибки или блокировки по соображениям безопасности.

Составление эффективных промптов

  • Укажите стиль: фотореализм, масляная живопись, акварель, 3D-рендер
  • Добавьте детали освещения: золотой час, студийное освещение, драматические тени
  • Укажите композицию: крупный план, широкий угол, вид с птичьего полёта, портретная ориентация
  • Добавьте модификаторы качества: высокая детализация, 4K, профессиональная фотография