Images
POST /v1/images/generations: генерация картинок.
/v1/images/generationsГенерирует картинки по текстовому описанию. Формат совместим с OpenAI Images: работает client.images.generate(...). Ответ синхронный, картинка приходит в теле как b64_json. Хостинга картинок нет, режим response_format: "url" не поддерживается.
Заголовки
| Заголовок | Значение |
|---|---|
Authorization | Bearer <ключ>. Обязателен. Вместо него принимается x-api-key: <ключ> |
Content-Type | application/json |
X-Morphogen-Space | spc_…: пространство расхода. Необязательный |
Тело запроса
modelstringобязательныйМодель картинок из GET /v1/models: например flux-2-klein или gpt-image-1-mini.
promptstringобязательныйОписание картинки.
nintegerЧисло картинок, от 1 до 10. По умолчанию 1.
sizestringРазмер, например 1024x1024. Допустимые значения зависят от модели.
qualitystringКачество, например low. Поддерживают не все модели.
aspect_ratiostringСоотношение сторон, например 16:9.
output_formatstringФормат файла: png, jpeg или webp, если модель их поддерживает.
seedintegerЗерно для воспроизводимости, если модель его принимает.
input_referencesarrayИсходные картинки для моделей, которые умеют редактирование.
Потоковый режим не поддерживается, stream: true даёт 400. Маскирования ПДн у картинок нет: промпт уходит модели без изменений, а явный X-PII-Masking: on даёт 400.
Пример запроса
curl https://api.morphogen.ru/v1/images/generations \
-H "Authorization: Bearer $MORPHOGEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-2-klein",
"prompt": "красное яблоко на белом столе"
}' | jq -r '.data[0].b64_json' | base64 -d > apple.jpgПример ответа
{
"created": 1760104212,
"data": [{ "b64_json": "/9j/4AAQSkZJRgABAQ...", "media_type": "image/jpeg" }],
"usage": { "cost": 0.014 }
}В примере строка b64_json сокращена. Картинки весят мегабайты, поэтому ответ не буферизуется и приходит целиком.
Ошибки
unsupported_response_formatЗапрошен response_format: "url". Поддерживается только b64_json.image_streaming_unsupportedВ запросе stream: true.invalid_image_countn не целое число от 1 до 10.model_category_mismatchМодель не из категории картинок.pii_masking_unsupported_endpointВ запросе X-PII-Masking: on.invalid_api_keyКлюч не передан, неверный, отозван или истёк.insufficient_fundsНа балансе не хватает денег на резерв запроса.model_not_allowedМодели нет в списке ключа.model_not_foundТакой модели нет в каталоге.rate_limit_exceededПревышен лимит запросов в минуту.Остальные коды: Ошибки. Руководство: Картинки и видео.