Перейти к основному содержанию
GET
/
v1
/
videos
/
generations
/
{task_id}
curl --request GET \
  --url 'https://toapis.com/v1/videos/generations/task_01K9S419324DREZFBWNSVXYR6H' \
  --header 'Authorization: Bearer <token>'
{
  "id": "video_7497f4d5-3a88-44c7-923a-967fa7d941a0",
  "object": "generation.task",
  "model": "sora-2",
  "status": "queued",
  "progress": 0,
  "created_at": 1768380222
}
  • Запрос статуса выполнения и результатов асинхронной задачи генерации видео
  • Обновление статуса и отслеживание прогресса в реальном времени
  • Получение сгенерированных видео при завершении задачи
  • Поддержка многоязычности (zh/en/ko/ja)
Все задачи генерации видео выполняются асинхронно. После отправки задачи необходимо запросить статус и результаты через API запроса.

Авторизация

Authorization
string
обязательно
Все эндпоинты требуют аутентификации Bearer TokenПолучить API ключ:Посетите Страницу управления API ключами для получения API ключаДобавьте в заголовок запроса:
Authorization: Bearer YOUR_API_KEY

Параметры пути

task_id
string
обязательно
ID задачи, возвращенный API генерации видео
curl --request GET \
  --url 'https://toapis.com/v1/videos/generations/task_01K9S419324DREZFBWNSVXYR6H' \
  --header 'Authorization: Bearer <token>'
{
  "id": "video_7497f4d5-3a88-44c7-923a-967fa7d941a0",
  "object": "generation.task",
  "model": "sora-2",
  "status": "queued",
  "progress": 0,
  "created_at": 1768380222
}

Ответ

id
string
Уникальный идентификатор задачи
object
string
Тип объекта, всегда generation.task
status
string
Статус задачи
  • queued - Отправлена, ожидает обработки
  • in_progress - Обрабатывается
  • completed - Успешно завершено
  • failed - Ошибка
progress
integer
Прогресс задачи в процентах (0-100)
model
string
Используемая модель генерации видео
created_at
integer
Время создания задачи (Unix timestamp)
completed_at
integer
Время завершения задачи (Unix timestamp, возвращается только при завершении)
estimated_time
integer
Ожидаемое время завершения (секунды)
result
object
Результат задачи (возвращается только при успехе)
expires_at
integer
Время истечения URL видео (Unix timestamp)
error
object
Информация об ошибке (только при неудаче)

Справка по статусам задач

СтатусОписаниеФинальныйРекомендуемое действие
queuedЗадача отправлена, ожидает в очередиПодождите 5-10 секунд и повторите запрос
in_progressЗадача обрабатываетсяПодождите 10-15 секунд и повторите запрос
completedЗадача успешно завершенаПолучите видео из result.data[0].url
failedОбработка задачи не удаласьПроверьте информацию об ошибке

Стратегия опроса

Начальное ожидание: 5 секунд
Интервал опроса: 10 секунд
Максимальное ожидание: 600 секунд (10 минут)
Типичное время: 1-5 минут

Пример опроса на Python

import time
import requests

def poll_video_task(task_id, api_key, max_wait=600):
    """Опрос задачи генерации видео до завершения или таймаута"""
    start_time = time.time()
    interval = 10  # Интервал 10 секунд
    
    # Начальное ожидание 5 секунд
    time.sleep(5)
    
    while time.time() - start_time < max_wait:
        response = requests.get(
            f'https://toapis.com/v1/videos/generations/{task_id}',
            headers={'Authorization': f'Bearer {api_key}'}
        )
        data = response.json()
        
        print(f"Статус: {data['status']}, Прогресс: {data.get('progress', 0)}%")
        
        if data['status'] == 'completed':
            return {
                'url': data['result']['data'][0]['url'],
                'format': data['result']['data'][0].get('format'),
                'expires_at': data.get('expires_at')
            }
        elif data['status'] == 'failed':
            raise Exception(f"Генерация не удалась: {data['error']['message']}")
        
        time.sleep(interval)
    
    raise TimeoutError("Таймаут задачи")

Срок действия ресурсов

URL сгенерированных видео действительны 24 часа
  • Загрузите и сохраните видео в течение срока действия
  • Поле expires_at указывает время истечения видео (Unix timestamp)
  • После истечения срока видео недоступны; для повторного получения отправьте новую задачу
  • Превью истекает одновременно с видео

Коды ошибок

HTTP кодТип ошибкиОписание
400invalid_requestНеверные параметры запроса
401unauthorizedОшибка аутентификации, проверьте API Key
402insufficient_quotaНедостаточно средств
404task_not_foundЗадача не найдена
422content_policy_violationНарушение политики контента
429rate_limit_exceededПревышен лимит запросов
500internal_errorВнутренняя ошибка сервера

Советы по производительности

Генерация видео занимает больше времени, рекомендации:
  1. Используйте Webhook-обратные вызовы: Если поддерживается, настройте URL обратного вызова, чтобы избежать частых опросов
  2. Установите разумный интервал опроса: Рекомендуется 10 секунд, слишком частые запросы тратят квоту
  3. Установите таймаут: Длинные видео могут занимать 5-10 минут, установите разумный таймаут
  4. Загружайте своевременно: Видео истекают через 24 часа, обязательно сохраните в своё хранилище немедленно