Skip to content

Seedance 2.5 视频 ​

使用 AruHub 的 seedance2.5 模型生成视频。本文按 AruHub 当前接入方式编写,适合第一次配置的用户、开发者,以及代用户配置软件的 AI。接口核对日期:2026-10-31。

最短流程:准备密钥 → 提交生成请求 → 保存任务 ID → 查询至完成 → 获取并保存视频。 创建请求返回的是任务,通常不会立即返回成片。

本页目录(点击展开)

先选适合你的接入方式 ​

你的情况 怎么做
不写代码,想在网页中生成 使用 AruHub Studio,按下面的 Studio 配置操作
已有支持异步视频 API 的软件 配置 API 地址、密钥、模型和视频协议;必须支持查询任务和读取结果
使用 n8n、Dify、Coze 或自建工作流 使用 HTTP 请求节点,按 视频 API 接入与 AI 配置 连接提交、轮询和下载
让 AI 修改网站或写脚本 把本页末尾的“交给 AI 的配置指令”和 共用接入文档 一起发给 AI
只有聊天窗口或图片生成节点 需要额外接入视频工具;仅在聊天模型列表中填模型名不能完成视频工作流

1. 准备地址、密钥和模型 ​

项目 填写内容
API 域名 https://api.aruhub.com
SDK / 通用兼容客户端的 Base URL https://api.aruhub.com/v1,前提是软件只自动追加 /videos
完整创建地址 https://api.aruhub.com/v1/videos
完整查询地址 https://api.aruhub.com/v1/videos/{task_id}
API Key 你自己的 AruHub API 密钥
模型 ID seedance2.5,注意没有连字符:不是 seedance-2.5
鉴权请求头 Authorization: Bearer YOUR_API_KEY
推荐请求格式 application/json;本地文件也可用 multipart/form-data

在 我的密钥 创建或取得密钥。密钥必须有目标模型的调用权限。可先请求 GET https://api.aruhub.com/v1/models,检查 data[].id 中是否有 seedance2.5。完整操作见 接入准备。

Base URL 与完整请求地址是两种填写方式

HTTP 请求工具直接填完整地址。会自动拼接 /v1/videos 的软件应填根域名;只拼接 /videos 的 SDK 应填带 /v1 的地址。最终请求必须是 /v1/videos,不能出现 /v1/v1/videos。文档网站 docs.aruhub.com 不是 API 地址。

本文使用统一模型 seedance2.5,通过 resolution 选择分辨率。不要根据分辨率自行拼接模型后缀;只有密钥实际返回且明确支持的模型 ID 才能使用。

2. 在 Studio 中配置 ​

  1. 打开 AruHub Studio,进入设置中的视频模型配置,新增视频模型。
  2. 选择 New API 协议。Base URL 填 https://api.aruhub.com,API Key 填自己的 AruHub 密钥。
  3. 获取模型并选择 seedance2.5;若界面允许手动填写,必须使用这个完整 ID。
  4. 保存后进入视频生成工作台,选择刚配置的模型。先用 4 秒、480p、16:9、无参考素材 验证基本流程。
  5. 输入提示词并提交一次,等待任务完成后预览、下载。再逐步添加图片、视频或音频参考。

Studio 的 New API 协议使用 /v1/video/generations,由 Studio 处理对应返回格式;下方开发者示例使用 /v1/videos。两种入口都可用于本站视频任务,但自建客户端不要混用其状态解析方式。

通用参数面板可能显示其他模型使用的选项。面板里能选择,不等于当前模型支持。 Seedance 2.5 本教程使用 480p / 720p、4~30 秒以及下表中的比例;不要因为界面显示 4K 或更长时长就直接使用。

3. 参数怎么填 ​

参数 类型 必填 / 默认 说明
model string 必填 seedance2.5
prompt string 必填 非空提示词,最多 20,000 个字符
duration integer 建议明确填写;默认 15 视频秒数,4~30 的整数,例如 4、10、15
resolution string 建议明确填写;默认 720p 本教程使用 480p 或 720p,带字母 p
ratio string 默认 16:9 16:9、9:16、1:1、4:3、3:4、21:9
mode string 可选;默认 pro 当前接入接受 pro / mini;首次接入使用 pro
images string[] 可选 参考图片,最多 30 张
videos string[] 可选 参考视频,最多 10 个
audios string[] 可选 参考音频,最多 10 段

分辨率填写 720p,比例填写 16:9,时长填写整数 10,这三项不能互换。当前适配层能识别 1080p 字段值,但本文核对的 Seedance 可用配置以 480p / 720p 为准,不把 1080p 作为可直接照抄的选项。

