88API88API
使用指南AI 应用API 文档帮助支持
视频(Video)

Seedance 2.5 满血版视频 API

使用 seedance2.5满血版生成 4–30 秒、720P 视频,支持图片、视频和音频多模态参考。

seedance2.5满血版 是 88API 提供的 Seedance 2.5 视频生成模型。接口采用异步任务模式:先提交生成任务,再使用任务 ID 轮询状态,完成后从 video_url 下载 MP4。

模型能力

  • ✅ 最多支持 30 张图片参考
  • ✅ 最多支持 10 个视频参考
  • ✅ 最多支持 10 个音频参考
  • ⏱ 支持 4–30 秒视频生成
  • 🎯 固定输出 720P
  • 🔊 支持同步生成音频

基本信息

项目
Base URLhttps://88api.ai
模型名称seedance2.5满血版
提交任务POST /v1/videos
查询任务GET /v1/videos/{id}
鉴权方式Authorization: Bearer sk-xxxx
Content-Typeapplication/json

文生视频

curl --request POST 'https://88api.ai/v1/videos' \
  --header 'Authorization: Bearer sk-xxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "model": "seedance2.5满血版",
    "prompt": "一辆银色概念跑车穿过雨夜东京街头,霓虹灯倒映在湿润路面,电影级跟拍镜头",
    "seconds": "10",
    "ratio": "16:9",
    "resolution": "720p",
    "generate_audio": true
  }'

也可以使用 duration 整数代替 seconds 字符串:

{
  "model": "seedance2.5满血版",
  "prompt": "高端机械键盘产品广告,黑色影棚,蓝色轮廓光,微距运镜",
  "duration": 10,
  "size": "1280x720"
}

多模态参考

推荐使用 content 数组组合文本、图片、视频和音频。每个参考素材必须是服务器可以直接下载的公网 HTTP(S) 地址。

curl --request POST 'https://88api.ai/v1/videos' \
  --header 'Authorization: Bearer sk-xxxx' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "model": "seedance2.5满血版",
    "seconds": "12",
    "ratio": "16:9",
    "resolution": "720p",
    "generate_audio": true,
    "content": [
      {
        "type": "text",
        "text": "保持产品外观一致,参考镜头语言和音乐节奏,制作高端科技产品宣传片"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://example.com/product-front.jpg"
        }
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://example.com/product-side.jpg"
        }
      },
      {
        "type": "video_url",
        "video_url": {
          "url": "https://example.com/camera-reference.mp4"
        }
      },
      {
        "type": "audio_url",
        "audio_url": {
          "url": "https://example.com/music-reference.mp3"
        }
      }
    ]
  }'

图片参考的简写

只有图片参考时,也可以使用 input_referenceimages

{
  "model": "seedance2.5满血版",
  "prompt": "镜头缓慢推进,主体外观与参考图保持一致,柔和电影光线",
  "duration": 8,
  "size": "1280x720",
  "images": [
    "https://example.com/reference-01.jpg",
    "https://example.com/reference-02.jpg"
  ]
}

图片也可以使用 data:image/...;base64,... 格式传入。视频和音频参考建议使用 content 数组中的 video_urlaudio_url

请求参数

参数类型必填说明
modelstring固定填写 seedance2.5满血版
promptstring条件必填文本提示词;使用 content 时可放在 content[].text
secondsstring时长字符串,范围 "4""30";与 duration 二选一
durationinteger时长秒数,范围 4–30;与 seconds 二选一
sizestring画面尺寸,例如 1280x720720x1280720x720
ratiostring显式宽高比,优先级高于 size
resolutionstring固定为 720p;更高值不会提升实际输出分辨率
generate_audioboolean是否同步生成音频,默认 true
seedinteger随机种子;-1 表示随机
input_referencestring / string[]参考素材 URL 或图片 Data URL
imagesstring / string[]图片参考,最多 30 张
contentarray多模态内容数组,支持文本、图片、视频和音频

支持的比例

ratio 可使用:

auto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16

常用尺寸:

场景sizeratio
横屏1280x72016:9
竖屏720x12809:16
方形720x7201:1

content 内容类型

