Быстрое начало работы с Hunyuan Video Fast API

Быстрое начало работы с Hunyuan Video Fast API

Hunyuan Video Fast доступен на Novita AI по адресу POST https://api.novita.ai/v3/async/hunyuan-video-fast. Это оптимизированная по скорости версия открытой foundation-модели Hunyuan Video от Tencent — она сокращает время генерации по сравнению со стандартной версией за счет некоторой точности движения, что делает ее практичной для высокопроизводительных конвейеров, итерации промптов и промежуточных рабочих процессов, где скорость выполнения важнее максимального кинематографического качества.

Как и все асинхронные видео API Novita, он возвращает task_id при отправке и предоставляет URL видео после завершения задачи. Это руководство охватывает конечную точку, формат запроса, рабочие примеры на Python и cURL, а также то, где быстрая версия подходит по сравнению со стандартной моделью.

Когда использовать Hunyuan Video Fast vs Standard

Быстрая версия — правильный выбор, когда скорость генерации и объем запросов важнее пикового визуального качества. Стандартный Hunyuan Video обеспечивает более точное движение и лучшее следование промпту за генерацию. Быстрая версия значительно сокращает это время — полезна для:

  • Итерации промптов — недорогое тестирование множества вариаций перед финальным рендером полного качества
  • Высокопроизводительных конвейеров — пакетная генерация контента, где задержка на клип напрямую влияет на пропускную способность
  • Промежуточных и внутренних ревью — быстро получить результат для обмена, затем переключиться на стандартную версию для финальной доставки
  • Приложений с низкой задержкой — производственные рабочие процессы с жесткими ограничениями по времени отклика

Если качество вывода является основным ограничением — вещание, финальная доставка или фотореалистичное движение — используйте вместо этого стандартную конечную точку Hunyuan Video.

Шаг 1: Получите ваш API-ключ Novita AI

Зарегистрируйтесь на novita.ai и сгенерируйте API-ключ на странице управления ключами. Новые аккаунты получают бесплатные кредиты. Храните ключ как переменную окружения — никогда не указывайте его жестко в исходных файлах.

export NOVITA_API_KEY="your_api_key_here"

Шаг 2: Конечная точка и ID модели

Поле Значение
Конечная точка отправки POST https://api.novita.ai/v3/async/hunyuan-video-fast
Получение результата GET https://api.novita.ai/v3/async/task-result?task_id=<id>
Заголовок авторизации Authorization: Bearer $NOVITA_API_KEY
Content-Type application/json

Официальная справка по API: novita.ai/docs/api-reference/model-apis-hunyuan-video-fast

Шаг 3: Отправьте ваш первый запрос

Отправьте запрос на генерацию с вашим промптом и настройками вывода:

curl -s -X POST https://api.novita.ai/v3/async/hunyuan-video-fast \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox running through a snowy forest at dawn, slow motion, cinematic wide shot",
    "negative_prompt": "blurry, low quality, distorted, watermark",
    "width": 1280,
    "height": 720,
    "seed": -1
  }'

API немедленно возвращает task_id:

{
  "task_id": "hunyuan-fast-abc123"
}

Видео в этом ответе нет — сохраните task_id и используйте его на следующем шаге.

Шаг 4: Опрашивайте результат видео

curl -s "https://api.novita.ai/v3/async/task-result?task_id=hunyuan-fast-abc123" \
  -H "Authorization: Bearer $NOVITA_API_KEY"

Продолжайте опрос, пока task_status не станет TASK_STATUS_SUCCEED:

{
  "task_status": "TASK_STATUS_SUCCEED",
  "videos": [
    {
      "video_url": "https://cdn.novitai.com/output/...",
      "video_url_ttl": 3600,
      "video_type": "mp4"
    }
  ]
}

Загрузите или сохраните video_url сразу — срок его действия истекает через video_url_ttl секунд.

Значения статуса задачи

