Skip to content

视频生成

MoonApiX 视频接口用于创建文生视频、图生视频和带素材引用的视频任务。视频任务通常需要异步处理:提交任务后先得到 task_id,再通过任务查询接口或回调获取最终结果。

基本流程

  1. 选择视频模型,并确认模型支持的比例、时长和输入方式。
  2. 如需使用图片或视频素材,优先直接传你自己的公网 URL;只有希望使用 MoonApiX 托管素材,或目标模型明确需要素材 ID 时,才调用素材接口。
  3. 调用 POST /v1/videos 创建任务。
  4. 保存响应中的 id,通过 GET /v1/tasks/{task_id} 查询状态。
  5. 任务成功后读取 output[].urloutput.urlurlvideo_urlresult_urlmetadata.url,并在业务系统中保存结果。

输入素材边界

MoonApiX 不会因为你选择某个视频模型,就自动帮你创建托管 URL 或素材 ID。素材入口是显式能力:

输入方式适合场景是否先调用素材接口
客户自己的公网 URL文件已经有稳定可访问地址,或只在一次任务中使用。不需要。直接在视频请求中传 URL。
二进制文件生成接口本身支持 multipart/binary 输入。不需要走 /v1/assets/uploads,按对应生成接口要求直接提交文件。
MoonApiX 托管 URL希望由 MoonApiX 托管 URL,或外部 URL 不稳定。需要显式调用 /v1/assets/uploads,优先使用 mode=oss
Asset://asset_xxx 素材引用目标模型要求先创建素材 ID,且该模型支持素材引用。需要显式调用 /v1/assets/uploads,优先使用 mode=asset

只有同时需要 MoonApiX 托管 URL 和 Asset://asset_xxx 模型素材引用时,才使用 mode=bothmode=both 会带来两类准备状态和两类计费,不建议作为默认选择。

POST /v1/videos 是统一任务入口,不等于所有视频模型都支持同一套素材字段。已覆盖 MoonApiX 通用素材写法的模型,新接入复杂素材推荐用 references[] + media_type + role + url + aliasimages[] / videos[] / audios[]content[] 继续作为兼容写法。

Seedance-2 素材策略

分组速查表

分组代表模型公网 URLMoonApiX 托管 URLAsset:// 素材引用使用建议
seedance-2.0-kz 系列seedance-2.0-kz-fastseedance-2.0-kz推荐支持支持想用首尾帧、多模态参考、素材复用时优先选这组。
seedance-2.0-cl 系列seedance-2.0-cl-fastseedance-2.0-clseedance-2.0-cl-mini推荐支持支持标准兼容线路,支持按 CL 模型线创建和使用图片、视频素材引用;seedance-2.0-cl-mini 支持 480P / 720P、4 - 15 秒;视频参考建议先创建本模型线 Asset:// 后再生成。
seedance-2.0-ld 系列seedance-2.0-ld-17推荐支持不作为主路径适合按次生成、文生视频、多视觉参考和轻量音频参考。
seedance-2.0-dj 系列seedance-2.0-dj-fast推荐支持不作为主路径适合 720P 按秒、文生视频、图生视频和最多 10 张图片参考;不支持视频参考和独立音频。
seedance-2.0-wc 系列seedance-2.0-wc-720p推荐支持不作为当前输入路径适合 720P 按次、多图片、多视频、多音频组合;推荐把公网 URL 写入 references[]prompt 最多 1000 个字符。
seedance-2.0-meseedance-2.0-me推荐支持不建议作为主路径适合 720P / 1080P、首帧、参考图和参考图绑定音频;不支持视频参考、尾帧和独立音频。
HappyHorse / Wanhappyhorse-1.0wan2.7推荐支持以模型支持为准happyhorse-1.0 支持文生视频、首帧和参考图;wan2.7 额外支持尾帧和参考视频。

