8848AI 工具指南
视频 API · 提交 / 查询 / 下载
Seedance · Wan 3.0 · HappyHorse 1.1

8848视频模型API说明

使用主站 API 令牌提交视频生成任务,保存公开任务 ID,再查询进度并下载原厂视频。本文按当前网关接口说明接入,不要求客户端持有厂商密钥。

更新日期:2026-10-15 · 示例展示协议格式,实际模型权限、价格、上游限制和生成效果以当前服务为准。

1. 基础信息与调用流程

HTTP 根地址
https://api.884819.xyz
鉴权
Authorization: Bearer YOUR_API_KEY,使用平台 API 令牌;不是账号密码或厂商密钥。
统一创建
POST /v1/videos,本文示例使用 JSON。
统一查询
GET /v1/videos/{task_id},带所属用户的有效 API 令牌。
成品入口
GET /v1/videos/{task_id}/content,鉴权后通常 307 跳转至原厂临时地址。
执行方式
异步任务:提交返回任务信息,不返回视频文件;HTTP 200 或 queued 不代表已经生成成功。
  1. 核对令牌的模型、分组权限及余额,保存业务订单和唯一提交键。
  2. 按模型要求准备 JSON,请求一次 POST /v1/videos,立即保存返回的 id。
  3. 建议约每 5–10 秒查询同一任务,直到 completed 或失败;客户端等待到期不应自动重做任务。
  4. 完成后立即下载并转存至自己的存储,核查实际 MP4、时长、尺寸和音轨。

OpenAI 兼容 SDK 的 base_url 通常填写 https://api.884819.xyz/v1;SDK 是否暴露视频接口和厂商扩展字段取决于版本。若 SDK 校验拦截 duration、media 或 content,请直接使用本文 HTTP 请求,不要为通过 SDK 校验删掉必要参数。

以下 curl 使用环境变量,先在自己的终端设置:

export API_BASE='https://api.884819.xyz'
export API_KEY='YOUR_API_KEY'

读取当前令牌可见的模型,不会触发生视频:

curl --fail-with-body "$API_BASE/v1/models" \
  -H "Authorization: Bearer $API_KEY"

模型是否在列表内不等于保证每个参数组合都可用。实时价格请登录模型价格页查看;本文不依赖旧的 /v1/video/model-capabilities 接口,该接口当前不可作为接入前提。

2. 当前视频模型

系列对外 model选择与输入
Seedance 2.5doubao-seedance-2-5-260628文字、图片等参考输入;本文给出文字与单首帧示例。
Seedance 2.0doubao-seedance-2-0-260128
doubao-seedance-2-0-fast-260128
doubao-seedance-2-0-mini-260615
不同子型号能力和规格不同,不要只替换 model 就假定所有 2.5 参数可用。
Wan 3.0wan3.0-video
wan3.0-video-prime
文生视频、单首帧、首尾帧;使用 media 指定图片角色。
HappyHorse 1.1happyhorse-1.1-t2v
happyhorse-1.1-i2v
happyhorse-1.1-r2v
分别为文字、单首帧、参考图片模式;当前 HappyHorse I2V 不接收尾帧,不要与可灵/Kling 当成同一组模型。
国际线路别名上述 Wan / HappyHorse 名称追加 -international例如 wan3.0-video-international、happyhorse-1.1-i2v-international。权限、可用性和售价独立,不能假定与无后缀型号相同。
本文仅列当前启用的系列;老页面中的 Seedance 1.5/1.0 不代表目前已开放。不要把通用参数上限当作所有模型的能力,也不保证 Prime 或 Fast 的固定速度倍数。

网关当前校验范围

以下是当前版本接纳的主要规格,不等于所有供应商对每种输入组合均已验证。分辨率、时长和价格须同时满足模型与实际可用线路的要求。

模型duration(整数秒)resolutionratio / 图片规则
Seedance 2.54–30;支持 -1480p / 720p / 1080p21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / adaptive。2.5 带首帧或尾帧时会按 adaptive 处理,不能据 ratio 承诺精确输出像素。
Seedance 2.0 标准4–15;支持 -1480p / 720p / 1080p / 4k
Seedance 2.0 Fast / Mini4–15;支持 -1480p / 720p
Wan 3.0 / Prime2–30;支持 -1480P / 720P / 1080P,须明确指定16:9 / 9:16 / 1:1 / 4:3 / 3:4 / adaptive。仅首帧也允许;使用尾帧时必须同时传首帧。
HappyHorse 1.13–15;不使用 -1480P / 720P / 1080PI2V 恰好一个首帧,比例随图。T2V 支持 16:9 / 9:16 / 3:4 / 4:3 / 4:5 / 5:4 / 1:1 / 9:21 / 21:9;R2V 参考图 1–9 张,可在这些比例外使用 adaptive。

duration: -1 是允许型号的自动时长选项,不是无限时长或免费选项;预扣可能按型号最长时长估算,再按实际用量结算。建议初次接入先用本文明确的短时长。不要同时传 duration、seconds 和 metadata 中相互冲突的时长。