兼容旧客户端时,时长可用 seconds 或 duration_seconds,比例可用 aspect_ratio / aspectRatio。新接入统一使用 duration、resolution、ratio,不要同时发送多套重复参数。 若重复字段值冲突会被拒绝,例如 duration: 4 与 seconds: "10"。

size 表示像素尺寸,通常不需要填写。如果客户端强制要求,常见对应为 720p 横屏 1280x720、竖屏 720x1280;480p 横屏 854x480、竖屏 480x854。size、resolution、ratio 必须相互一致,不要填写 auto。

4. 文生视频:先跑通最小请求 ​

以下命令在 macOS / Linux 的 Bash 中执行。先设置 ARUHUB_API_KEY 环境变量;Windows 用户见 PowerShell 示例。不要把真实密钥贴到公开代码或发给 AI。

bash
curl --fail-with-body --max-time 180 \
  https://api.aruhub.com/v1/videos \
  -H "Authorization: Bearer $ARUHUB_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary '{
    "model": "seedance2.5",
    "prompt": "一只橘猫坐在窗边,微风轻轻吹动窗帘。镜头缓慢推进,午后自然光,动作平稳。",
    "duration": 4,
    "resolution": "480p",
    "ratio": "16:9",
    "mode": "pro"
  }'

创建响应结构示意如下,实际可能附带其他字段:

json
{
  "id": "YOUR_LOCAL_TASK_ID",
  "task_id": "YOUR_LOCAL_TASK_ID",
  "object": "video",
  "model": "seedance2.5",
  "status": "queued"
}

马上保存顶层 id。YOUR_LOCAL_TASK_ID 只是占位符,必须替换为这次创建实际返回的值。HTTP 200 表示创建请求被受理,queued 不代表完成;不要再次 POST 来“获取结果”。

5. 图生视频:公网图片 URL ​

在最小请求里加入 images 数组。图片地址必须指向实际图片内容,能够由公网服务读取,不能是网页分享页、需要登录的网盘页面或本机文件路径。

json
{
  "model": "seedance2.5",
  "prompt": "以参考图为主体,保留服装、脸部和背景特征。人物自然抬头,镜头缓慢推近,动作连贯。",
  "duration": 6,
  "resolution": "720p",
  "ratio": "9:16",
  "images": ["https://YOUR_PUBLIC_MEDIA_HOST/reference.jpg"]
}

把占位地址替换为你自己的可访问图片直链。多张图片使用同一个数组,保持顺序,并在提示词里说明每张图片的用途,例如“第一张作为人物外观参考,第二张作为场景参考”。这是一种表达意图的方式,不保证模型精确绑定每个编号。

当前链路把图片作为参考素材处理。不要把第一张、最后一张图片自动解释成“首帧 / 尾帧”,也不要发送 first_frame、last_frame 等角色值来强制首尾帧。

6. 同时使用图片、视频和音频参考 ​

json
{
  "model": "seedance2.5",
  "prompt": "参考图片中的产品外观,参考视频中的运镜节奏,并参考音频的节奏设计画面。产品在自然光下缓慢旋转,保持主体一致。",
  "duration": 10,
  "resolution": "720p",
  "ratio": "16:9",
  "images": ["https://YOUR_PUBLIC_MEDIA_HOST/product.png"],
  "videos": ["https://YOUR_PUBLIC_MEDIA_HOST/motion.mp4"],
  "audios": ["https://YOUR_PUBLIC_MEDIA_HOST/rhythm.mp3"]
}

这些字段提交参考素材,不是直接拼接素材的剪辑接口。输入音频不等于保证逐字配音、口型同步或原音轨完整保留;输入视频不等于续写、延长或编辑该视频的专用接口。最终参考效果由模型生成结果决定。

素材格式与大小 ​

素材 接受格式 数量上限 内联 / 文件上传限制
图片 JPEG/JPG、PNG、WebP、GIF 30 张 单张 20 MiB
视频 MP4、MOV、WebM 10 个 单个 50 MiB
音频 MP3、WAV、M4A、AAC、OGG 10 段 单个 50 MiB

一个请求内全部内联素材解码后的总大小不超过 50 MiB;完整请求体上限 72 MiB。数量上限和总大小上限需要同时满足,不能据单文件上限推算可上传 30 × 20 MiB。1 MiB = 1,048,576 字节。公网 URL 的实际可用性还取决于素材是否可读取及上游是否接受其编码。

