Skip to content

视频生成教程

FoxAPI 支持 wan2.7 和 happyhorse 系列视频生成模型,支持文生视频、图生视频、参考生视频。

必填参数

  • 文生视频(t2v)promptresolutionratioduration 必填
  • 图生视频(i2v):以上 + media(含 first_frame必填
  • 参考生视频(r2v):以上 + media(含 reference_imagereference_video必填

不传 media 会报错 400 must not be blank

接口概览

功能接口方法
视频生成/v1/videos/generationsPOST
任务查询/v1/videos/generations/{task_id}?model=模型名GET

可用模型

模型功能720P/秒1080P/秒折扣
wan2.7-t2v文生视频¥0.39¥0.656.5折
wan2.7-i2v图生视频¥0.39¥0.656.5折
wan2.7-r2v参考生视频¥0.39¥0.656.5折
happyhorse-1.1-t2v文生视频¥0.72¥1.288折
happyhorse-1.1-i2v图生视频¥0.72¥1.288折
happyhorse-1.1-r2v参考生视频¥0.72¥1.288折
happyhorse-1.0-t2v文生视频¥0.72¥1.288折
happyhorse-1.0-i2v图生视频¥0.72¥1.288折
happyhorse-1.0-r2v参考生视频¥0.72¥1.288折

参数说明

通用参数

参数类型必填说明
modelstring模型名称,如 wan2.7-t2v
promptstring视频描述文本
resolutionstring分辨率:720P1080P
ratiostring宽高比:16:99:161:14:33:4
durationinteger时长(秒):3-15,默认5
negative_promptstring反向提示词,排除不想要的内容
audio_urlstring音频文件URL,用于音频驱动视频
prompt_extendboolean是否自动扩展提示词,默认 true
watermarkboolean是否添加水印,默认 true
mediaarray见说明媒体列表,i2v/r2v 模型必填

media 参数

参数类型适用模型说明
typestring所有媒体类型(见下表)
urlstring所有媒体文件URL
reference_voicestringr2v参考音色URL(配合 reference_video 使用)

media.type 可选值:

type适用模型说明
first_framei2v首帧图片(图生视频必须)
last_framei2v尾帧图片(可选,用于首尾帧生成)
first_clipi2v输入视频片段(用于视频续写)
driving_audioi2v驱动音频(用于音频驱动)
reference_imager2v参考图片(r2v 至少需要一个)
reference_videor2v参考视频(可选,配合 reference_voice 使用)

文生视频(t2v)

根据文本描述生成视频,支持多镜头叙事、音频驱动、反向提示词等。

curl 示例

bash
curl -X POST https://foxapi.chat/v1/videos/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-你的Key" \
  -d '{
    "model": "wan2.7-t2v",
    "prompt": "一只小猫在月光下奔跑,毛发随风飘动,背景是星空和城市夜景",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 5
  }'

带反向提示词

json
{
    "model": "wan2.7-t2v",
    "prompt": "一只可爱的小狗在草地上奔跑",
    "negative_prompt": "模糊,低质量,变形,多余肢体",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 10
}

多镜头叙事

json
{
    "model": "wan2.7-t2v",
    "prompt": "一段紧张刺激的侦探追查故事。第1个镜头[0-3秒] 全景:雨夜的纽约街头,霓虹灯闪烁。第2个镜头[3-6秒] 中景:侦探进入一栋老旧建筑。第3个镜头[6-9秒] 特写:侦探的眼神坚毅专注。",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 10,
    "prompt_extend": true
}

音频驱动

json
{
    "model": "wan2.7-t2v",
    "prompt": "一只卡通小猫将军,身穿金色盔甲,站在悬崖上",
    "audio_url": "https://example.com/audio/bgm.mp3",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 10
}

图生视频(i2v)

基于图片生成视频,必须传 media 参数

首帧生视频

bash
curl -X POST https://foxapi.chat/v1/videos/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-你的Key" \
  -d '{
    "model": "wan2.7-i2v",
    "prompt": "一只小猫从静止状态开始奔跑,毛发随风飘动",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 5,
    "media": [{"type": "first_frame", "url": "https://example.com/cat.jpg"}]
  }'

首尾帧生视频

