Изображения
Генерация изображений
Как выбрать модель для нужного изображения, написать рабочий промпт, получить варианты и пройти весь путь API от запроса до URL файла.
Изображения — самая доступная часть генеративных медиа. Видео стоит заметных денег и создаётся минуты, а картинка возвращается за секунды и обходится в доли цента. Это меняет процесс: вместо долгой шлифовки одного промпта можно запустить несколько вариантов, сравнить их и оставить лучший.
Через один endpoint доступны четырнадцать моделей text-to-image, и сильные стороны у них действительно разные. Одна хорошо рисует текст, другая создаёт 4K-панорамы 8:1, третья предлагает целый процесс с upscale, вариациями и панорамированием. Здесь разберём выбор модели и промпты; полный перечень полей есть в справочнике Модели изображений.
Что с их помощью создают
| Задача | Что важнее всего | С чего начать |
|---|---|---|
| Обложки для блога и соцсетей | скорость, форматы, цена | nano-banana-2-lite, z-image |
| Визуалы продуктов и упаковки | разрешение, реалистичные материалы | nano-banana-pro, doubao-seedream-5-0-pro |
| Изображение с надписями | качество текста | gpt-image-2 |
| Много вариантов на выбор | быстрые повторные задачи | doubao-seedream-5-0-lite |
| Графика для печати | вывод 4K | nano-banana-pro, nano-banana-2, gpt-image-2 |
| Управляемый художественный стиль | стилизация, upscale, вариации | midjourney |
| Сверхширокие баннеры | экстремальные пропорции | nano-banana-2 (8:1, 1:8) |
| Точный размер рекламного места | width + height | wan2.7-image, wan2.7-image-pro |
| Кадр для последующей анимации | согласованность с видеомоделью | любая, затем image-to-video |
Какую модель выбрать
gpt-image-2 — модель, которая умеет писать. Если в кадре должно быть
слово, вывеска, этикетка или UI-макет, начинайте с неё. quality
(low/medium/high) действительно меняет скорость и точность, а набор
форматов очень широк — вплоть до 3:1 и 1:3.
Семейство nano-banana — универсальный рабочий инструмент.
nano-banana-2-lite подходит для дешёвых черновиков, nano-banana — быстрый
вариант, nano-banana-pro выдаёт 4K, а nano-banana-2 поддерживает панорамы
1:4, 1:8, 4:1 и 8:1, которых нет у других моделей.
doubao-seedream-5-0-lite — быстрый перебор концепций. Создавайте
несколько отдельных задач с одним промптом и выбирайте лучшие результаты.
doubao-seedream-5-0-pro делает ставку на качество одного изображения, а
doubao-seedream-4-5 предлагает promptOptimizeMode, который перерабатывает
промпт перед рендером.
z-image — простой быстрый вариант. Пять форматов, лимит промпта 1000
символов и никаких уровней разрешения. Хороший выбор, когда нужна качественная
картинка без дополнительных решений.
wan2.7-image / wan2.7-image-pro — точные размеры. Только эти модели
принимают width и height в пикселях (1–4096). Если дизайн требует ровно
1200×628 без кропа, используйте их. Версия -pro лучше прорабатывает детали.
grok-imagine-2.0-image работает только как text-to-image, поддерживает
семь форматов и подходит как быстрый второй взгляд на концепцию.
grok-imagine-1.5-image — более дешёвое предыдущее поколение.
midjourney — управляемый художественный процесс. Модель сначала возвращает
сетку 2×2, а затем позволяет выполнить upscale, variation, pan, zoom и
reroll. Параметры stylize, chaos и weird управляют эстетикой. Выбирайте
её, если важен визуальный язык и вы готовы делать итерации. Цепочка действий
описана в Редактировании изображений.
Как написать точный промпт
Модели изображений предсказуемо реагируют на конкретику в таком порядке:
предмет → композиция и кадрирование → свет → материал и фактура → техника или стилистический ориентир.
«Чашка кофе» даст стоковую фотографию. «Керамический пуровер на поцарапанной стальной столешнице, вид сверху, жёсткий боковой свет, малая глубина резкости, фуд-фотография» уже является брифом.
- Сначала скажите, что изображено, затем — как это снято или нарисовано. Формулировки 35-мм фотография, редакционная иллюстрация, изометрический 3D-рендер или ризография дают больше согласованности, чем набор эпитетов.
- Слова о кадрировании просты и эффективны. Вид сверху, крупный план, общий план, по центру со свободным местом сверху обычно выполняются.
- Точное количество объектов ненадёжно. Просьба о пяти бутылках может дать четыре или шесть. Если число критично, создайте объект один раз и соберите композицию в редакторе.
- Референс стиля надёжнее описания. Если есть подходящая картинка, передайте её для редактирования. См. Редактирование изображений.
- Когда важен текст, берите способную к нему модель.
gpt-image-2,nano-banana-2иnano-banana-proмогут осмысленно разместить короткую надпись, но результат всё равно нужно вычитать.
Рецепты
Композиция с местом для заголовка — nano-banana-2, size: "1:1":
A minimalist composition featuring a single, delicate red maple leaf positionedin the bottom-right of the frame. The background is a vast, empty off-whitecanvas, creating significant negative space for text. Soft, diffused lightingfrom the top left. Square image.
Модель сохраняет и положение листа в углу, и пустое поле. Точное место предмета работает надёжнее расплывчатой просьбы «оставить место для текста».

