跳转到主要内容
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
}

Documentation Index

Fetch the complete documentation index at: https://docs.toapis.com/llms.txt

Use this file to discover all available pages before exploring further.

  • Запрос статуса выполнения и результатов асинхронной задачи генерации видео
  • Обновление статуса и отслеживание прогресса в реальном времени
  • Получение сгенерированных видео при завершении задачи
  • Поддержка многоязычности (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
Статус задачи
  • submitted - Отправлена, ожидает обработки
  • in_progress - Обрабатывается
  • completed - Успешно завершено
  • failed - Ошибка
progress
integer
Прогресс задачи в процентах (0-100)
model
string
Используемая модель генерации видео
created_at
integer
Время создания задачи (Unix timestamp)
completed_at
integer
Время завершения задачи (Unix timestamp, возвращается только при завершении)
estimated_time
integer
Ожидаемое время завершения (секунды)
url
string
URL сгенерированного видео (возвращается только при успехе)
thumbnail
string
URL превью видео (поддерживается некоторыми моделями)
duration
integer
Длительность видео (секунды)
size
string
Разрешение видео (например, 1920x1080)
expires_at
integer
Время истечения URL видео (Unix timestamp)
error
object
Информация об ошибке (только при неудаче)

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

СтатусОписаниеФинальныйРекомендуемое действие
submittedЗадача отправлена, ожидает в очередиПодождите 5-10 секунд и повторите запрос
in_progressЗадача обрабатываетсяПодождите 10-15 секунд и повторите запрос
completedЗадача успешно завершенаПолучите видео из поля 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['url'],
                'thumbnail': data.get('thumbnail'),
                'duration': data.get('duration')
            }
        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 часа, обязательно сохраните в своё хранилище немедленно