json
{
    "model": "wan2.7-i2v",
    "prompt": "写实风格,一只小黑猫好奇地仰望天空,镜头从平视角度逐渐升高",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 10,
    "media": [
        {"type": "first_frame", "url": "https://example.com/cat-start.jpg"},
        {"type": "last_frame", "url": "https://example.com/cat-end.jpg"}
    ],
    "prompt_extend": false
}

视频续写

json
{
    "model": "wan2.7-i2v",
    "prompt": "一个女孩对镜自拍,结束后背着书包出门",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 10,
    "media": [{"type": "first_clip", "url": "https://example.com/selfie.mp4"}],
    "prompt_extend": true
}

音频驱动

json
{
    "model": "wan2.7-i2v",
    "prompt": "一个涂鸦艺术角色从墙上活过来,演唱英文rap",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 10,
    "media": [
        {"type": "first_frame", "url": "https://example.com/character.png"},
        {"type": "driving_audio", "url": "https://example.com/rap-beat.mp3"}
    ]
}

参考生视频(r2v)

根据参考图片/视频生成视频,必须传 media 参数,至少包含一个 reference_imagereference_video

单图参考

bash
curl -X POST https://foxapi.chat/v1/videos/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-你的Key" \
  -d '{
    "model": "wan2.7-r2v",
    "prompt": "参考图片中的角色在花园中漫步,3D卡通冒险电影风",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 10,
    "media": [
        {"type": "reference_image", "url": "https://example.com/ref.jpg"}
    ],
    "prompt_extend": false
  }'

多主体参考

json
{
    "model": "wan2.7-r2v",
    "prompt": "视频1抱着图3,在图4的椅子上弹奏乡村民谣。图1手中拿着图2,路过视频1",
    "resolution": "720P",
    "ratio": "16:9",
    "duration": 10,
    "media": [
        {"type": "reference_video", "url": "https://example.com/char1.mp4", "reference_voice": "https://example.com/voice1.mp3"},
        {"type": "reference_image", "url": "https://example.com/obj2.jpg"},
        {"type": "reference_image", "url": "https://example.com/obj3.jpg"},
        {"type": "reference_image", "url": "https://example.com/bg4.jpg"}
    ],
    "prompt_extend": false
}

查询任务状态

bash
curl -X GET "https://foxapi.chat/v1/videos/generations/{task_id}?model=wan2.7-t2v" \
  -H "Authorization: Bearer sk-你的Key"

响应(进行中)

json
{"success": true, "data": {"task_id": "xxx", "status": "running", "output_urls": []}}

响应(成功)

json
{"success": true, "data": {"task_id": "xxx", "status": "succeeded", "output_urls": ["https://...mp4"]}}

文件上传

图生视频、参考生视频需要先上传图片/视频获取URL。

单文件上传

bash
curl -X POST https://foxapi.chat/v1/uploads \
  -H "Authorization: Bearer sk-你的Key" \
  -F "file=@/path/to/image.jpg"

批量上传(最多5个)

bash
curl -X POST https://foxapi.chat/v1/uploads/batch \
  -H "Authorization: Bearer sk-你的Key" \
  -F "files=@/path/to/image1.jpg" \
  -F "files=@/path/to/image2.png"

响应

json
{"success": true, "data": {"url": "https://...jpg?Expires=...", "mime": "image/jpeg", "size": 102400}}

支持格式:图片(png/jpeg/webp/gif)、音频(mpeg/wav/mp3/aac/ogg/flac)、视频(mp4/webm/quicktime)

常见问题

Q: 视频生成需要多长时间?

通常需要1-5分钟,具体取决于视频长度和分辨率。

Q: 如何获取生成的视频?

通过查询任务状态接口获取 output_urls,里面包含视频下载链接。

Q: 支持音频驱动吗?

支持。在请求中添加 audio_url(t2v)或 media 中添加 driving_audio 类型(i2v)即可。

Q: 报错 "must not be blank" 是什么原因?

i2v 和 r2v 模型必须media 参数。不传会报 400 must not be blank。请参考上方对应模型的示例。

Q: r2v 和 i2v 有什么区别?

  • i2v(图生视频):用一张图作为视频的首帧,生成连续的视频画面
  • r2v(参考生视频):用图片/视频作为"参考",生成全新的视频内容,可以保留参考对象的外观特征

© 2026 FoxAPI. All rights reserved.