3. 通用提交:先保存 JSON,再创建一次

从下方模型章节选择一个 JSON,保存为 video-request.json。每个业务视频生成一个固定的唯一键,并持久化;示例中的 YOUR_UNIQUE_VIDEO_ORDER_ID 必须替换,不同任务不能共用同一个键。

export VIDEO_ORDER_ID='YOUR_UNIQUE_VIDEO_ORDER_ID'
curl --fail-with-body "$API_BASE/v1/videos" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $VIDEO_ORDER_ID" \
  --data-binary @video-request.json \
  -o video-create.json

成功受理通常为 HTTP 200,示例:

{
  "id": "task_EXAMPLE",
  "task_id": "task_EXAMPLE",
  "object": "video",
  "model": "doubao-seedance-2-5-260628",
  "status": "queued",
  "progress": 0,
  "created_at": 1792020000
}

统一以 id 保存公开任务编号,兼容响应可能另含相同的 task_id。不要把厂商的 cgt-* 编号替代平台任务编号用于查询。TASK_ID 设置为实际返回值后,再执行第 7 节的查询。

视频幂等与异步生图不同:同一用户的同一视频提交键重复使用时,当前返回 409 idempotency_conflict,错误信息可能给出原公开任务 ID;不会像异步图片批次那样返回 200 原结果。视频键不校验正文摘要,改变模型或参数也不能复用旧键。结果未知时保留键、正文、响应和请求 ID,先查原任务,不换键盲目重提。

4. Seedance:文字与单参考图

以下使用 doubao-seedance-2-5-260628,resolution 示例为小写 480p;选择短片先确认内容和计价,不要直接批量调用。

4.1 文生视频

{
  "model": "doubao-seedance-2-5-260628",
  "prompt": "湖面晨雾缓慢流动,远处山峰静止,镜头固定,无人物",
  "duration": 4,
  "resolution": "480p",
  "ratio": "16:9",
  "generate_audio": false,
  "watermark": false
}

4.2 单图作为首帧

沿用同一提交接口,使用带角色的 content。示例图片地址仅为占位值,必须换成实际可访问、允许用于生成的图片;本地路径不能直接填入 URL。

{
  "model": "doubao-seedance-2-5-260628",
  "prompt": "保留参考图中的山峰、湖泊和构图,水面产生轻微涟漪,固定镜头",
  "duration": 4,
  "resolution": "480p",
  "ratio": "adaptive",
  "content": [
    {
      "type": "image_url",
      "role": "first_frame",
      "image_url": { "url": "https://example.com/reference.png" }
    }
  ],
  "generate_audio": false,
  "watermark": false
}

5. Wan 3.0:文字、首帧与首尾帧

示例使用 wan3.0-video;选择 Prime 时使用完整模型名 wan3.0-video-prime。resolution 示例为大写 480P。

5.1 文生视频

{
  "model": "wan3.0-video",
  "prompt": "一只纸船漂过安静的湖面,固定镜头,柔和晨光",
  "duration": 2,
  "resolution": "480P",
  "ratio": "16:9",
  "audio": false,
  "watermark": false,
  "prompt_extend": false
}

5.2 图生视频

{
  "model": "wan3.0-video",
  "prompt": "保留参考图构图,水面轻微波动,镜头缓慢前推",
  "duration": 2,
  "resolution": "480P",
  "ratio": "adaptive",
  "media": [
    { "type": "first_frame", "url": "https://example.com/first.png" }
  ],
  "audio": false,
  "watermark": false,
  "prompt_extend": false
}

需要首尾帧时,将 media 替换为下面的数组;必须保留首帧,不能只传尾帧:

[
  { "type": "first_frame", "url": "https://example.com/first.png" },
  { "type": "last_frame", "url": "https://example.com/last.png" }
]

输入图片可以使用合规公网 HTTP(S) URL,或在接口与供应商均支持时使用完整的 data:image/png;base64,... 图片 Data URL;不能填浏览器 blob: 或本地文件路径。图片请求的最终比例、像素与时长以返回内容为准。

6. HappyHorse 1.1:选择对应输入型号

6.1 T2V:文字

{
  "model": "happyhorse-1.1-t2v",
  "prompt": "一只纸船漂过安静的湖面,固定镜头,柔和晨光",
  "duration": 3,
  "resolution": "480P",
  "ratio": "16:9"
}

6.2 I2V:首帧图片

{
  "model": "happyhorse-1.1-i2v",
  "prompt": "保留参考图中的主体和构图,水面产生轻微涟漪,镜头固定",
  "duration": 3,
  "resolution": "480P",
  "media": [
    { "type": "first_frame", "url": "https://example.com/first.png" }
  ],
  "audio": false,
  "watermark": false,
  "prompt_extend": false
}

6.3 R2V:参考图片

{
  "model": "happyhorse-1.1-r2v",
  "prompt": "以参考图片中的产品为主体,生成柔和灯光下的展示镜头",
  "duration": 3,
  "resolution": "480P",
  "ratio": "16:9",
  "media": [
    { "type": "reference_image", "url": "https://example.com/reference.png" }
  ]
}

