Документация · Картинки и видео
Картинки и видео
Асинхронные задачи: запустить генерацию, проверить статус, забрать файлы.
POST
/v1/generationsГенерация картинки занимает секунды, видео — минуты, поэтому они запускаются задачей. Запрос сразу отвечает 202 с id, результат забирается по GET /v1/generations/{id}. Модели и их параметры — в /v1/models?type=image и ?type=video.
import time, requests
API = "https://sujik.ru/v1"
headers = {"Authorization": "Bearer sk-sujik-..."}
task = requests.post(f"{API}/generations", headers=headers, json={
"type": "image",
"model": "nano-banana",
"prompt": "Рыжий кот в космосе, акварель",
"params": {"aspect_ratio": "16:9"},
}).json()
while task["status"] in ("queued", "processing"):
time.sleep(3)
task = requests.get(f"{API}/generations/{task['id']}", headers=headers).json()
print(task["result"]["files"][0]["url"] if task["status"] == "completed" else task["error"])Тело запроса
typestringобязательныйimage,videoилиtext.modelstringобязательный- id из
/v1/models?type=image|video. promptstringобязательный- Описание. Для текста можно вместо него передать
messages. paramsobject- Настройки модели из её
paramsв списке моделей. ninteger- Сколько картинок (1–4).
imagestring- base64 или data:URL до 15 МБ: исходник для правки картинки или первый кадр видео, если модель это умеет.
messages, max_tokens- Только для
type: "text".
{
"id": "6f1c2a0e-…",
"object": "generation",
"type": "image",
"model": "nano-banana",
"status": "completed",
"created_at": "2026-10-13T12:00:00.000Z",
"completed_at": "2026-10-13T12:00:09.000Z",
"result": { "files": [{ "url": "https://…", "content_type": "image/png" }] },
"error": null
}- Статусы:
queued,processing,completed,failed. Опрашивайте раз в 2–5 секунд для картинок и раз в 10–15 секунд для видео. - Ссылки на файлы временные (несколько минут): скачайте файл сразу или запросите статус ещё раз, чтобы получить свежие.
- Если генерация не удалась, в
errorбудут код и описание, а заряды вернутся. - Midjourney через API пока недоступен.