ДокументацияГенерация изображений
Генерация изображений
POST /v1/images/generations создаёт изображение по текстовому описанию. Формат совместим с OpenAI Images API.
Адрес
POST https://api.zenvy.su/v1/images/generationsЗаголовки
| Заголовок | Значение |
|---|---|
Authorization | Bearer sk-zenvy-... |
Content-Type | application/json |
Тело запроса
{
"model": "gemini-2.5-flash-image",
"prompt": "Неоновый город под дождём, кинематографичный кадр",
"n": 1
}Поля запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
model | string | да | Модель с генерацией изображений — см. Модели и баланс, в architecture.output_modalities должно быть "image" |
prompt | string | да | Текстовое описание изображения |
n | number | нет | Количество изображений, 1–4. По умолчанию 1 |
Пример запроса
curl https://api.zenvy.su/v1/images/generations \
-H "Authorization: Bearer sk-zenvy-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.5-flash-image",
"prompt": "Минималистичный логотип лисы, плоский вектор"
}'Пример ответа
{
"created": 1779613892,
"data": [
{ "b64_json": "iVBORw0KGgoAAA..." }
]
}Изображение возвращается в b64_json (base64 PNG) или в url, если модель отдаёт ссылку.
OpenAI SDK
import OpenAI from "openai";
import fs from "node:fs";
const client = new OpenAI({
apiKey: process.env.ZENVY_API_KEY,
baseURL: "https://api.zenvy.su/v1"
});
const image = await client.images.generate({
model: "gemini-2.5-flash-image",
prompt: "Космонавт верхом на лошади, фотореализм"
});
fs.writeFileSync("image.png", Buffer.from(image.data[0].b64_json!, "base64"));Изображения на входе (vision)
Модели с architecture.input_modalities, содержащим "image", принимают картинки в /v1/chat/completions через image_url:
{
"model": "gpt-5.5",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Что на этой картинке?" },
{ "type": "image_url", "image_url": { "url": "data:image/png;base64,..." } }
]
}
]
}Биллинг
Генерация тарифицируется токенами выбранной модели: промпт — вход, изображение — выход. Подробнее: Токены и биллинг.