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 基础模型的加速优化变体——与标准版本相比,它缩短了生成时间,但牺牲了一定的运动保真度,因此适用于高吞吐量管道、提示迭代和暂存工作流,在这些场景中,周转速度比峰值电影质量更重要。

与所有 Novita 异步视频 API 一样,它在提交时返回一个 task_id,并在任务完成后提供视频 URL。本指南涵盖端点、请求格式、可用的 Python 和 cURL 示例,以及快速变体与标准模型的适用场景。

何时使用 Hunyuan Video Fast 与标准版

快速变体是在生成周转时间和请求量比峰值视觉质量更重要时的正确选择。标准 Hunyuan Video 每次生成能产生更高保真度的运动和更好的提示遵循度。快速变体则显著缩短了时间——适用于:

  • 提示迭代——在提交全质量渲染之前,低成本测试多种变体
  • 高吞吐量管道——批量内容生成,每个片段的延迟直接影响吞吐量
  • 暂存和内部审查——快速获得可分享的输出,然后切换到标准版进行最终交付
  • 低延迟应用——具有严格响应时间预算的生产工作流

如果输出质量是主要约束——广播、最终交付或逼真运动——请改用标准 Hunyuan Video 端点。

步骤 1:获取您的 Novita AI API 密钥

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_statusTASK_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 string 视频场景、主体、运动和风格的文本描述
negative_prompt string 输出中要避免的元素(例如“模糊、低质量”)
width integer 输出宽度(像素)——查看 API 文档 了解支持的值
height integer 输出高度(像素)——与 width 配对以设置分辨率
seed integer 设置固定整数以复现相同输出;-1 表示随机

有关完整参数列表,包括持续时间选项、最大分辨率限制以及任何模型特定字段,请参阅 Hunyuan Video Fast API 参考

定价和限制

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 端点。

常见问题

Hunyuan Video Fast 的 Novita AI 端点是什么?

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_statusTASK_STATUS_SUCCEED

Hunyuan Video Fast 与标准 Hunyuan Video 有何不同?

快速变体针对生成速度进行了优化——它减少了从任务提交到完成视频的时间。代价是运动保真度和细粒度提示遵循度低于标准模型。快速变体适用于提示迭代、高吞吐量批处理作业或暂存;标准版用于最终质量输出。

我可以设置特定的视频持续时间吗?

查看 API 参考 了解支持的持续时间参数。某些 Novita 视频 API 提供显式的 duration 字段;其他则使用模型默认值。在假设默认片段长度之前请先确认。

如何复现特定的视频输出?

seed 设置为固定整数。相同的 seedpromptwidthheight 组合应在多次运行中产生一致的输出。

Hunyuan Video Fast 支持图像转视频吗?

Novita AI 上的 Hunyuan Video Fast 是一个文本转视频模型。对于 Novita 上的图像转视频生成,请查看 Novita 模型页面 上可用的 I2V 模型,如 Kling、Vidu 或 Wan。

Hunyuan Video Fast 在 Novita AI 上的费用是多少?

novita.ai/models 验证当前定价。视频模型的每片段定价可能会变化;在构建生产成本估算之前,请务必查看定价页面。

Hunyuan Video Fast 适合生产视频管道吗?

是的,但需要适当的处理。围绕异步任务提交设计管道,存储 task_id 用于状态跟踪,完成后立即下载视频(在 video_url_ttl 过期之前),并处理 TASK_STATUS_FAILED 状态,采用重试或回退策略。

推荐文章