哪些组最适合素材复用

  • seedance-2.0-kz 系列最适合直接写进“素材引用 + 多模态参考”的工作流。
  • seedance-2.0-cl 系列支持直接传公网 URL,也支持通过素材接口创建本模型线可用的 Asset://asset_xxx;图片可以直接传稳定公网 URL,视频参考建议先创建 type=videorole=reference_video 的素材引用后再传给 video_urlseedance-2.0-cl-mini 使用相同参数体系,当前支持 480p / 720p
  • seedance-2.0-dj 系列使用 references[] 传图片参考,最多 10 张,时长只传 51015 秒。
  • seedance-2.0-wc 系列使用 references[] 传图片、视频和音频参考,最多 9 图 + 3 视频 + 3 音频,复杂组合建议使用公网 URL;本地文件可先通过 mode=oss 获取 MoonApiX 托管 URL;prompt 最多 1000 个字符。
  • seedance-2.0-me 适合直接传公网 URL 或 MoonApiX 托管 URL;新接入优先使用 images[] 表达首帧或参考图,不支持 videos[]。参考图绑定音频使用 content[] 参考图条目上的 reference_voice
  • happyhorse-1.0 和 wan2.7 使用通用视频入口;happyhorse-1.0 不支持尾帧和参考视频,wan2.7 支持尾帧和参考视频,但不支持独立音频。

创建任务

bash
curl https://moonapix.com/v1/videos \
  -H "Authorization: Bearer <MOONAPIX_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0-kz-fast",
    "prompt": "A cinematic close-up of a glass perfume bottle on a reflective table.",
    "duration": 5,
    "aspect_ratio": "16:9",
    "callback_url": "https://example.com/moonapix/webhook"
  }'

常用参数:

字段类型说明
modelstring视频模型名。
promptstring视频描述。建议包含主体、场景、镜头、动作和风格。
image / image_urlstring可选。单张源图片 URL;模型支持时也可以是 Asset://asset_xxx
referencesarray可选。新接入复杂素材的推荐数组,条目包含 media_typeroleurl 和可选 alias
imagesarray可选。按图片类型拆分的兼容数组,可放多张图片 URL 或素材引用。
reference_image_url / reference_image_urlsstring / array可选。参考图 URL 或素材引用。
first_frame_url / last_frame_urlstring可选。首帧图和尾帧图。
video / video_urlstring可选。参考视频或待延展视频 URL。
reference_video_url / reference_video_urlsstring / array可选。参考视频 URL 或素材引用。
audio / audio_urlstring可选。参考音频 URL 或素材引用。
contentarray可选。多媒体内容数组,支持图片、视频、音频和文本条目;以对应模型页说明为准。
durationinteger可选。视频时长,具体取值以模型支持范围为准。
secondsstring可选。兼容字段,表示视频时长。
aspect_ratio / ratiostring可选。视频比例,例如 16:99:161:1
resolutionstring可选。分辨率,例如 480p720p1080p
video_configobject可选。兼容格式,常见字段为 aspect_ratioresolution_name
generate_audioboolean可选。模型支持时生成或保留音频。
metadataobject可选。扩展参数;可放入模型支持的 contentdurationresolution 等字段。
callback_urlstring可选。任务完成后接收回调的 HTTPS 地址。

图生视频

图生视频需要传入 imageimage_urlreference_image_urlreference_image_urlsimagescontent[] 中的图片条目。如果图片已有公网 URL,可以直接传 URL。只有图片会被多次复用、URL 不稳定,或目标模型明确要求素材 ID 时,才先通过素材接口上传。

json
{
  "model": "seedance-2.0-kz-fast",
  "prompt": "Animate the product with a slow rotating camera and soft studio light.",
  "image": "https://example.com/product.png",
  "duration": 5,
  "aspect_ratio": "1:1"
}

首尾帧和多媒体内容

对支持首尾帧的模型,可以直接使用 first_frame_url / last_frame_url,也可以在 references[]images[]content[] 中用 role 标记。未明确支持尾帧的模型不要传 last_frame_url

json
{
  "model": "seedance-2.0-ld-17",
  "prompt": "从第一张图自然过渡到第二张图,保持主体一致。",
  "duration": 5,
  "images": [
    {
      "url": "https://example.com/first-frame.jpg",
      "role": "first_frame"
    },
    {
      "url": "https://example.com/last-frame.jpg",
      "role": "last_frame"
    }
  ],
  "ratio": "16:9"
}

已覆盖通用素材写法或兼容 content[] 的模型,可以用多媒体内容组合图片、视频和音频参考。新接入优先看对应模型页是否推荐 references[]