type数据字段数量限制
texttext用于提示词
image_urlimage_url.url最多 30 张
video_urlvideo_url.url最多 10 个
audio_urlaudio_url.url最多 10 个

参考素材 URL 必须公网可达,不能依赖 Cookie、登录态或浏览器专用请求头。若素材站点阻止服务器下载,请更换可直连的对象存储地址;图片也可改用 Data URL。

提交响应

任务提交成功后会立即返回 queued 状态:

{
  "id": "task_xxxxxxxxxxxxxxxxxxxxxxxx",
  "task_id": "task_xxxxxxxxxxxxxxxxxxxxxxxx",
  "object": "video",
  "model": "seedance2.5",
  "status": "queued",
  "progress": 0,
  "created_at": 1786424781,
  "size": "16:9"
}

请保存 id。响应中的 model 可能显示映射后的上游名称,不影响任务查询和计费。

查询任务

curl 'https://88api.ai/v1/videos/task_xxxxxxxxxxxxxxxxxxxxxxxx' \
  --header 'Authorization: Bearer sk-xxxx'

任务状态

status说明
queued已进入队列
in_progress正在生成
completed生成完成,可读取 video_url
failed生成失败,检查 error.message

完成响应示例:

{
  "id": "task_xxxxxxxxxxxxxxxxxxxxxxxx",
  "object": "video",
  "model": "seedance2.5",
  "status": "completed",
  "progress": 100,
  "duration": 10,
  "video_url": "https://example-cdn.com/result.mp4",
  "completed_at": 1786424996,
  "usage": {
    "seconds": 10,
    "video_count": 1
  }
}

video_url 通常具有有效期,任务完成后应及时下载并保存。

JavaScript 完整示例

const baseUrl = "https://88api.ai";
const apiKey = process.env.API_KEY;

const submitResponse = await fetch(`${baseUrl}/v1/videos`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "seedance2.5满血版",
    prompt: "清晨海面上的未来城市,电影级航拍,云层缓慢移动",
    duration: 10,
    ratio: "16:9",
    resolution: "720p",
    generate_audio: true,
  }),
});

if (!submitResponse.ok) {
  throw new Error(await submitResponse.text());
}

const task = await submitResponse.json();

while (true) {
  await new Promise((resolve) => setTimeout(resolve, 12000));

  const response = await fetch(`${baseUrl}/v1/videos/${task.id}`, {
    headers: { Authorization: `Bearer ${apiKey}` },
  });
  const state = await response.json();

  if (state.status === "completed") {
    console.log(state.video_url);
    break;
  }

  if (state.status === "failed") {
    throw new Error(state.error?.message || "视频生成失败");
  }
}

轮询与超时建议

  1. 每隔 10–15 秒查询一次,不要高频轮询。
  2. 客户端总超时建议设置为 20 分钟以上
  3. 较长视频或高峰期排队可能需要更长时间。
  4. 任务仍为 queuedin_progress 时不要重复提交,否则会创建并计费多个任务。
  5. 只有确认提交请求未到达服务器时,才重试 POST /v1/videos

常见错误

错误或现象原因与处理方式
401 UnauthorizedAPI Key 缺失、错误或已失效
model_not_found模型名不正确或令牌没有视频模型分组权限;确认使用 seedance2.5满血版
content moderated (nsfw)内容审核未通过;调整提示词或参考素材后重新提交
参考素材下载返回 403素材 URL 无法由服务器直连;更换图床、对象存储或使用图片 Data URL
failed查看响应中的 error.message 获取具体原因
长时间停留在同一进度进度值由上游分阶段更新;保持 10–15 秒轮询并等待最终状态

提示词建议

按“主体 → 动作 → 场景 → 镜头 → 光线 → 风格 → 音效”的顺序描述,复杂广告片可直接写入带时间段的分镜:

0–2 秒:暗场中产品轮廓被蓝色边缘光揭示,低机位缓慢推进。
2–6 秒:微距镜头掠过材质细节,浅景深,灯光依次点亮。
6–9 秒:镜头平滑环绕,展示完整产品和使用场景。
9–10 秒:居中英雄镜头,干净背景,品牌尾帧。

使用多张参考图时,应在提示词中说明每张图负责产品外观、场景、构图还是风格,以减少素材之间的冲突。