Skip to main content
POST
生成视频
使用 multipart/form-data 提交 reference_videoreference_video_urlreference_imagereference_image_url 中的至少一个字段,即可选择参考素材(omni-reference)模式。 本模式与文本生成首帧生成首尾帧生成参考素材生成使用 Viggle-Animate共用 POST /v1/videos。模式由输入字段决定,没有单独的 sourcemode 参数。

快速入门:参考素材生成视频

使用 cURL、Node 或 Python 上传参考视频并获取生成结果。
四个参考字段全部省略时不会报错,而是回退到文本生成视频。请确认请求至少包含一个参考字段;无法通过单独的 source/mode 参数强制选择本模式。
生成的视频均由经 Viggle 优化的 MiniMax H3 生成,自带原生音频,无需额外音频开关。费用为向上取整后的 duration_s 乘以单价;lowhigh 均为 $0.01/秒(1 积分/秒),1 积分 = $0.01。相同时长下,纯文本、图片和参考素材模式费用相同,resolutionaspect_ratio 不影响价格。详见计费与保留期限

请求参数

使用 multipart/form-data

参考视频与参考图片

同一次请求可提供参考视频、参考图片,或二者一起提供。至少提供一张图片时,可省略视频;反之亦然。
  • 参考视频reference_video / reference_video_url):为兼容未来扩展,两者声明为数组,但当前合计最多接受 1 个视频。无论两个文件、两个 URL,还是文件加 URL,超出一个均返回 400 INVALID_REQUEST:“at most 1 reference video(s) allowed”。视频长度为 0.5–600 秒,分辨率至少 64×64,且宽高为偶数。该长度限制针对参考视频;duration_s 控制生成视频的时长。
  • 参考图片reference_image / reference_image_url):两种形式均可重复、可混用,合计最多 4 张。超限返回 400 INVALID_REQUEST:“at most 4 reference images are allowed”。
参考字段不能与 first_frame_image/last_frame_image(文件或 URL)混用,否则返回 400 INVALID_REQUEST:“reference_video/reference_image cannot be combined with first_frame_image/last_frame_image”。

响应参数

返回 200 OK,表示请求已受理,并非最终结果。
创建响应不包含 stagevideo_urlalpha_urlcompleted_aterror。处理过程中或完成后的完整结构见获取视频

示例

@viggle/sdk

下一步

使用返回的 id 调用获取视频,轮询生成结果。

快速入门

查看完整的创建、轮询与结果获取流程。

授权

Authorization
string
header
必填

服务端 SDK 使用项目 API 密钥,Remote MCP 使用 OAuth 访问令牌。不要在浏览器代码中暴露项目密钥。

请求头

X-Request-Id
string

可选的调用者自定义关联 ID,最长 128 字符。服务会在响应头返回实际使用的值,便于追踪和支持排查。

Required string length: 1 - 128
X-Viggle-Source
string

可选来源标签,最长 128 字符,用于识别 SDK、集成、产品入口或内部工作流。

Required string length: 1 - 128

请求体

multipart/form-data

POST /v1/videos 根据输入选择模式:无帧、参考或角色动画字段时为文本生成;只有首帧时为首帧生成;首尾帧同时提供时为首尾帧生成;任一 reference_video/reference_video_url/reference_image/reference_image_url 字段选择参考素材模式;driving_video_url 或角色图片字段选择独立的 Viggle-Animate。默认使用 multipart,角色动画也支持 JSON。每个帧位置的文件与 URL 互斥,尾帧必须配合首帧,否则返回 400 INVALID_REQUEST。参考模式没有单独的 source/mode 参数,遗漏所有参考字段会回退到文本生成。参考视频的文件与 URL 合计最多 1 个,参考图片合计最多 4 张;超限或与首尾帧混用均返回 400 INVALID_REQUEST。参考视频长 0.5–600 秒,至少 64×64,宽高均为偶数,duration_s 控制生成视频而非参考视频长度。角色动画至少需要一张角色图片,character_image_url 与 character_image_urls 互斥;无驱动视频最多 4 张,有驱动视频仅 1 张。驱动视频可选,只能一个 URL,时长为 5–10 秒(含边界),至少 64×64,宽高为偶数。角色动画不能与 quality 或帧、参考字段混用,不支持 duration_s、resolution、aspect_ratio、seed,prompt 可选。H3 按 duration_s 向上取整后每秒 1 积分($0.01)计费,low/high 同价,分辨率、宽高比及图片或视频条件不影响价格。角色动画每次固定 11 积分。H3 视频自带原生音频,无需额外开关。完整字段及错误信息见各模式的接口正文。