Base64 会增加请求体大小,接近大小上限时优先使用可访问的公网直链。HEIC、AVIF、TIFF、BMP、SVG 请先转成受支持格式;改扩展名并不会转换真实文件格式。文件容器通过检查,也不代表其中的所有编解码器都被模型服务接受。

本地文件:multipart 上传 ​

推荐用下面的方法提交电脑上的图片,不需要先自行搭建图片服务器:

bash
curl --fail-with-body --max-time 180 \
  https://api.aruhub.com/v1/videos \
  -H "Authorization: Bearer $ARUHUB_API_KEY" \
  -F 'model=seedance2.5' \
  -F 'prompt=让参考图中的主体自然运动,镜头缓慢推进,保持外观一致。' \
  -F 'duration=4' \
  -F 'resolution=480p' \
  -F 'ratio=16:9' \
  -F 'images=@./reference.jpg;type=image/jpeg'

多张图片重复 -F 'images=@...';视频使用 videos=@./reference.mp4;type=video/mp4;音频使用 audios=@./reference.mp3;type=audio/mpeg。Windows 中用 curl.exe,并使用实际文件路径。

multipart 不要手动添加 Content-Type: application/json,也不要自己编造 boundary。 让 cURL、浏览器 FormData 或 HTTP 库自动生成正确的请求头。

JSON 内联素材:Data URI ​

没有公网地址、又需要统一使用 JSON 时,可把文件编码为包含 MIME 类型的 Data URI:

text
data:image/jpeg;base64,文件的完整Base64编码

然后作为 images 数组中的字符串发送。视频、音频分别放入 videos、audios。不能只发裸 Base64,也不能把 C:\images\cat.jpg、file://...、blob:... 当作素材地址。

Python 构造图片字段示例(仅构造请求,不会提交任务):

python
import base64
from pathlib import Path

image = base64.b64encode(Path("reference.jpg").read_bytes()).decode("ascii")
payload = {
    "model": "seedance2.5",
    "prompt": "让图片中的主体自然运动,镜头缓慢推进。",
    "duration": 4,
    "resolution": "480p",
    "ratio": "16:9",
    "images": ["data:image/jpeg;base64," + image],
}

内联文件会被转换为生成服务可以访问的素材引用;用于处理视频、音频的临时素材链接不应当作永久存储。请仅提交适合交给生成服务处理的素材。

需要结构化素材时:content ​

新用户优先使用 images / videos / audios。已有工作流使用结构化消息时,可改用以下 content,不要再重复发送相同素材数组:

json
{
  "model": "seedance2.5",
  "duration": 4,
  "resolution": "480p",
  "ratio": "16:9",
  "content": [
    {"type": "text", "text": "参考图片中的主体,镜头缓慢推近。"},
    {"type": "image_url", "image_url": {"url": "https://YOUR_PUBLIC_MEDIA_HOST/reference.jpg"}, "role": "reference_image"}
  ]
}

视频对应 type: "video_url"、video_url: {"url": "..."}、role: "reference_video";音频对应 audio_url 和 reference_audio。role 可以省略;填写时必须与媒体类型一致。url 对象仅包含 url,不要添加聊天图片接口的 detail 等字段。

7. 查询任务并拿到视频 ​

bash
curl --fail-with-body \
  "https://api.aruhub.com/v1/videos/YOUR_LOCAL_TASK_ID" \
  -H "Authorization: Bearer $ARUHUB_API_KEY"

使用创建时的密钥和返回的任务 ID。建议每 5 秒查询一次,根据负载逐步增加到 10~15 秒。不要用循环 POST 替代 GET 轮询。

status 客户端该怎么做
queued 等待排队,稍后继续查同一个 ID
in_progress 正在生成,稍后继续查同一个 ID
completed 读取视频地址并下载
failed 读取 error.message,停止轮询并显示原因
未识别状态 保存原始响应和任务 ID,显示待确认;不要自动重建任务

成功响应示意:

json
{
  "id": "YOUR_LOCAL_TASK_ID",
  "task_id": "YOUR_LOCAL_TASK_ID",
  "object": "video",
  "model": "seedance2.5",
  "status": "completed",
  "progress": 100,
  "video_url": "https://YOUR_RESULT_HOST/result.mp4",
  "metadata": {"url": "https://YOUR_RESULT_HOST/result.mp4"}
}

解析时使用 video_url || metadata.url。外部成片 URL 不需要携带 AruHub 密钥,不要把密钥转发给视频托管域名。成片地址可能包含有效期信息,完成后应尽快保存到自己的存储。

不要只保存提示词或网页卡片 ID。 保存创建返回的本地任务 id,页面刷新、程序退出或网络恢复后继续查询这个 ID。更多断线恢复和下载示例见 共用接入文档。