Статус Значение
TASK_STATUS_QUEUED Запрос принят, ожидает выполнения
TASK_STATUS_PROCESSING Генерация выполняется
TASK_STATUS_SUCCEED Завершено — URL видео доступен в videos[0].video_url
TASK_STATUS_FAILED Генерация не удалась — проверьте ответ на наличие причины сбоя

Пример на Python

import os
import time
import requests

API_KEY = os.environ["NOVITA_API_KEY"]
BASE_URL = "https://api.novita.ai"
HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}


def submit_video(
    prompt: str,
    negative_prompt: str = "",
    width: int = 1280,
    height: int = 720,
    seed: int = -1,
) -> str:
    payload = {
        "prompt": prompt,
        "negative_prompt": negative_prompt,
        "width": width,
        "height": height,
        "seed": seed,
    }
    resp = requests.post(
        f"{BASE_URL}/v3/async/hunyuan-video-fast",
        headers=HEADERS,
        json=payload,
    )
    resp.raise_for_status()
    return resp.json()["task_id"]


def poll_result(task_id: str, interval: int = 5, timeout: int = 300) -> dict:
    deadline = time.time() + timeout
    while time.time() < deadline:
        resp = requests.get(
            f"{BASE_URL}/v3/async/task-result",
            headers=HEADERS,
            params={"task_id": task_id},
        )
        resp.raise_for_status()
        data = resp.json()
        status = data.get("task_status", "")
        if status == "TASK_STATUS_SUCCEED":
            return data
        if status == "TASK_STATUS_FAILED":
            raise RuntimeError(f"Task failed: {data}")
        time.sleep(interval)
    raise TimeoutError(f"Task {task_id} did not complete within {timeout}s")


if __name__ == "__main__":
    task_id = submit_video(
        prompt="A red fox running through a snowy forest at dawn, slow motion, cinematic wide shot",
        negative_prompt="blurry, low quality, distorted, watermark",
        width=1280,
        height=720,
    )
    print(f"Task submitted: {task_id}")

    result = poll_result(task_id)
    for video in result.get("videos", []):
        print(f"Video URL (expires in {video['video_url_ttl']}s): {video['video_url']}")

Пример на cURL

# Step 1: Submit the generation request
TASK_ID=$(curl -s -X POST https://api.novita.ai/v3/async/hunyuan-video-fast \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A timelapse of a city skyline transitioning from dusk to night, cinematic",
    "negative_prompt": "blurry, low quality, distorted",
    "width": 1280,
    "height": 720,
    "seed": 42
  }' | jq -r '.task_id')

echo "Task ID: $TASK_ID"

# Step 2: Poll until complete
while true; do
  RESULT=$(curl -s "https://api.novita.ai/v3/async/task-result?task_id=$TASK_ID" \
    -H "Authorization: Bearer $NOVITA_API_KEY")
  STATUS=$(echo "$RESULT" | jq -r '.task_status')
  if [ "$STATUS" = "TASK_STATUS_SUCCEED" ]; then
    echo "$RESULT" | jq -r '.videos[0].video_url'
    break
  elif [ "$STATUS" = "TASK_STATUS_FAILED" ]; then
    echo "Failed: $RESULT"
    break
  fi
  echo "Status: $STATUS — waiting..."
  sleep 5
done

Ключевые параметры

Параметр Тип Обязательный Описание
prompt строка Да Текстовое описание сцены видео, объекта, движения и стиля
negative_prompt строка Нет Элементы, которых следует избегать в выводе (например, “blurry, low quality”)
width целое число Нет Ширина вывода в пикселях — проверьте документацию API для поддерживаемых значений
height целое число Нет Высота вывода в пикселях — используется вместе с width для задания разрешения
seed целое число Нет Установите фиксированное целое число для воспроизведения того же вывода; -1 для случайного

Полный список параметров, включая опции длительности, максимальные ограничения разрешения и любые специфические для модели поля, см. в справочнике API Hunyuan Video Fast.

Цены и лимиты

Проверьте актуальные цены за видео на странице моделей Novita AI. Цены на генерацию видео обычно устанавливаются за клип и варьируются в зависимости от разрешения и длительности. Перед построением модели затрат для производственных нагрузок проверьте страницу с ценами.