Source: Google AI for Developers, used under CC BY 4.0; format and dimensions adapted.
Коммерческий предметный снимок — nano-banana-2, size: "1:1":
A high-resolution, studio-lit product photograph of a minimalist ceramic coffeemug in matte black, presented on a polished concrete surface. The lighting is athree-point softbox setup designed to create soft, diffused highlights andeliminate harsh shadows. The camera angle is a slightly elevated 45-degree shotto showcase its clean lines. Ultra-realistic, with sharp focus on the steamrising from the coffee. Square image.
Материал, поверхность, схема света и ракурс оставляют модели мало пространства для собственной трактовки «премиальной предметной фотографии».

Source: Google AI for Developers, used under CC BY 4.0; format and dimensions adapted.
Картинка с надписью — nano-banana-2:
A photo of a glossy magazine cover, the minimal blue cover has the large boldwords Nano Banana. The text is in a serif font and fills the view. No othertext. In front of the text there is a portrait of a person in a sleek andminimal dress. She is playfully holding the number 2, which is the focal point.Put the issue number and "Feb 2026" date in the corner along with a barcode. Themagazine is on a shelf against an orange plastered wall, within a designer store.
Короткий текст в кавычках и ясная иерархия дают надписи конкретную роль. Дата, номер выпуска и штрихкод делают пример сложнее обычной вывески.