8. 常见问题 ​

现象 / 报错 检查与处理
找不到 seedance2.5 检查密钥可见的 /v1/models,确认模型权限和完整拼写,不自行加后缀
unsupported Seedance option ... 删除不属于本教程的参数;不要照搬其他供应商的 seed、watermark、negative_prompt、generate_audio、callback_url
conflicting duration fields 只保留一个时长字段,或确保所有别名值一致
size and resolution disagree 删除非必要 size,或让尺寸、分辨率和比例完全一致
提示 4~30 秒或数量超限 检查实际发出的 JSON,不只看界面选项;确认数字是整数
素材 URL 无效 用未登录环境检查直链是否返回真实文件;本地路径和浏览器 blob 地址不可作为公网 URL
图片上传失败 检查真实格式、MIME 类型、文件完整性与大小;HEIC 等先转换
413 / 请求过大 减小素材,减少数量或改用公网 URL;同时检查 Base64 膨胀和中间代理的限制
已生成但自己网站没视频 检查是否实现 GET 轮询、保存本地 ID,并兼容读取 metadata.url
completed 但下载失败 只重试查询 / 下载,确认成片 URL 有效;不要重新提交生成
想等待 webhook 通知 当前推荐链路不提供完成回调,客户端实现轮询
上传了音频但结果不符合预期 音频是参考输入,不是确定性的配音 / 音轨合成接口

9. 提示词怎么写更容易控制 ​

建议按“主体 + 动作 + 场景 + 镜头 + 光线 / 风格 + 需要保持的特征”组织。短片先描述一个明确动作;长片可描述连贯的先后变化,避免在 4 秒内要求多个复杂场景切换。

  • 产品展示:参考图片中的香水瓶,保持瓶身文字和形状。镜头从侧面缓慢移动到正面,柔和侧光,背景简洁,动作平稳。
  • 人像动效:保持参考人物外观和服装,人物轻微转头并自然微笑,固定镜头,背景不发生明显变化。
  • 风景短片:清晨山谷薄雾流动,阳光逐渐照亮山脊,镜头缓慢向前,画面稳定,写实风格。

提示词表达期望,不构成像素级一致性、文字保真、声音效果或镜头精确执行的保证。

10. 交给 AI 的配置指令 ​

复制下面整段给负责配置软件或编写代码的 AI。真实密钥在你的本地设置中填写,不要直接写进对话和源码。

text
请按 AruHub 当前文档接入 Seedance 2.5 视频:
https://docs.aruhub.com/guide/seedance-2-5
https://docs.aruhub.com/guide/video-api

目标模型:seedance2.5。不要自行改成 seedance-2.5 或添加分辨率后缀。
API 根地址:https://api.aruhub.com。
密钥从环境变量 ARUHUB_API_KEY 读取;检查该密钥的 /v1/models 是否包含目标模型。
新代码使用 POST /v1/videos 创建,GET /v1/videos/{创建返回的 id} 查询。
最小请求:model、prompt、duration:4、resolution:"480p"、ratio:"16:9"。
后续时长范围 4~30 秒;本文推荐分辨率 480p/720p。
图片用 images、视频用 videos、音频用 audios 数组。
素材可使用公网直链、带 MIME 的 Base64 Data URI 或 multipart 实际文件。
图片最多30张、视频10个、音频10段;单图20MiB、单视频/音频50MiB;
全部内联素材合计50MiB,请求体72MiB。不要把本地路径直接当作公网URL。
创建后立即持久保存 id,不把上游ID、网页ID或 data.id 当成本站任务ID。
轮询 queued/in_progress,completed 时取 video_url 或 metadata.url,failed 时显示 error.message。
外部视频URL下载不得携带 AruHub 密钥;断线恢复继续查原任务,不自动重发创建请求。
没有完成webhook;不使用聊天/图片接口、不使用stream=true、不编造首尾帧或视频编辑能力。
如果软件自动追加 /v1/videos,Base URL 填根域名;若只追加 /videos,填根域名加 /v1。
如软件仅支持聊天或图片,请明确说明需要新增异步视频工具,不能只填模型名冒充已完成。
先完成配置和无生成验证,展示最终请求地址与脱敏JSON;用户确认试运行后只提交一次最小任务。
交付应包含:实际配置文件位置、启动方式、任务ID持久化方式、查询恢复方式和下载位置。

下载 AI 可读的完整接入说明 · Python / Node.js 可运行示例 · Grok 视频教程

AruHub · 统一 API 网关