Быстрый старт с Hunyuan Video Fast API

Быстрый старт с Hunyuan Video Fast API

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

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

Когда использовать Hunyuan Video Fast вместо стандартной

Быстрая версия — правильный выбор, когда скорость генерации и объём запросов важнее пикового визуального качества. Стандартный 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

# Шаг 1: Отправьте запрос на генерацию
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"

# Шаг 2: Опрашивайте до завершения
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 string Да Текстовое описание сцены видео, объекта, движения и стиля
negative_prompt string Нет Элементы, которых следует избегать в выводе (например, “blurry, low quality”)
width integer Нет Ширина вывода в пикселях — проверьте документацию API для поддерживаемых значений
height integer Нет Высота вывода в пикселях — используется вместе с width для задания разрешения
seed integer Нет Установите фиксированное целое число для воспроизведения того же вывода; -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 как на постоянное хранилище.

Постоянные проблемы с качеством для определённых типов промптов — Переключитесь на подход уточнения prompt: явно описывайте объект, действие, угол камеры и стиль. Добавляйте записи в 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 — это модель текст-в-видео. Для генерации изображения-в-видео на 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 с помощью повторной попытки или стратегии отката.

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