Source: Google AI for Developers, used under CC BY 4.0; format and dimensions adapted.
Несколько концепций — отдельные задачи doubao-seedream-5-0-lite с
size: "1:1" и resolution: "2K":
Mascot character for a developer tool: a friendly otter wearing a smallbackpack, vector illustration, thick outlines, limited palette of teal andsand, plain background
Повторите один промпт несколькими запросами, соберите все результаты и выберите лучшие. Каждый публичный запрос создаёт один результат.
Ровно 1200×628 без кропа — wan2.7-image-pro, width: 1200,
height: 628:
Abstract geometric background, overlapping translucent planes in indigo andamber, soft grain, no text
width и height полностью заменяют size; модель возвращает запрошенные
пиксели, что удобно для рекламного места фиксированного размера.
About these samples. Ready-made examples are copied to our own storage only when their source permits reuse. The exact prompt appears above each result, and the original source and license are linked below the media.
Сравнение моделей
| Модель | Формат | Разрешение | Особенность |
|---|---|---|---|
nano-banana | size | 1K | самая быстрая в семействе |
nano-banana-pro | size | 1K 2K 4K | высокое разрешение |
nano-banana-2 | size | 512px 1K 2K 4K | самый широкий набор форматов |
nano-banana-2-lite | size | 1K | дешёвый уровень, только 1K |
gpt-image-2 | size | 1k 2k 4k | quality low/medium/high |
doubao-seedream-5-0-lite | size | 2K 3K 4K | быстрый перебор, outputFormat |
doubao-seedream-5-0-pro | size | 1K 2K | одно изображение, упор на качество |
doubao-seedream-4-5 | size | 2K 4K | promptOptimizeMode |
z-image | size | — | 5 форматов, промпт до 1000 символов |
wan2.7-image | size или width+height | — | точные размеры в пикселях |
wan2.7-image-pro | size или width+height | — | улучшенная детализация |
grok-imagine-1.5-image | size | — | 5 форматов |
grok-imagine-2.0-image | size | — | только text-to-image, 7 форматов |
midjourney | size | — | action, stylize, chaos |
Все модели изображений называют поле пропорций size. На стороне видео Sora
и Veo используют aspectRatio. Полные таблицы приведены в разделе Модели
изображений.
Размер и разрешение
size — строка с соотношением сторон, а не размер в пикселях. Допустимые
значения зависят от модели:
| Семейство | Допустимые значения size |
|---|---|
nano-banana, nano-banana-pro | 1:1 2:3 3:2 3:4 4:3 4:5 5:4 9:16 16:9 21:9 |
nano-banana-2, nano-banana-2-lite | предыдущие плюс 1:4 1:8 4:1 8:1 |
gpt-image-2 | auto 1:1 16:9 9:16 4:3 3:4 3:2 2:3 5:4 4:5 2:1 1:2 3:1 1:3 21:9 9:21 |
doubao-seedream-* | 1:1 4:3 3:4 16:9 9:16 3:2 2:3 21:9 9:21 auto |
z-image | 1:1 4:3 3:4 16:9 9:16 |
wan2.7-image* | 1:1 16:9 9:16 4:3 3:4 3:2 2:3 |
grok-imagine-1.5-image | 1:1 16:9 9:16 3:2 2:3 |
grok-imagine-2.0-image | 1:1 2:3 3:2 3:4 4:3 9:16 16:9 |
midjourney | любая строка w:h, например 16:9, 21:9, 1:1 |
Экстремальные панорамы 1:4, 1:8, 4:1, 8:1 есть только у
nano-banana-2 и nano-banana-2-lite.
resolution задаётся отдельно, причём регистр различается: Nano Banana и
Seedream используют 1K / 2K / 4K, а gpt-image-2 — 1k / 2k / 4k.
У z-image, wan2.7-image*, grok-imagine-* и midjourney поля
resolution нет.
У моделей Seedream разные допустимые уровни. Общий DTO не означает общие возможности:
doubao-seedream-5-0-proпринимает1Kи2K,doubao-seedream-5-0-lite—2K/3K/4K, аdoubao-seedream-4-5—2K/4K. Недопустимое значение вернёт 400invalid_input, а не понижение.
wan2.7-image и wan2.7-image-pro также принимают точные width и height
от 1 до 4096. Если заданы оба поля, они переопределяют size.
Несколько изображений
Каждый публичный запрос генерации создаёт один результат. Для серии создайте
отдельную задачу на каждое изображение. Это позволяет независимо отслеживать,
повторять и тарифицировать варианты. outputFormat (jpeg или png)
поддерживают две модели Seedream 5.0; doubao-seedream-4-5 вместо него
предлагает promptOptimizeMode (standard или fast).
Готовый файл приходит в массиве files:
{"code": 200,"data": {"taskId": "019ca8b2-77d1-7a04-8c2e-15f9b0d4a6e1","status": "finished","files": [{"fileUrl": "https://storage.api-stock.com/generated/img-1a.png","fileType": "image"}],"createdTime": "2026-02-28T12:41:02.000Z"}}
Всегда обрабатывайте весь массив files, чтобы код оставался корректным и для
операций, возвращающих несколько результатов.
Отправка запроса
Минимальный вызов text-to-image:
curl -X POST https://api.api-stock.com/api/v1/generation/create \-H "Authorization: Bearer sk-your-key" \-H "Content-Type: application/json" \-d '{"model": "nano-banana-2","input": {"prompt": "A brass orrery on a walnut desk, single window light, shallow depth of field","size": "3:2","resolution": "2K"}}'
{"code": 200,"data": {"taskId": "019ca8b2-77d1-7a04-8c2e-15f9b0d4a6e1","status": "not_started","createdAt": "2026-02-28T12:41:02.000Z"}}
У gpt-image-2 параметр quality меняет задержку, цену и точность:
| Значение | Компромисс |
|---|---|
low | быстро и дёшево |
medium | баланс, значение по умолчанию |
high | максимальная точность |
{"model": "gpt-image-2","input": {"prompt": "A brass orrery on a walnut desk, single window light","size": "3:2","resolution": "2k","quality": "high"}}
Midjourney из текста
У публичной модели midjourney поле action выбирает операцию. Для генерации
из текста используется imagine; это также значение по умолчанию.
{"model": "midjourney","input": {"action": "imagine","prompt": "A brass orrery on a walnut desk, single window light","size": "3:2","version": "7","stylize": 250,"chaos": 15,"speed": "relax"}}
| Поле | Диапазон | Флаг Midjourney |
|---|---|---|
stylize | 0–1000 | --s |
chaos | 0–100 | --c |
weird | 0–3000 | --w |
version | 8.1 7 6.1 5.2 5.1 | --v |
quality | 0.25 0.5 1 2 | --q |
speed | relax fast turbo | уровень тарификации |
Нативные --flags можно писать в prompt, но структурированное поле тела
переопределяет одноимённый флаг. Остальные флаги можно передать строкой
extra.
Задача imagine создаёт сетку 2×2. Для последующего действия отдельная плитка
выбирается через index (1–4). Процесс описан в Редактировании
изображений.
Полный цикл
const BASE = "https://api.api-stock.com/api/v1";const KEY = process.env.API_STOCK_KEY!;type TaskFile = { fileUrl: string; fileType: "image" | "video" | "music" };async function generateImage(prompt: string): Promise<string[]> {const create = await fetch(`${BASE}/generation/create`, {method: "POST",headers: {Authorization: `Bearer ${KEY}`,"Content-Type": "application/json",},body: JSON.stringify({model: "doubao-seedream-5-0-lite",input: { prompt, size: "1:1", resolution: "2K", outputFormat: "png" },}),});const created = await create.json();if (!create.ok) {throw new Error(`${created.error.code}: ${created.error.message}`);}const taskId: string = created.data.taskId;const deadline = Date.now() + 10 * 60_000;while (Date.now() < deadline) {await new Promise((r) => setTimeout(r, 3_000));const res = await fetch(`${BASE}/task/status/${taskId}`, {headers: { Authorization: `Bearer ${KEY}` },});const body = await res.json().catch(() => null);if (!res.ok) {if (res.status === 429) {const retryAfter = Number(res.headers.get("Retry-After") ?? 3);await new Promise((r) => setTimeout(r, retryAfter * 1000));continue;}const message = body?.error?.message ?? `${res.status} ${res.statusText}`;throw new Error(message);}const { data } = body;if (data.status === "finished") {return (data.files as TaskFile[]).map((f) => f.fileUrl);}if (data.status === "failed" || data.status === "expired") {throw new Error(data.errorMessage);}}throw new Error(`timed out waiting for ${taskId}`);}const urls = await generateImage("Isometric cutaway of a lighthouse");console.log(urls.length); // → 1
Для изображений подходит интервал опроса 3 секунды. Общий лимит на IP — 120
запросов за 60 секунд; см. Лимиты запросов. Для пакетной
обработки передайте webhook и принимайте готовый ответ без опроса; см.
Вебхуки.
Запустите это со своим ключом
Все модели из этого руководства доступны в каталоге API Stock — один API-ключ, один предоплаченный баланс, без отдельной регистрации у каждого провайдера.