Генерация видео

.md

POST /v1/videos/generations — текст или картинка в видео. Veo, Kling, Seedance. Длительность, режимы качества, звук, оживление картинок.

POST /v1/videos/generations

Создаёт асинхронную джобу. Жизненный цикл тот же, что у картинок: 202опрос или вебхукdata[0].url (mp4). Видео генерируется от ~1 до десятков минут в зависимости от модели и длительности.

Параметры

Поле Тип Описание
model string, обяз. ID модели, например souz/veo3-fastкаталог
prompt string, обяз. Описание сцены (до 5000 символов)
aspect_ratio string 16:9 / 9:16 / 1:1 / auto. По умолчанию 16:9
duration string или число Секунды, допустимые значения — у модели в каталоге. По умолчанию 5
image string Картинка-референс (data URL или https URL): первый кадр / оживление
images string[] Несколько референсов (например первый + последний кадр)
callback_url string Вебхук для этой джобы — подробнее
продвинутые поля Параметры конкретной модели верхним уровнем (белый список advanced_params)

Цена видео = кредиты/сек × длительность × множитель режима (+ надбавки). Точная цена возвращается в price сразу при создании. Тарифы — в каталоге.

Текст → видео

curl https://api.souz.ai/v1/videos/generations \
  -H "Authorization: Bearer sk-souz-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "souz/kling-3",
    "prompt": "волна разбивается о скалы в замедленной съёмке, золотой час",
    "aspect_ratio": "16:9",
    "duration": "5",
    "mode": "pro",
    "sound": true
  }'

mode и sound — продвинутые поля Kling 3.0 (режим качества std/pro/4K и генерация звука).

Картинка → видео (оживление)

import base64, requests

img = base64.b64encode(open("photo.jpg", "rb").read()).decode()

r = requests.post(
    "https://api.souz.ai/v1/videos/generations",
    headers={"Authorization": "Bearer sk-souz-..."},
    json={
        "model": "souz/kling-2.6",
        "prompt": "лёгкий ветер, человек улыбается и машет рукой",
        "image": f"data:image/jpeg;base64,{img}",
        "duration": "5",
    },
)

Для видео-референсов строже лимиты: PNG/JPEG, до 10 МБ (мы автоматически конвертируем WEBP/HEIC в допустимый формат).

Примеры продвинутых полей

Модель Поля Что делают
souz/kling-3 mode, sound, multi_shots, negative_prompt режим std/pro/4K, звук, мультишот, негативный промпт
souz/kling-2.1 negative_prompt, cfg_scale негативный промпт, строгость следования промпту (0–1)
souz/seedance-2 first_frame_url, last_frame_url, reference_image_urls, camera_fixed, generate_audio кадры, референсы, фиксация камеры, аудио (+10 кредитов)
souz/veo3, souz/veo3-fast generationType, seeds режим (TEXT_2_VIDEO / FIRST_AND_LAST_FRAMES_2_VIDEO), сид

Актуальный список — всегда в каталоге и GET /v1/models (capabilities.advanced_params).

Забрать результат

Опрашивай GET /v1/jobs/{id} раз в 5–10 секунд (видео — не торопится). Или укажи callback_url — пришлём готовую ссылку вебхуком, без опроса.

{
  "id": "job_...",
  "object": "video",
  "status": "completed",
  "price": 84,
  "data": [{ "url": "https://api.souz.ai/v1/files/res_....mp4?exp=...&sig=..." }]
}

Файл хранится ~24 часа — скачивай сразу.