Подтвердите следующие лимиты в официальной документации перед развертыванием:

  • Максимальная длина символов в промпте
  • Поддерживаемые значения разрешения (комбинации ширина × высота)
  • Максимальная длительность видео в секундах
  • Лимиты скорости и ограничения на одновременные задачи на один API-ключ

Быстрая версия обычно стоит дешевле за клип, чем стандартная модель, из-за сокращенного времени вычислений — проверьте текущую разницу на странице цен Novita.

Устранение неполадок

401 Unauthorized — API-ключ отсутствует, недействителен или истек. Убедитесь, что NOVITA_API_KEY установлен и ключ активен в вашей панели управления Novita AI.

422 Unprocessable Entity — Отсутствует обязательный параметр или значение выходит за допустимые пределы. Убедитесь, что prompt не пуст, а значения width/height входят в поддерживаемый набор из документации API.

Задача остается в состоянии TASK_STATUS_PROCESSING — Генерация все еще выполняется. Быстрая версия завершается быстрее стандартной, но более высокое разрешение и большая длительность требуют больше времени. Увеличьте тайм-аут опроса для больших выводов.

video_url возвращает 403 или 404 — Срок действия URL истек (video_url_ttl прошел). В производстве загружайте или передавайте видео сразу после TASK_STATUS_SUCCEED — не полагайтесь на хостинг URL как на постоянное хранилище.

Постоянные проблемы с качеством для определенных типов промптов — Переключитесь на подход уточнения промпта: описывайте объект, действие, ракурс камеры и стиль явно. Добавляйте записи negative_prompt для распространенных артефактов. Если качество по-прежнему недостаточно для вашего сценария, оцените стандартную конечную точку Hunyuan Video.

Часто задаваемые вопросы

Какова конечная точка Novita AI для Hunyuan Video Fast?

POST https://api.novita.ai/v3/async/hunyuan-video-fast. API асинхронный: отправьте запрос, получите task_id, затем опрашивайте GET https://api.novita.ai/v3/async/task-result?task_id=<id> до тех пор, пока task_status не станет TASK_STATUS_SUCCEED.

Чем отличается Hunyuan Video Fast от стандартного Hunyuan Video?

Быстрая версия оптимизирована для скорости генерации — она сокращает время от отправки задачи до завершения видео. Компромисс заключается в том, что точность движения и детальное следование промпту ниже, чем у стандартной модели. Используйте быструю версию для итерации промптов, высокопроизводительных пакетных задач или промежуточных этапов; используйте стандартную для финального качественного вывода.

Можно ли задать определенную длительность видео?

Проверьте справочник API на наличие поддерживаемых параметров длительности. Некоторые видео API Novita предоставляют явное поле duration; другие используют значение по умолчанию модели. Уточните перед тем, как полагаться на длину клипа по умолчанию.

Как воспроизвести определенный видео-вывод?

Установите seed в фиксированное целое число. Одинаковая комбинация seed, prompt, width и height должна давать согласованный вывод при разных запусках.

Поддерживает ли Hunyuan Video Fast преобразование изображения в видео?

Hunyuan Video Fast на Novita AI — это модель text-to-video. Для генерации image-to-video на Novita проверьте доступные модели I2V, такие как Kling, Vidu или Wan, на странице моделей Novita.

Сколько стоит Hunyuan Video Fast на Novita AI?

Проверьте актуальные цены на novita.ai/models. Цены за клип для видео-моделей могут меняться; всегда проверяйте страницу с ценами перед составлением производственных смет.

Подходит ли Hunyuan Video Fast для производственных видео-конвейеров?

Да, при соответствующей обработке. Проектируйте конвейер на основе асинхронной отправки задач, сохраняйте task_id для отслеживания статуса, загружайте видео сразу после завершения (до истечения video_url_ttl) и обрабатывайте TASK_STATUS_FAILED с помощью повторной попытки или стратегии отката.

Рекомендуемые статьи