json
{
  "model": "seedance-2.0-kz",
  "prompt": "保留参考图中的人物外观,生成一段舞台演唱视频。",
  "duration": 5,
  "ratio": "16:9",
  "resolution": "720p",
  "generate_audio": true,
  "content": [
    {
      "type": "image_url",
      "image_url": {
        "url": "Asset://asset_image_xxx"
      },
      "role": "reference_image"
    },
    {
      "type": "audio_url",
      "audio_url": {
        "url": "Asset://asset_audio_xxx"
      },
      "role": "reference_audio"
    }
  ]
}

使用 MoonApiX 托管素材时:

json
{
  "model": "seedance-2.0-kz",
  "prompt": "Animate the product with a slow rotating camera and soft studio light.",
  "image": "Asset://asset_xxx",
  "duration": 5,
  "aspect_ratio": "1:1"
}

视频参考素材

如果模型支持参考视频,可以直接传稳定公网视频 URL。对于 seedance-2.0-cl / seedance-2.0-cl-fast / seedance-2.0-cl-mini 这类支持素材引用的模型,建议先把参考视频创建为本模型线可用的 Asset://asset_xxx,再在生成请求中传给 video_urlreference_video_url。图片参考不强制创建素材 ID,稳定公网 URL 可以直接传给 image_url

创建视频素材引用:

bash
curl https://moonapix.com/v1/assets/uploads \
  -H "Authorization: Bearer <MOONAPIX_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0-cl",
    "mode": "asset",
    "type": "video",
    "purpose": "reference_video",
    "role": "reference_video",
    "url": "https://example.com/reference.mp4"
  }'

使用视频素材和图片 URL 创建任务:

json
{
  "model": "seedance-2.0-cl",
  "prompt": "将视频中人物上衣替换为参考图片上的图案,保持原视频动作和镜头节奏。",
  "video_url": "Asset://asset_video_xxx",
  "image_url": "https://example.com/reference-shirt.png",
  "duration": 5
}

查询任务

bash
curl https://moonapix.com/v1/tasks/task_01HX... \
  -H "Authorization: Bearer <MOONAPIX_API_KEY>"

任务状态:

状态说明
pending系统准备中。
submitted已提交,等待处理。
running正在生成。
succeeded已完成,可读取结果 URL。
failed任务失败,查看 error 字段。
cancelled任务已取消。

取消任务

未完成的视频任务可以调用取消接口。取消成功后,MoonApiX 会先将任务标记为取消并退还预扣额度;如果当前模型支持停止正在执行的生成,MoonApiX 会额外尝试停止正在生成的任务。

bash
curl -X POST https://moonapix.com/v1/videos/task_01HX.../cancel \
  -H "Authorization: Bearer <MOONAPIX_API_KEY>"

取消响应示例:

json
{
  "id": "task_01HX...",
  "object": "video",
  "status": "cancelled",
  "cancelled": true,
  "refund_requested": true,
  "remote_cancel": {
    "attempted": true,
    "supported": false,
    "succeeded": false,
    "error": ""
  },
  "trace_id": "2026060301010100000000000000000000",
  "request_id": "2026060301010100000000000000000000",
  "task_chain": [
    {
      "step": "cancel",
      "status": "succeeded"
    },
    {
      "step": "billing",
      "status": "refunded"
    }
  ]
}

说明:

  • 已成功任务不能取消。
  • 已失败任务再次取消不会重复退款。
  • remote_cancel.supported=false 表示当前模型不支持或尚未确认支持停止进行中的生成;这不影响 MoonApiX 侧取消和退款。
  • 删除已生成视频或删除结果资产,不等同于取消进行中的生成任务。

查询响应中可能包含这些排障字段:

字段说明
trace_id / request_idMoonApiX 本次请求链路 ID。联系 MoonApiX 排障时请提供。
task_chain任务链摘要,常见步骤包括生成状态、结果地址处理状态和素材准备状态。

结果 URL 策略会体现在 task_chain[].result_url_policy。如果结果地址可直接访问,MoonApiX 可能直接返回该地址;如果结果需要鉴权或代理,MoonApiX 会返回托管地址或内容代理地址。

Prompt 建议

  • 用一句话说明主体和动作,例如“香水瓶缓慢旋转,镜头从左向右推进”。
  • 明确画幅和用途,例如“竖屏短视频广告”或“横屏产品展示”。
  • 如果使用参考图,prompt 中说明希望保留的主体、材质、颜色和构图。
  • 避免一次要求过多镜头切换,短视频更适合单一清晰动作。

更多参数和响应结构见 API Reference