Справочник API
Видео
Модели этого эндпоинта (13)
/v1/videos/v1/videos/{task_id}/v1/videos/{task_id}/contentАсинхронная генерация видео (Seedance, Kling, Veo, Wan, Grok Imagine …). /v1/videos принимает данные для генерации видео по тексту и по изображению в одном запросе формата OpenAI. Возвращает task_id для опроса — или зарегистрируйте вебхук при отправке.
#Параметры запроса
modelstringобязательноID видеомодели со страницы моделей, например doubao-seedance-2.5.
promptstringобязательноОписание сцены; для image2video задаёт движение.
imagestringнеобязательноТолько для image2video: изображение первого кадра в виде URL или base64.
imagesarrayнеобязательноРеференсные кадры для провайдеров, которые принимают несколько изображений в одной задаче.
durationnumberнеобязательноДлительность ролика в секундах — влияет на ценовой уровень; допустимые значения указаны в карточке модели.
secondsnumberнеобязательноПсевдоним длительности ролика в некоторых семействах моделей; предпочтительное поле — duration.
resolutionstringнеобязательноУровень разрешения результата, например 720p или 1080p, если модель его поддерживает.
sizestringнеобязательноСоотношение сторон или размер для семейств моделей, которые задают размер как ширина x высота.
webhook_urlstringнеобязательноHTTPS-URL, который вызывается, когда задача переходит в конечное состояние, — формат обратного вызова описан в руководстве по видео.
webhook_secretstringнеобязательноЕсли задан, каждая доставка содержит X-Xiaoxiang-Signature: sha256=hex(HMAC-SHA256(body, secret)).
Параметры провайдера передаются как есть
За неудачные задачи средства возвращаются автоматически
#Отмена выполняющейся задачи
/v1/videos/:task_idОстанавливает задачу, которая ещё не перешла в конечное состояние. При успехе зарезервированная квота возвращается, задача записывается как failed с причиной "cancelled by user", а зарегистрированный вебхук срабатывает как task.failed.
Большинство провайдеров не поддерживает отмену
curl -X DELETE https://www.aisplice.store/v1/videos/task_xxx \
-H "Authorization: Bearer sk-YOUR_KEY"{
"id": "task_xxx",
"task_id": "task_xxx",
"status": "cancelled"
}Обратите внимание: "cancelled" встречается только в этом ответе. При следующем опросе задача будет в статусе failed — именно в это состояние она переведена.
- 404 task_not_existНеизвестный ID задачи, или она принадлежит другому аккаунту.
- 409 task_not_cancellableЗадача уже завершена — останавливать нечего.
- 501 task_cancel_not_supportedУ этого провайдера нет API отмены.
#Ремикс существующего видео
/v1/videos/:video_id/remixПерегенерирует готовое видео с новым промптом на моделях, которые это поддерживают. Передайте только prompt: модель, длительность, разрешение и ценовые параметры наследуются от исходной задачи, а запрос привязывается к каналу, который её выполнил.
curl https://www.aisplice.store/v1/videos/task_xxx/remix \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: remix-of-task_xxx" \
-d '{"prompt": "Same shot, at night"}'{
"task_id": "task_yyy",
"status": "queued",
"remixed_from_video_id": "task_xxx"
}Ремикс — новая платная задача
- 400 invalid_requestДля ремикса prompt обязателен.
- 400 task_not_existID исходного видео неизвестен или принадлежит другому аккаунту.
- 400 task_channel_disableКанал, создавший исходное видео, больше не активен.
#Связанные ошибки
- 404 not_foundНеизвестный путь, неизвестное имя модели или просроченный / чужой task_id.
- 422 unprocessable_entityПровайдер отклонил значения параметров, переданные шлюзом (например, неподдерживаемый размер или длительность).
- 401Bearer-токен недействителен или отсутствует. На этом пути error.code нет — ориентируйтесь на статус.
- 402 insufficient_user_quotaБаланса кошелька не хватает на предварительно резервируемую сумму.
- 429Ограничение частоты для ключа. Тело пустое; дождитесь Retry-After. Если же в ответе 429 есть insufficient_user_quota, это дневной лимит расходов.
- 503 model_not_foundНеизвестная модель, или сейчас её не обслуживает ни один исправный канал.
#Пример запроса
# submit
curl https://www.aisplice.store/v1/videos \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "doubao-seedance-2.5", "prompt": "A drone shot of a lighthouse at dawn"}'
# poll every 5s
curl https://www.aisplice.store/v1/videos/$TASK_ID -H "Authorization: Bearer sk-YOUR_KEY"
# download when completed
curl -L https://www.aisplice.store/v1/videos/$TASK_ID/content -o out.mp4 -H "Authorization: Bearer sk-YOUR_KEY"#Ответ
// POST — submit accepted
{"task_id": "task_xxx", "status": "queued"}
// GET /v1/videos/{task_id}
{
"task_id": "task_xxx",
"status": "in_progress", // queued | in_progress | completed | failed
"progress": "45%"
}
// terminal state
{
"task_id": "task_xxx",
"status": "completed",
"metadata": {"url": "https://…"}
}Проблема не решена?
Пришлите нам ID запроса или текст ошибки, и мы разберёмся.