7. 查询、状态与原厂视频下载

把创建响应的 id 设置为 TASK_ID。以下命令只查询已有任务,不创建视频:

export TASK_ID='task_REPLACE_WITH_RETURNED_ID'
curl --fail-with-body "$API_BASE/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $API_KEY" \
  -o video-task.json
顶层 status客户端处理
queued已受理、等待执行;继续查询。
in_progress正在执行;按约 5–10 秒查询,不重复 POST。
completed生成已完成;尽快获取原厂地址并保存视频。
failed停止轮询,查看 error、失败原因与账务,不盲目重提。
unknown 或无法识别不要当作可安全重新生成;保留任务编号与回包,联系平台核对。

成功查询会保留厂商业务扩展字段,不同模型的 metadata 和 usage 不完全相同。Seedance 完成态示意:

{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "doubao-seedance-2-5-260628",
  "status": "completed",
  "progress": 100,
  "created_at": 1792020000,
  "completed_at": 1792020200,
  "result_url": "https://example.com/temporary-original.mp4",
  "metadata": {
    "url": "https://example.com/temporary-original.mp4",
    "duration": 4,
    "resolution": "480p"
  },
  "usage": {
    "completion_tokens": 38809,
    "total_tokens": 38809
  }
}

7.1 从统一成品入口下载

curl --fail-with-body --location \
  --proto '=https' --proto-redir '=https' \
  "$API_BASE/v1/videos/$TASK_ID/content" \
  -H "Authorization: Bearer $API_KEY" \
  -o video.mp4

对本页当前官方视频链路,已完成且有源地址的任务通常返回 307,正文为 0,Location 指向原厂临时 URL;上面通过 --location 跟随跳转。curl 默认不把 Authorization 转发给不同主机,不要加 --location-trusted,也不要主动把平台 API Key 发给原厂对象存储域名。

也可以将查询返回的原厂完整地址设置为 VIDEO_URL 后直接下载,保留原始签名参数,不附加平台令牌:

curl --fail-with-body --location \
  --proto '=https' --proto-redir '=https' \
  "$VIDEO_URL" -o video.mp4
不是永久存储:视频使用厂商临时地址,不能套用图片异步接口的固定 30 分钟规则。任务完成后立即转存;查询不会承诺刷新已过期签名。原厂地址失效或缺失时,任务仍可能是 completed;内容入口可能返回 410,历史任务也可能出现 502,不会自动落盘或代理补救。

7.2 检查成片

已安装 ffprobe 时,可离线检查时长、尺寸和音轨,不产生生成费用:

ffprobe -v error \
  -show_entries stream=codec_type,width,height,duration \
  -show_entries format=duration \
  -of json video.mp4

实际输出时长、像素和音轨可能与请求值不同;生成效果与参考图遵循程度不作百分之百保证。

8. Seedance 素材与授权边界

Seedance 的 asset://asset-* 是厂商素材引用,不是平台任务号、分组号或文件路径。已注册素材必须属于可用的同一素材凭证空间;不能跨供应商、跨账号复制使用。

使用素材管理能力时,主站入口为 POST /api/volcengine_asset?Action=...&Version=2024-01-01,沿用主站 Bearer API 令牌,Action 与正文区分大小写:

Action用途及正文示意
CreateAsset将可访问图片 URL 注册为素材,例如 {"URL":"https://example.com/reference.png","AssetType":"Image","Name":"reference-001"};以返回的真实素材 ID 为准。
GetAsset查询已注册素材,例如 {"Id":"asset_EXAMPLE"};确认实际处理成功/可用后再引用,不因拿到编号就立即生视频。

9. 幂等、费用与错误处理

9.1 费用与任务身份

HTTP 状态常见原因与建议
400 / 413模型或参数组合不支持、素材格式/图片不可访问、请求过大;检查错误正文,不无条件重试。
401 / 403令牌、分组、模型权限、余额或供应商审核限制;具体原因以错误信息为准,不通过换键绕过。
404任务或内容不存在、不属于当前用户;历史兼容查询也可能以 400 表达 task_not_exist。
409视频 Idempotency-Key 已被使用或请求状态冲突;保留原任务 ID 并查询,不改键重复生成。
410原厂视频地址缺失、过期或内容不可用,不表示已完成任务自动变回失败。
429 / 503限流、上游繁忙、渠道/凭证空间暂不可用;遵守 Retry-After,读请求可有限退避,不密集轮询。
5xx / 524 / 连接中断提交结果可能未知,不能据此推定未扣费。保留原键和请求,检查已存在任务、响应中的任务编号及日志,再决定是否需要人工处理。

客户端应持久化业务订单、原始请求、Idempotency-Key、平台任务 ID、状态、已下载记录与失败正文;程序重启后继续查询已有任务。不要公开日志中的完整签名地址、令牌、个人素材或认证信息。

本页示例覆盖统一视频生命周期及各系列常用输入,并非完整厂商 API 清单。低层原生路由有不同的参数和响应结构,不要把厂商接口路径直接拼接到主站;没有额外说明时优先使用本页 /v1/videos。