NezhaGateNezhaGate
POST https://nezhagate.com/v1/videos/generations

Генерация видео Seedance 2.0 · Clip (асинхронно, спеццена за ролик): duration — 5, 10 или 15 секунд (по умолчанию 15; вертикаль 9:16 — только 15), 720P, size=16:9 / 9:16; до 9 референсных изображений (images — задают людей, сцену и стиль; в промпте — @Image1…), фото реальных людей подходят как референс; референсные видео и аудио не принимаются. Возвращает id задачи (HTTP 202); опрашивайте GET /v1/videos/jobs/{id}, пока не появится status=succeeded, результат — в data[0].url. $1.00 за ролик, три длительности по одной цене; при ошибке — полный возврат.

Попробовать в песочнице →

Аутентификация

Header
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Чтобы начать, создайте API-ключ в консоли.

Тело запроса

ПараметрТипОбязательныйОписание
model string Да Идентификатор модели, здесь seedance-2.0-clip.
prompt string Да Текстовый промпт с описанием видео, камеры и движения. Не более 5000 байт (UTF-8; китайский иероглиф занимает 3 байта).
duration integer Нет Длительность — только 5, 10 или 15 секунд (по умолчанию 15, самая длинная); вертикаль 9:16 пока только 15; другие значения отклоняются. Псевдоним: seconds. Спеццена за ролик: три длительности стоят одинаково.
resolution string Нет Разрешение только 720P (оно же по умолчанию); $1.00 за ролик независимо от длины.
size string Нет Соотношение сторон: 16:9 (горизонталь, по умолчанию; 5 / 10 / 15 с) или 9:16 (вертикаль; 15 с). Псевдоним: aspect_ratio.
image string Нет Изображение в видео: укажите референсное изображение (публичный URL, data: URI или base64); не указывайте для режима текст в видео.
images array Нет Несколько референсных изображений, до 9. Превышение лимита отклоняется, а не обрезается. Псевдоним: reference_images.

Пример запроса

cURL
# 1) submit -> 202 {"id":"img_...","status":"queued"}
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "seedance-2.0-clip", "prompt": "a paper crane unfolding over a misty lake", "duration": 15, "resolution": "720P", "size": "16:9"}'
# image-to-video: also pass  "image": "https://example.com/ref.png"
# 2) poll every ~5s until status=succeeded, then read data[0].url
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'

Ответ

200 · JSON
{
  "id": "img_3f9a...c2",
  "object": "video.generation.job",
  "status": "queued",
  "model": "seedance-2.0-clip"
}

Асинхронная видеозадача (отправка → опрос)

Отправка запроса сразу возвращает HTTP 202 и id задачи; опрашивайте, пока status не станет succeeded, и считайте data[0].url (ссылку на mp4). Допустимые значения duration, resolution и size — в таблице параметров выше; для варианта «изображение в видео» добавьте параметр image.

curl · отправка (текст в видео)
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "seedance-2.0-clip", "prompt": "кот занимается сёрфингом на закате", "size": "16:9"}'
Референсные изображения: передайте также images (до 9; публичные URL, data: URI или base64) и укажите их в промпте как @Image1...; они задают объект, сцену и стиль и не используются как первый кадр. Этот тариф не принимает референсные видео и аудио.
Реальные человеческие лица подходят в качестве референсных изображений, маскирование не требуется. Пожалуйста, убедитесь, что у вас есть право использовать внешность людей, изображённых на фото.
Пример ответа
{ "id": "img_3f9a...c2", "object": "video.generation.job", "status": "queued", "model": "seedance-2.0-clip" }
curl · опрос
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'
Пример ответа
{
  "id": "img_3f9a...c2",
  "object": "video.generation.job",
  "status": "succeeded",
  "model": "seedance-2.0-clip",
  "data": [{ "url": "https://img.nezhagate.com/i/9f86d081a8....mp4" }]
}

🕑 data[0].url — это ссылка на наш хостинг изображений; она хранится 60 дней, а затем автоматически удаляется. Чтобы продолжать использовать изображение, скачайте его и сохраните в своём хранилище или CDN.

Тарификация за клип целиком, при сбое — полный возврат; неудачный или прерванный по тайм-ауту рендер автоматически возвращает зарезервированные кредиты.

Коды ошибок

Каждое тело ошибки содержит error.message / error.type / error.code / error.param — ветвите логику по code; полный список — в руководстве по интеграции.

HTTPcodeОписание
401invalid_api_keyAPI-ключ отсутствует или недействителен
402insufficient_quotaНедостаточно средств на балансе или превышена квота ключа
400invalid_requestНеподдерживаемая модель или параметр
429rate_limit_exceededЛимит запросов у провайдера
502upstream_errorВсе маршруты к провайдерам не сработали