prompt
string

H3 模式必填且非空;Viggle-Animate 模式可选,不强制非空。

Minimum string length: 1
示例:

"A paper airplane gliding through a sunlit office"

quality
enum<string>

H3 模式必填:low 生成更快,high 保真度更高,两者均为 $0.01/秒。不可与角色动画字段混用。

可用选项:
low,
high
示例:

"low"

first_frame_image
file

直接上传的首帧图片,与 first_frame_image_url 二选一。

first_frame_image_url
string<uri>

可公开访问的首帧图片 URL。服务会下载并重新托管,与 first_frame_image 二选一。

last_frame_image
file

直接上传的尾帧图片,与 last_frame_image_url 二选一。必须同时提供首帧。

last_frame_image_url
string<uri>

可公开访问的尾帧图片 URL。服务会下载并重新托管,与 last_frame_image 二选一。必须同时提供首帧。

reference_video
file[]

直接上传的参考视频。为兼容未来扩展,字段声明为可重复,但当前与 reference_video_url 合计最多 1 个视频。提供参考图片时可省略。

Maximum array length: 1
reference_video_url
string<uri>[]

可公开访问的参考视频 URL,服务会下载并重新托管。字段声明为可重复,但当前与文件形式合计最多 1 个视频。

Maximum array length: 1
reference_image
file[]

直接上传的参考图片,可重复,也可与 reference_image_url 混用,两种形式合计最多 4 张。

Maximum array length: 4
reference_image_url
string<uri>[]

可公开访问的参考图片 URL,服务会下载并重新托管。可重复,也可与文件形式混用,合计最多 4 张。

Maximum array length: 4
driving_video_url
string<uri>

驱动视频 URL,其动作将应用到角色图片。支持 https:// 或内部 gs://,仅可提供一个值。视频须为 5–10 秒(含边界)、至少 64×64 像素,且宽高均为偶数。

character_image_url
string<uri>[]

角色参考图片 URL,可重复。与 character_image_urls 互斥。

character_image_urls
string<uri>[]

character_image_url 等效,但将多个值放入一个字段。multipart 中使用 JSON 字符串数组,JSON 请求体中使用原生数组。与 character_image_url 互斥。

priority
integer
默认值:1000

与 H3 模式共用的准入队列优先级。必须使用服务端支持的档位(当前为 10000),否则返回 400 INVALID_REQUEST:"unsupported priority"。通常无需设置。

duration_s
number
默认值:5

生成时长,单位为秒,范围 3–15。计费时向上取整。

必填范围: 3 <= x <= 15
resolution
enum<string>
默认值:768p

480p768p1080p,不影响价格。

可用选项:
480p,
768p,
1080p
aspect_ratio
enum<string>
默认值:16:9

16:99:161:14:33:421:9,不影响价格。

可用选项:
16:9,
9:16,
1:1,
4:3,
3:4,
21:9
seed
integer

大于或等于 0;省略时使用随机种子。

必填范围: x >= 0
watermark
boolean
默认值:false

是否将 Viggle 水印嵌入视频,与其他模式的用法一致。

响应

请求成功。

POST /v1/videos 五种模式共用的受理响应,只表示排队成功,并非最终结果。轮询 GET /v1/videos/{video_id},直至 ready 后读取 video_url;也可通过视频列表查看任务状态。

id
string
必填

视频公开 ID:H3 为 vid_ 前缀,角色动画为 anim_ 前缀。

Minimum string length: 1
status
enum<string>
必填

受理时固定为 queued

可用选项:
queued,
processing,
ready,
failed,
cancelled
progress
integer | null
必填

受理时固定为 null

必填范围: 0 <= x <= 100
created_at
string<date-time> | null
必填

ISO 8601 创建时间,精确到秒。