开发者文档
开始使用 888API
从第一次请求,到拿到生成结果。
用一个 API Key 接入视频与图片模型,按步骤完成你的第一次调用。
https://888api.xinHTTPS / JSON / Bearer 认证- 第 1 步准备 API Key
注册账号,在控制台创建令牌,并确认可用余额与模型权限。
- 第 2 步复制并运行示例
替换密钥和提示词。视频先创建任务,图片直接读取响应。
- 第 3 步取回并保存结果
视频用任务 ID 查询进度;生成完成后尽快下载保存文件。
第一次使用 API?
API 就是程序之间的调用方式。你发送模型名和提示词,服务返回任务或图片;下面的示例可以直接作为你的第一份程序。
只想在软件中使用?
使用字字动画的用户可以直接安装视频插件,填写密钥后生成,无需编写代码。
准备账号与 API Key
- 注册账号并登录,进入控制台的令牌页面创建 API Key。
- 为令牌配置需要的模型权限与额度,复制
sk-开头的完整密钥。账号登录密码不能作为 API Key。 - 确认账号余额可用。生成请求会按所选模型计费,价格与可用模型以模型价格页及控制台为准。
每次请求都要携带认证
Authorization: Bearer sk-你的密钥
Content-Type: application/json
Bearer 后保留一个空格。JSON 请求需要 Content-Type;上传文件时按该接口的 multipart 示例操作,不要手动拼接边界。
先设置本地环境变量
export API_KEY="sk-替换为你自己的密钥"
$env:API_KEY = 'sk-替换为你自己的密钥'
这只在当前终端会话中生效。请在同一个窗口继续运行示例;更换终端后需要重新设置。
检查密钥是否能访问模型列表
这一步查询你可见的模型列表,不会创建生成任务。返回 JSON 中的 data 列表,说明基础地址与认证已连通。
curl --fail-with-body "https://888api.xin/v1/models" \
-H "Authorization: Bearer $API_KEY"
Windows PowerShell 可用:Invoke-RestMethod -Uri 'https://888api.xin/v1/models' -Headers @{Authorization="Bearer $env:API_KEY"}。
完成第一次视频调用
下面用 seedance2.5-900-wool 生成一个 10 秒横屏视频。请先完成密钥设置。示例会创建真实的付费任务;只需选择一种语言运行一次。
POST /v1/videos 是“创建任务”,返回 id;GET /v1/videos/{id} 是“查询同一个任务”。创建成功不等于视频已生成完成。1. 创建任务
适用于 macOS / Linux / Git Bash。Windows 用户请选择 PowerShell 页签。
curl --fail-with-body -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.5-900-wool",
"prompt": "海边日落,镜头缓慢拉远,自然光,电影感",
"duration": 10,
"ratio": "16:9"
}'
2. 保存响应中的任务 ID
{
"id": "video_替换为实际任务ID",
"status": "queued"
}
3. 查询任务
把下面的 ID 换成刚才返回的值,每隔 5–10 秒查询一次。持续使用原 ID,不要反复创建。
TASK_ID="video_替换为实际任务ID"
curl --fail-with-body "https://888api.xin/v1/videos/$TASK_ID" \
-H "Authorization: Bearer $API_KEY"
看到 completed 后,读取 url 字段——它是完整的绝对地址,可直接下载。继续阅读状态、轮询与下载。
需要 Python 3.9+。先运行 python -m pip install requests,将代码保存为 video.py,再运行 python video.py。包含创建、轮询、结果、失败与本地等待上限。
import os
import time
import requests
def create_and_wait(base, key, interval=8, max_wait=4200):
headers = {"Authorization": "Bearer " + key}
payload = {
"model": "seedance2.5-900-wool",
"prompt": "海边日落,镜头缓慢拉远,自然光,电影感",
"duration": 10,
"ratio": "16:9",
}
# 创建只发送一次。网络超时后先查控制台,避免重复创建与扣费。
response = requests.post(base + "/v1/videos", headers=headers,
json=payload, timeout=120)
response.raise_for_status()
created = response.json()
task_id = created.get("id") or created.get("task_id")
if not task_id:
raise RuntimeError("响应缺少任务 ID:" + str(created))
print("请保存任务 ID:", task_id, flush=True)
end = time.monotonic() + max_wait
while time.monotonic() < end:
result = requests.get(base + "/v1/videos/" + str(task_id),
headers=headers, timeout=60)
# 只重试查询,不重新创建任务。
if result.status_code in (429, 502, 503, 504):
try:
wait = min(60, max(interval, float(result.headers.get("Retry-After", interval))))
except ValueError:
wait = interval
time.sleep(wait)
continue
result.raise_for_status()
data = result.json()
status = data.get("status")
print("任务状态:", status, flush=True)
if status in ("completed", "succeeded", "success"):
url = data.get("url") or data.get("video_url") or data.get("result_url")
if url:
print("视频地址:", url)
else:
print("下载路径:", base + "/v1/videos/" + str(task_id) + "/content")
return data
if status in ("failed", "cancelled", "canceled"):
raise RuntimeError("任务失败:" + str(data.get("error") or data))
time.sleep(interval)
raise TimeoutError("本地等待结束,请用原任务 ID 继续查询:" + str(task_id))
if __name__ == "__main__":
key = os.environ.get("API_KEY")
if not key:
raise SystemExit("请先设置 API_KEY 环境变量,再运行此文件。")
create_and_wait(os.environ.get("API_BASE_URL", "https://888api.xin"), key)
需要 Node.js 20+,无需安装依赖。保存为 video.mjs,运行 node video.mjs。不要将带密钥的代码放入浏览器页面。
const base = process.env.API_BASE_URL || 'https://888api.xin';
const key = process.env.API_KEY;
if (!key) throw new Error('请先设置 API_KEY 环境变量。');
const headers = {
Authorization: `Bearer ${key}`,
'Content-Type': 'application/json',
};
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
async function read(response) {
const data = await response.json();
if (!response.ok) throw new Error(`HTTP ${response.status}: ${JSON.stringify(data)}`);
return data;
}
// 创建只发送一次。超时后先检查控制台,避免重复任务与扣费。
const created = await read(await fetch(`${base}/v1/videos`, {
method: 'POST',
headers,
signal: AbortSignal.timeout(120_000),
body: JSON.stringify({
model: 'seedance2.5-900-wool',
prompt: '海边日落,镜头缓慢拉远,自然光,电影感',
duration: 10,
ratio: '16:9',
}),
}));
const id = created.id || created.task_id;
if (!id) throw new Error('创建响应缺少任务 ID。');
console.log('请保存任务 ID:', id);
const end = Date.now() + 4_200_000;
let finished = false;
while (Date.now() < end) {
const response = await fetch(`${base}/v1/videos/${encodeURIComponent(id)}`, {
headers, signal: AbortSignal.timeout(60_000),
});
if ([429, 502, 503, 504].includes(response.status)) {
const retry = Number(response.headers.get('Retry-After'));
await sleep(Math.min(60, Math.max(8, Number.isFinite(retry) ? retry : 8)) * 1000);
continue;
}
const data = await read(response);
console.log('任务状态:', data.status);
if (['completed', 'succeeded', 'success'].includes(data.status)) {
console.log('视频地址:', data.url || data.video_url || data.result_url ||
`${base}/v1/videos/${encodeURIComponent(id)}/content`);
finished = true;
break;
}
if (['failed', 'cancelled', 'canceled'].includes(data.status)) {
throw new Error(`任务失败:${JSON.stringify(data.error || data)}`);
}
await sleep(8000);
}
if (!finished) throw new Error(`本地等待结束,请继续查询原任务:${id}`);
适用于 Windows PowerShell 5.1+ / PowerShell 7。设置 $env:API_KEY 后,把代码粘贴到终端运行;保存为文件时使用 UTF-8 with BOM,避免旧版 PowerShell 误读中文。
if (-not $env:API_KEY) { throw '请先设置 API_KEY 环境变量。' }
$baseUrl = if ($env:API_BASE_URL) { $env:API_BASE_URL } else { 'https://888api.xin' }
$headers = @{ Authorization = "Bearer $env:API_KEY" }
$payload = @{
model = 'seedance2.5-900-wool'
prompt = '海边日落,镜头缓慢拉远,自然光,电影感'
duration = 10
ratio = '16:9'
} | ConvertTo-Json
# UTF-8 字节保证 Windows PowerShell 5.1 的中文请求正确。
$body = [System.Text.Encoding]::UTF8.GetBytes($payload)
# 创建只发送一次。超时后先检查控制台,避免重复扣费。
$created = Invoke-RestMethod -Method Post -Uri "$baseUrl/v1/videos" `
-Headers $headers -ContentType 'application/json; charset=utf-8' `
-Body $body -TimeoutSec 120
$taskId = if ($created.id) { $created.id } else { $created.task_id }
if (-not $taskId) { throw '响应缺少任务 ID。' }
Write-Output "请保存任务 ID:$taskId"
$endTime = (Get-Date).AddMinutes(70)
while ((Get-Date) -lt $endTime) {
$result = Invoke-RestMethod -Method Get -Uri "$baseUrl/v1/videos/$taskId" `
-Headers $headers -TimeoutSec 60
Write-Output "任务状态:$($result.status)"
if ($result.status -in @('completed', 'succeeded', 'success')) {
$videoUrl = @($result.url, $result.video_url, $result.result_url) |
Where-Object { $_ } | Select-Object -First 1
if ($videoUrl) { Write-Output "视频地址:$videoUrl" }
else { Write-Output "下载路径:$baseUrl/v1/videos/$taskId/content" }
return
}
if ($result.status -in @('failed', 'cancelled', 'canceled')) {
throw ($result.error | ConvertTo-Json -Depth 10)
}
Start-Sleep -Seconds 8
}
throw "本地等待结束,请继续查询原任务:$taskId"
选择接口与模型
先确定“要生成什么”,再选择具体模型。model 是程序使用的精确标识,大小写、连字符和版本号都要与文档一致。
| 你的目标 | 从这里开始 | 结果如何获取 |
|---|---|---|
| 文字生成视频 | 第一次视频调用 | 先保存任务 ID,再轮询到完成。 |
| 图片或多素材生成视频 | 准备参考素材,再查模型参数。 | 异步任务;不同模型的参考字段不同。 |
| 文字生成图片 | 图片生成示例 | 读取响应 data 中的图片。 |
| 参考图改图 | 上传参考图示例 | 通过图片编辑接口取回结果。 |
| 在字字动画中使用 | 下载并安装插件 | 在插件内等待并保存视频。 |
常用接口速查
| 方法与路径 | 用途 | 输入与输出 |
|---|---|---|
GET /v1/models | 查询可访问的模型 | 携带密钥,返回模型列表。 |
POST /v1/videos | 创建视频生成任务 | JSON;按模型章节提供参数。 |
GET /v1/videos/{id} | 查询视频状态 | 将 {id} 替换为创建响应中的 ID。 |
GET /v1/videos/{id}/content | 取回视频文件 | 完成后使用,跟随重定向下载。 |
POST /v1/images/generations | 文字生成图片 | JSON;结果在 data 数组。 |
POST /v1/images/edits | 参考图编辑 | 使用对应模型支持的图片上传格式。 |
https://888api.xin 加完整路径;若第三方软件的“Base URL”要求包含版本号,则填写 https://888api.xin/v1。检查最终请求地址里只有一个 /v1。看懂几个常用参数
| 参数 | 通俗解释 | 注意事项 |
|---|---|---|
prompt | 告诉模型生成什么的文字。 | 描述主体、动作、环境和镜头即可。 |
duration / seconds | 视频长度,单位是秒。 | 按秒计费的部分模型必须传 seconds,不能只传 duration。 |
ratio | 画面形状。 | 16:9 横屏,9:16 竖屏,1:1 方形。 |
resolution / size | 清晰度档位或像素尺寸。 | 720p 与 1280x720 是不同字段格式。 |
id | 这一次任务的查询凭证。 | 保存后可继续查进度;它不是模型 ID。 |
通用流程一致不代表所有模型参数相同。参考素材上限、时长、分辨率、计费和必填字段,请以具体模型章节与价格页为准。
接入必读
请求体格式
使用 JSON 示例创建任务时(POST /v1/videos、POST /v1/images/generations 等)的请求体必须是合法 JSON 字符串,并同时携带 Content-Type: application/json。两者不一致时会直接返回 400 INVALID_REQUEST(request body must be valid JSON),请先修正格式再提交。支持文件上传的接口另见对应 multipart 示例。
Python(requests)正误对比
# ❌ 错误:data= 传 dict,requests 会把 body 编码成 form 表单,不是合法 JSON
requests.post(url, data={"model": "seedance2.0-900-wool", "prompt": "一只猫在奔跑"},
headers={"Content-Type": "application/json"})
# ❌ 错误:手工拼字符串,容易出现单引号、尾随逗号、双大括号
requests.post(url, data="{'model': 'seedance2.0-900-wool'}",
headers={"Content-Type": "application/json"})
# ✅ 正确:用 json= 让 requests 自动序列化并设置 Content-Type
requests.post(url, json={"model": "seedance2.0-900-wool", "prompt": "一只猫在奔跑"},
headers={"Authorization": "Bearer sk-你的密钥"})
完整调用示例
前往第一次视频调用,查看可直接运行的 Python、JavaScript、PowerShell 示例。它们会保存任务 ID、检查响应并限制等待时间。
其他语言要点
- Node / axios:用
axios.post(url, payload, { headers }),body 传对象即自动序列化;不要用qs.stringify(payload)。 - Java / HttpClient:显式使用
HttpRequest.BodyPublishers.ofString(jsonString),并设置Content-Type: application/json。 - Postman:JSON 示例的 Body 选择
raw → JSON;仅在明确提供文件上传示例时选择form-data。 - 编码:请统一使用 UTF-8。中文 Windows 环境下若以 GBK 编码发送,请求体会解析失败并返回同一个 400。
参考素材怎么传
文字生成只需要提示词。图生视频或参考图创作还需要让服务读取到你的素材;字段名称、数量上限与单件体积上限必须按所选模型填写。
视频参考素材:使用可读取的 HTTPS 链接
- 先把图片上传到你使用的文件存储,取得直接打开就是图片的 URL。
- 用浏览器的无痕窗口打开确认可读取,链接在任务排队及生成期间应持续有效。
- 把 URL 放进模型指定的数组字段;电脑路径、网盘分享页与需要登录的页面不是素材直链。
| 字段 | 使用场景 | 注意 |
|---|---|---|
images | 多数视频模型的参考图片 | 字符串数组,如 ["https://example.com/ref.jpg"] |
image_urls / referenceImages | 部分模型的图片字段 | 不能随意替换为 images;以对应模型示例为准 |
video_urls / audio_urls | 支持视频或音频参考的模型 | 核对数量与总素材数上限;不支持的模型不要传 |
| 素材体积 | 所有参考素材 | 每件素材有单件体积上限,且因模型而异,请以对应模型条目为准;本页部分 Seedance 视频模型的参考素材单件上限为:图片 30MB、视频 200MB、音频 15MB、文本 16KB,超限请求会失败。 |
多图提示词:明确每一张图的作用
seedance2.5-900-wool 等经济档模型支持使用 @图1、@图2 引用参考图,并与数组顺序一致。例如:
{"model":"seedance2.5-900-wool","prompt":"保持 @图1 的人物外观,在 @图2 的场景中缓慢走动,镜头平滑推进","duration":10,"ratio":"16:9","images":["https://example.com/person.jpg","https://example.com/scene.jpg"]}example.com 是占位地址,请替换为你自己的真实素材链接。涉及真人时还需遵循模型的内容与人脸参数说明。
图片改图:使用图片编辑接口
图片模型有参考图时用 POST /v1/images/edits;文件上传方式见本地图片编辑示例。视频示例中的 URL 限制不应套用到图片文件上传接口。
模型状态
模型可用性状态
模型状态来自真实请求结果,不会发起额外探测请求。最近24小时内有成功请求时标记为“当前可用”;任意一次失败会进入“模型正在核实可用性”,并通知管理员处理。超过24小时没有新请求时显示“暂无近期验证”,不代表模型不可用。
| 字段 | 类型 | 说明 |
|---|---|---|
health_status | string | available、verifying、no_recent_success 或 disabled。 |
health_label | string | 对应的中文展示标签:当前可用、模型正在核实可用性、暂无近期验证、暂不可用。 |
last_success_at | integer/null | 最近一次成功完成的 Unix 时间戳;24 小时内有成功记录时显示“当前可用”。 |
health_updated_at | integer | 健康状态最近更新时间。 |
{
"id": "seedance2.5-900-wool",
"health_status": "verifying",
"health_label": "模型正在核实可用性",
"last_success_at": 1787362200,
"health_updated_at": 1787365800
}
模型分组
Seedance 2.0
Seedance 2.0 是客户可见的统一模型系列。不同模型可能使用不同接口路径和参数格式,请按具体模型文档接入。
| 模型 ID | 接口方式 | 计费方式 | 能力 |
|---|---|---|---|
jimeng-video-seedance-2.0-fast | 任务接口 | 按量计费 | 文生视频、单图、多图、@图顺序 |
jimeng-video-seedance-2.0-vip | 视频任务接口 | 按量计费 | 4-15 秒 720p,文生视频、图片/视频/音频参考,最多 12 个素材 |
jimeng-video-seedance-2.0-mini | 视频任务接口 | 按量计费 | 720p,文生视频、图片/视频/音频参考,最多 12 个素材 |
jimeng-video-seedance-2.0-fast-vip | 视频任务接口 | 4.5 元/条 | 720p,固定 15 秒,文生视频、图片/视频/音频参考,最多 12 个素材 |
seedance2.0-ycy-5s | 视频任务接口 | 按次计费 | 固定 5 秒,文生视频、单图/多图 base64 参考 |
seedance2.0-ycy-10s | 视频任务接口 | 按次计费 | 固定 10 秒,文生视频、单图/多图 base64 参考 |
seedance2.0-ycy-15s | 视频任务接口 | 按次计费 | 固定 15 秒,文生视频、单图/多图 base64 参考 |
doubao-seedance-2-0-fast | 视频任务接口 | 按量计费 | 720p 视频参考专用,必须传 video_urls,最多 3 个视频参考 |
doubao-seedance-2-0 | 视频任务接口 | 按量计费 | 720p 视频参考专用,必须传 video_urls,最多 3 个视频参考 |
seedance2.0-full-9img | 视频生成接口 | 按次计费 | 仅支持 720P,最多 9 张参考图 |
seedance2.0-full-4img | 视频生成接口 | 按次计费 | 最多 4 张参考图 |
seedance2.0-fast-4img | 视频生成接口 | 按次计费 | 最多 4 张参考图,快速出片 |
doubao-seedance-2-0-fast 是 720p 视频参考专用模型,必须传 video_urls,否则会返回参数错误。如果没有明确要求英文,系统会自动避免生成英文字幕、英文旁白或英文台词。
Seedance 2.0 / 任务接口模型
jimeng-video-seedance-2.0-fast
模型 ID:jimeng-video-seedance-2.0-fast。速度优先,适合快速预览和批量草稿。
/v1/videos调用流程
- 文生视频:直接创建任务。
- 图生视频:在创建任务时直接传入公网可访问的参考图 URL。
- 多参考图:按顺序传入
referenceImages,可在提示词里使用@图1、@图2。 - 创建成功后用
GET /v1/videos/{task_id}查询结果。
创建任务参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 jimeng-video-seedance-2.0-fast。 |
prompt | string | 是 | 视频提示词。多参考图可写 @图1、@图2 控制画面顺序。 |
ratio | string | 否 | 常用 16:9、9:16、3:4。 |
duration | string | 否 | 例如 4s、5s、8s。 |
resolution | string | 否 | 建议固定 720p。 |
generation_mode | string | 否 | 文生视频用 text_to_video;图生视频用 reference_video。 |
reference_mode | string | 图生视频建议填 | 多参考图建议 all_reference。 |
referenceImages | array | 图生视频必填 | 公网可访问且不过期的 http/https 图片 URL 数组;服务会处理素材上传。 |
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"model": "jimeng-video-seedance-2.0-fast",
"prompt": "一款白色陶瓷咖啡杯放在浅灰色桌面上,镜头缓慢推进,柔和自然光,电商广告风格。",
"ratio": "16:9",
"duration": "5s",
"resolution": "720p",
"generation_mode": "text_to_video"
}'
单参考图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "jimeng-video-seedance-2.0-fast",
"prompt": "基于参考图生成电商产品短视频,产品保持一致,镜头轻微环绕,背景干净。",
"ratio": "16:9",
"duration": "5s",
"resolution": "720p",
"generation_mode": "reference_video",
"reference_mode": "all_reference",
"referenceImages": ["https://example.com/ref-1.jpg"]
}'
多参考图 + @图顺序示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "jimeng-video-seedance-2.0-fast",
"prompt": "0-2秒展示@图1,2-4秒展示@图2,突出产品细节,整体保持高级电商广告质感。",
"ratio": "3:4",
"duration": "4s",
"resolution": "720p",
"generation_mode": "reference_video",
"reference_mode": "all_reference",
"referenceImages": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
}'
创建成功响应
{
"id": "1267",
"object": "video",
"status": "processing",
"progress": 0,
"url": null,
"error": null,
"task_id": "1267",
"task_status": "SUBMITTED"
}
Seedance 2.0 / 视频任务接口模型
jimeng-video-seedance-2.0-vip
模型 ID:jimeng-video-seedance-2.0-vip。支持 4-15 秒 720p 视频生成,按时长计费。
/v1/videosPOST /v1/videos,查询入口为 GET /v1/videos/{task_id}。为兼容早期文档,POST /v1/videos/generations 会在网关层转发到 /v1/videos,但新接入请优先使用本页展示的标准路径。调用流程
- 调用
POST /v1/videos创建视频任务,提交接口立即返回task_id。 - 客户端每 5-10 秒调用
GET /v1/videos/{task_id}查询状态。 - 当状态为
completed时,读取result.url获取视频。 result.url有效期较短,链接失效时重新查询同一个task_id。
创建任务参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 jimeng-video-seedance-2.0-vip。 |
prompt | string | 是 | 视频提示词。multipart 且包含 @ 时,curl 必须使用 --form-string。 |
functionMode | string | 是 | first_last_frames、omni_reference 或 agentic。 |
ratio | string | 否 | 默认 9:16。支持 1:1、4:3、3:4、16:9、9:16、21:9。 |
duration | number | 否 | 默认 5,支持 4-15 整数秒。 |
resolution | string | 否 | 固定使用 720p。 |
intelligent_ratio | boolean | 否 | 智能比例开关,默认 false。 |
file_paths | array | 否 | 图片 URL 数组;也兼容 filePaths、reference_asset_urls。 |
素材规则
| 模式 | 素材 | 说明 |
|---|---|---|
first_last_frames | 最多 2 张图片 | 第 1 张首帧,第 2 张尾帧;不传图就是纯文生。 |
omni_reference | 图片/视频/音频 | 多素材总数最多 12 个。 |
agentic | 图片/视频/音频 | 多素材总数最多 12 个,适合智能参考。 |
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "jimeng-video-seedance-2.0-vip",
"functionMode": "first_last_frames",
"prompt": "一段4秒的自然风景视频,镜头缓慢向前推进",
"ratio": "16:9",
"resolution": "720p",
"duration": 4
}'
JSON 参考图示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "jimeng-video-seedance-2.0-vip",
"functionMode": "first_last_frames",
"prompt": "基于参考图生成电商产品短视频,产品保持一致,镜头轻微环绕,背景干净",
"ratio": "16:9",
"resolution": "720p",
"duration": 5,
"file_paths": [
"https://example.com/first.jpg",
"https://example.com/last.jpg"
]
}'
multipart 多素材示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
--form-string "prompt=@image_file_1作为首帧,@image_file_2作为尾帧,动作参考@video_file_1" \
-F "model=jimeng-video-seedance-2.0-vip" \
-F "functionMode=agentic" \
-F "ratio=16:9" \
-F "resolution=720p" \
-F "duration=4" \
-F "image_file_1=@/path/to/first.jpg" \
-F "image_file_2=https://example.com/last.jpg" \
-F "video_file_1=@/path/to/reference.mp4"
创建成功响应
{
"created": 1709123456,
"task_id": "1897234567890123456",
"status": "pending"
}
Seedance 2.0 / 视频任务接口模型
jimeng-video-seedance-2.0-mini
模型 ID:jimeng-video-seedance-2.0-mini。轻量 720p 视频生成模型,适合低成本批量生成。
/v1/videos参数、状态查询和素材规则与 jimeng-video-seedance-2.0-vip 一致;resolution 建议固定 720p。
传图时推荐使用 referenceImages,填写公网可访问且不过期的 http/https 图片 URL;也兼容 file_paths、filePaths 和 image_urls。
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "jimeng-video-seedance-2.0-mini",
"functionMode": "first_last_frames",
"prompt": "一段4秒的自然风景视频,镜头缓慢向前推进",
"ratio": "16:9",
"resolution": "720p",
"duration": 4
}'
单图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "jimeng-video-seedance-2.0-mini",
"functionMode": "first_last_frames",
"prompt": "让参考图中的人物自然转身并看向镜头,保持人物外貌和服装一致,镜头缓慢推进",
"ratio": "9:16",
"resolution": "720p",
"duration": 5,
"referenceImages": [
"https://example.com/person.jpg"
]
}'
多图参考视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "jimeng-video-seedance-2.0-mini",
"functionMode": "omni_reference",
"prompt": "参考多张图片生成产品展示视频,保持产品结构、颜色和品牌标识一致,镜头自然切换",
"ratio": "16:9",
"resolution": "720p",
"duration": 6,
"referenceImages": [
"https://example.com/product-front.jpg",
"https://example.com/product-side.jpg",
"https://example.com/product-detail.jpg"
]
}'
Seedance 2.0 / 视频任务接口模型
jimeng-video-seedance-2.0-fast-vip
模型 ID:jimeng-video-seedance-2.0-fast-vip。720p 快速高优先级模型,适合需要更快出片的场景。固定 15 秒,4.5 元/条。
/v1/videos固定传 duration: 15 与 resolution: "720p"。参考图、视频与音频总数不超过 12;按下面的参数表选择生成方式。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 jimeng-video-seedance-2.0-fast-vip。 |
prompt | string | 是 | 视频提示词。multipart 且包含 @ 时,curl 必须使用 --form-string。 |
functionMode | string | 是 | first_last_frames、omni_reference 或 agentic。 |
ratio | string | 否 | 默认 9:16。支持 1:1、4:3、3:4、16:9、9:16、21:9。 |
duration | integer | 是 | 固定为 15,其他时长不支持(按次计费)。 |
resolution | string | 否 | 固定使用 720p。 |
intelligent_ratio | boolean | 否 | 智能比例开关,默认 false。 |
file_paths | array | 否 | 图片 URL 数组;也兼容 filePaths、reference_asset_urls。 |
创建视频
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "jimeng-video-seedance-2.0-fast-vip",
"prompt": "一段15秒的自然风景视频,镜头缓慢向前推进",
"ratio": "16:9",
"resolution": "720p",
"duration": 15
}'
创建后保存 ID,按任务状态与下载查询同一个任务。参考图可用 file_paths;多素材参考使用 omni_reference。
Seedance 2.0 / 固定时长视频任务接口
seedance2.0-ycy-5s
模型 ID:seedance2.0-ycy-5s。固定生成 5 秒视频,适合短镜头、商品动效、头像或单图动起来。
/v1/videos适用场景
seedance2.0-ycy-5s 支持文生视频、单图生视频和多图生视频。参考图字段必须使用 base64 data-URI,不使用图片 URL。
| 模式 | 字段 | 说明 |
|---|---|---|
| 文生视频 | prompt | 只传提示词,不传图片字段。 |
| 单图生视频 | image | 传一张 base64 data-URI,视频会以该图为起始画面动起来。 |
| 多图生视频 | images | 传 base64 data-URI 数组,最多 8 张,画面按图片顺序生成转场。 |
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 seedance2.0-ycy-5s。 |
prompt | string | 是 | 视频提示词,建议描述主体动作、镜头运动、画面风格和节奏。 |
ratio | string | 否 | 默认 16:9,支持 16:9、9:16、1:1。 |
image | string | 否 | 单图生视频参考图,必须是完整 data-URI,例如 data:image/jpeg;base64,...。 |
images | array | 否 | 多图生视频参考图数组,最多 8 张,每一项都是完整 base64 data-URI。 |
duration | number | 否 | 无需传。模型名已固定时长,传入也会按模型固定时长计费和生成。 |
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-ycy-5s",
"prompt": "一只橘猫在阳光下的草地上奔跑,镜头低角度跟拍,慢动作,电影感,自然光",
"ratio": "16:9"
}'
单图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-ycy-5s",
"prompt": "镜头缓慢推进,主体轻微眨眼并转头,背景柔和流动,真实光影",
"ratio": "9:16",
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
}'
多图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-ycy-5s",
"prompt": "画面按照图片顺序平滑转场,镜头轻微推进,保持主体一致,商业广告质感",
"ratio": "16:9",
"images": [
"data:image/jpeg;base64,/9j/4AAQ...第1张",
"data:image/jpeg;base64,/9j/4AAQ...第2张",
"data:image/jpeg;base64,/9j/4AAQ...第3张"
]
}'
Seedance 2.0 / 固定时长视频任务接口
seedance2.0-ycy-10s
模型 ID:seedance2.0-ycy-10s。固定生成 10 秒视频,适合更完整的镜头运动、产品展示和人物动作。
/v1/videos参数、base64 图片规则、任务查询方式与 seedance2.0-ycy-5s 一致,只需要把 model 改成 seedance2.0-ycy-10s。
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-ycy-10s",
"prompt": "一款白色智能手表在大理石桌面上旋转展示,镜头环绕,背景有柔和科技光效,商业摄影质感",
"ratio": "1:1"
}'
Seedance 2.0 / 固定时长视频任务接口
seedance2.0-ycy-15s
模型 ID:seedance2.0-ycy-15s。固定生成 15 秒视频,适合多图转场、相册成片、分镜展示和更长节奏的短视频。
/v1/videos参数、base64 图片规则、任务查询方式与 seedance2.0-ycy-5s 一致,只需要把 model 改成 seedance2.0-ycy-15s。
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-ycy-15s",
"prompt": "画面依次展示三张旅行照片,山谷、湖泊、城市夜景之间自然淡入淡出,镜头平滑移动,电影感",
"ratio": "16:9",
"images": [
"data:image/jpeg;base64,/9j/4AAQ...第1张",
"data:image/jpeg;base64,/9j/4AAQ...第2张",
"data:image/jpeg;base64,/9j/4AAQ...第3张"
]
}'
本地图片转 base64 data-URI
参考图必须带上 data:image/jpeg;base64, 或 data:image/png;base64, 前缀,只传裸 base64 会失败。建议先把图片压缩到 1024px 左右再编码。
import base64
from pathlib import Path
path = Path("reference.jpg")
mime = "image/png" if path.suffix.lower() == ".png" else "image/jpeg"
data_uri = f"data:{mime};base64," + base64.b64encode(path.read_bytes()).decode()
print(data_uri)
响应与任务查询
提交成功后会立即返回任务 ID。请轮询查询接口,建议每 10-15 秒查询一次。
{
"task_id": "task_xxxxxxxxxxxxxxxxxxxx",
"status": "processing",
"task_status": "SUBMITTED"
}
curl -X GET "https://888api.xin/v1/videos/task_xxxxxxxxxxxxxxxxxxxx" \
-H "Authorization: Bearer sk-你的密钥"
成功结果与视频内容
任务成功后,返回里的 url 或 task_result.videos[0].url 可以直接用于播放或下载。如果返回的是内容代理地址,也可以按下面格式访问。
{
"task_id": "task_xxxxxxxxxxxxxxxxxxxx",
"status": "completed",
"task_status": "SUCCESS",
"progress": 100,
"url": "https://888api.xin/v1/videos/task_xxxxxxxxxxxxxxxxxxxx/content",
"task_result": {
"videos": [
{
"url": "https://888api.xin/v1/videos/task_xxxxxxxxxxxxxxxxxxxx/content"
}
]
}
}
curl -L "https://888api.xin/v1/videos/task_xxxxxxxxxxxxxxxxxxxx/content" \
-H "Authorization: Bearer sk-你的密钥" \
-o output.mp4
失败响应
{
"task_id": "task_xxxxxxxxxxxxxxxxxxxx",
"status": "failed",
"task_status": "FAILURE",
"error": {
"message": "生成失败"
}
}
Seedance 2.0 / 720p 视频参考专用
doubao-seedance-2-0-fast
模型 ID:doubao-seedance-2-0-fast。适合需要参考视频风格、动作或镜头节奏的快速出片场景。
/v1/videosvideo_urls,不支持纯文生视频、base64 视频或本地文件路径。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 doubao-seedance-2-0-fast。 |
prompt | string | 是 | 视频提示词,建议写清希望复刻的动作、镜头、风格和变化目标。 |
video_urls | array | 是 | 参考视频公网 URL,最多 3 个。必须是可访问的 http/https 链接。 |
image_urls | array | 否 | 参考图片公网 URL,最多 9 张。 |
audio_urls | array | 否 | 参考音频公网 URL,最多 3 段。 |
duration | number|string | 否 | 默认 5 秒,支持 4-15 秒,也兼容 "6s" 这种写法。 |
ratio | string | 否 | 默认 16:9,也兼容字段名 size。 |
generate_audio | boolean | 否 | 是否生成音频,按模型能力生效。 |
视频参考示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0-fast",
"prompt": "参考视频的镜头节奏和人物动作,生成一段同风格的产品展示短片,画面干净,商业广告质感",
"duration": 5,
"ratio": "9:16",
"video_urls": [
"https://example.com/reference-video.mp4"
],
"image_urls": [
"https://example.com/product.jpg"
],
"generate_audio": false
}'
Seedance 2.0 / 720p 视频参考专用
doubao-seedance-2-0
模型 ID:doubao-seedance-2-0。适合质量优先的视频参考生成,质量优先版本。
/v1/videos720p & Uploaded Videos 视频参考任务。请传公网可访问的 video_urls,不要传 base64 或本地文件路径。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 doubao-seedance-2-0。 |
prompt | string | 是 | 视频提示词。 |
video_urls | array | 是 | 参考视频公网 URL,最多 3 个。 |
image_urls | array | 否 | 参考图片公网 URL,最多 9 张。 |
audio_urls | array | 否 | 参考音频公网 URL,最多 3 段。 |
duration | number|string | 否 | 默认 5 秒,支持 4-15 秒。 |
ratio | string | 否 | 默认 16:9,也兼容字段名 size。 |
视频与音频参考示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-0",
"prompt": "参考视频中的运镜和动作节奏,结合音频鼓点生成竖屏广告视频,主体清晰,转场自然",
"duration": 8,
"ratio": "9:16",
"video_urls": [
"https://example.com/reference-video.mp4"
],
"audio_urls": [
"https://example.com/reference-audio.mp3"
]
}'
查询任务
curl -X GET "https://888api.xin/v1/videos/task_xxxxxxxxxxxxxxxxxxxx" \
-H "Authorization: Bearer sk-你的密钥"
Seedance 2.0 / 视频生成接口模型
seedance2.0-full-9img
模型 ID:seedance2.0-full-9img。适合多素材约束和复杂画面生成。
/v1/videos请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 seedance2.0-full-9img。 |
prompt | string | 是 | 视频提示词,建议写清主体、动作、镜头、场景、风格。 |
duration | number | 否 | 支持 4-15 秒,直接传数字,例如 8,不要传 "8s";也兼容 seconds 字段(数字或字符串)。 |
ratio | string | 否 | 默认 16:9。支持 21:9、16:9、4:3、1:1、3:4、9:16。 |
resolution | string | 否 | 输出分辨率,默认 720p,当前仅支持 720p。 |
first_image | string | 首尾帧模式必填 | 首帧图片 URL,必须搭配 last_image 使用;不能与 referenceImages、referenceVideos、referenceAudios 同时使用。 |
last_image | string | 首尾帧模式必填 | 尾帧图片 URL,必须搭配 first_image 使用;兼容历史字段 lastFrameImage,同时传新旧字段时以 first_image / last_image 为准。 |
referenceImages | array | 否 | 参考图 URL 数组,最多 9 张,每张不超过 20MB;必须是公网可访问且不过期的 http/https 图片链接;也兼容 多模态格式里的 image_url。 |
referenceVideos | array | 否 | 参考视频 URL 数组,最多 3 个;总时长不超过 15 秒,总大小不超过 200MB,单个参考视频分辨率需在 720px-2160px 之间。 |
referenceAudios | array | 否 | 音频参考 URL 数组,最多 3 段;总时长不超过 15 秒,可与图片/视频参考组合,首尾帧模式不支持音频参考。 |
autoFace | boolean | 否 | 是否为本次任务请求自动人脸处理,默认 false。仅支持该能力的模型生效。 |
autoFace 生效示例
seedance2.0-full-9img 固定使用 720P;传入其他分辨率会在扣费前返回参数错误。传入 autoFace: true 时会请求自动人脸处理。
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-9img",
"prompt": "一位模特在城市街头自然转身,镜头缓慢推进,真实光影,电影感人像视频",
"duration": 6,
"ratio": "9:16",
"autoFace": true
}'
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-9img",
"prompt": "一把人体工学椅在明亮办公室里缓慢旋转,镜头平滑推进,写实商业广告风格",
"duration": 4,
"ratio": "16:9"
}'
首尾帧视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-9img",
"prompt": "从首帧产品包装平滑过渡到尾帧产品打开状态,镜头自然推进,商业广告质感",
"duration": 6,
"ratio": "16:9",
"first_image": "https://example.com/start.jpg",
"last_image": "https://example.com/end.jpg",
"autoFace": false
}'
单参考图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-9img",
"prompt": "参考图片中的产品保持一致,镜头缓慢推进,展示材质和细节",
"duration": 5,
"ratio": "9:16",
"referenceImages": [
"https://example.com/ref-1.jpg"
]
}'
多参考图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-9img",
"prompt": "根据多张参考图生成电商展示视频,产品结构和颜色保持一致,镜头自然切换",
"duration": 8,
"ratio": "9:16",
"referenceImages": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
}'
创建成功响应
{
"id": "video_1234567890",
"object": "video",
"created": 1774836724,
"model": "seedance2.0-full-9img",
"status": "queued",
"error": null
}
Seedance 2.0 / 视频生成接口模型
seedance2.0-full-4img
模型 ID:seedance2.0-full-4img。适合稳定高质量视频生成。
/v1/videos请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 seedance2.0-full-4img。 |
prompt | string | 是 | 视频提示词,建议写清主体、动作、镜头、场景、风格。 |
duration | number | 否 | 支持 4-15 秒,直接传数字,例如 8,不要传 "8s";也兼容 seconds 字段(数字或字符串)。 |
ratio | string | 否 | 默认 16:9。支持 16:9、9:16、1:1。 |
resolution | string | 否 | 输出分辨率,默认 720p,当前仅支持 720p。 |
first_image | string | 首尾帧模式必填 | 首帧图片 URL,必须搭配 last_image 使用;不能与 referenceImages、referenceVideos、referenceAudios 同时使用。 |
last_image | string | 首尾帧模式必填 | 尾帧图片 URL,必须搭配 first_image 使用;兼容历史字段 lastFrameImage,同时传新旧字段时以 first_image / last_image 为准。 |
referenceImages | array | 否 | 参考图 URL 数组,最多 4 张,每张不超过 20MB;必须是公网可访问且不过期的 http/https 图片链接;也兼容 多模态格式里的 image_url。 |
referenceVideos | array | 否 | 参考视频 URL 数组,最多 3 个;总时长不超过 15 秒,总大小不超过 200MB,单个参考视频分辨率需在 720px-2160px 之间。 |
referenceAudios | array | 否 | 音频参考 URL 数组,最多 1 段;总时长不超过 15 秒,可与图片/视频参考组合,首尾帧模式不支持音频参考。 |
autoFace | boolean | 否 | 兼容字段,当前模型传递时不生效。 |
autoFace 传参示例
autoFace 可以随请求一起传入,但不会改变该模型的生成效果。
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-4img",
"prompt": "一位模特在城市街头自然转身,镜头缓慢推进,真实光影,电影感人像视频",
"duration": 6,
"ratio": "9:16",
"autoFace": true
}'
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-4img",
"prompt": "一把人体工学椅在明亮办公室里缓慢旋转,镜头平滑推进,写实商业广告风格",
"duration": 4,
"ratio": "16:9"
}'
首尾帧视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-4img",
"prompt": "从首帧产品包装平滑过渡到尾帧产品打开状态,镜头自然推进,商业广告质感",
"duration": 6,
"ratio": "16:9",
"first_image": "https://example.com/start.jpg",
"last_image": "https://example.com/end.jpg"
}'
单参考图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-4img",
"prompt": "参考图片中的产品保持一致,镜头缓慢推进,展示材质和细节",
"duration": 5,
"ratio": "9:16",
"referenceImages": [
"https://example.com/ref-1.jpg"
]
}'
多参考图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-full-4img",
"prompt": "根据多张参考图生成电商展示视频,产品结构和颜色保持一致,镜头自然切换",
"duration": 8,
"ratio": "9:16",
"referenceImages": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
}'
创建成功响应
{
"id": "video_1234567890",
"object": "video",
"created": 1774836724,
"model": "seedance2.0-full-4img",
"status": "queued",
"error": null
}
Seedance 2.0 / 视频生成接口模型
seedance2.0-fast-4img
模型 ID:seedance2.0-fast-4img。适合快速出片和批量素材生产。
/v1/videos请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 seedance2.0-fast-4img。 |
prompt | string | 是 | 视频提示词,建议写清主体、动作、镜头、场景、风格。 |
duration | number | 否 | 支持 4-15 秒,直接传数字,例如 8,不要传 "8s";也兼容 seconds 字段(数字或字符串)。 |
ratio | string | 否 | 默认 16:9。支持 16:9、9:16、1:1。 |
resolution | string | 否 | 输出分辨率,默认 720p,当前仅支持 720p。 |
first_image | string | 首尾帧模式必填 | 首帧图片 URL,必须搭配 last_image 使用;不能与 referenceImages、referenceVideos、referenceAudios 同时使用。 |
last_image | string | 首尾帧模式必填 | 尾帧图片 URL,必须搭配 first_image 使用;兼容历史字段 lastFrameImage,同时传新旧字段时以 first_image / last_image 为准。 |
referenceImages | array | 否 | 参考图 URL 数组,最多 4 张,每张不超过 20MB;必须是公网可访问且不过期的 http/https 图片链接;也兼容 多模态格式里的 image_url。 |
referenceVideos | array | 否 | 参考视频 URL 数组,最多 3 个;总时长不超过 15 秒,总大小不超过 200MB,单个参考视频分辨率需在 720px-2160px 之间。 |
referenceAudios | array | 否 | 音频参考 URL 数组,最多 1 段;总时长不超过 15 秒,可与图片/视频参考组合,首尾帧模式不支持音频参考。 |
autoFace | boolean | 否 | 兼容字段,当前模型传递时不生效。 |
autoFace 传参示例
autoFace 可以随请求一起传入,但不会改变该模型的生成效果。
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-fast-4img",
"prompt": "一位模特在城市街头自然转身,镜头缓慢推进,真实光影,电影感人像视频",
"duration": 6,
"ratio": "9:16",
"autoFace": true
}'
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-fast-4img",
"prompt": "一把人体工学椅在明亮办公室里缓慢旋转,镜头平滑推进,写实商业广告风格",
"duration": 4,
"ratio": "16:9"
}'
首尾帧视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-fast-4img",
"prompt": "从首帧产品包装平滑过渡到尾帧产品打开状态,镜头自然推进,商业广告质感",
"duration": 6,
"ratio": "16:9",
"first_image": "https://example.com/start.jpg",
"last_image": "https://example.com/end.jpg"
}'
单参考图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-fast-4img",
"prompt": "参考图片中的产品保持一致,镜头缓慢推进,展示材质和细节",
"duration": 5,
"ratio": "9:16",
"referenceImages": [
"https://example.com/ref-1.jpg"
]
}'
多参考图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-fast-4img",
"prompt": "根据多张参考图生成电商展示视频,产品结构和颜色保持一致,镜头自然切换",
"duration": 8,
"ratio": "9:16",
"referenceImages": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
}'
创建成功响应
{
"id": "video_1234567890",
"object": "video",
"created": 1774836724,
"model": "seedance2.0-fast-4img",
"status": "queued",
"error": null
}
独立视频模型分组
视频模型与参数
以下视频模型通过统一异步视频接口调用。提交任务后保存响应中的 id,再轮询任务状态;参考素材必须使用公网可直接访问的 HTTP(S) URL。
/v1/videosSeedance
| 模型 ID | 计费方式 | 时长与分辨率 | 参考素材 |
|---|---|---|---|
seedance2.0-933-economy | 5 元/次 | 固定 15 秒,720P | 支持 9 张参考图、3 个参考视频和 3 个参考音频;支持真人内容。 |
视频模型 H3
| 模型 ID | 计费方式 | 时长与分辨率 | 参考素材 |
|---|---|---|---|
pidoi-h3video-2k | 2 元/条 | 15 秒,2K | 最多 9 图、3 视频、3 音频,总数不超过 12。 |
minimax-h3-480p-t | 0.065 元/秒 | 5-15 秒,480P | 按秒计费,请求须传 seconds;需传参考图(至少 1 张、最多 9 张),不支持参考视频与参考音频;画幅用 ratio 控制。 |
minimax-h3-768p-t | 0.07 元/秒 | 5-15 秒,768P | 按秒计费,请求须传 seconds;需传参考图(至少 1 张、最多 9 张),不支持参考视频与参考音频;画幅用 ratio 控制。 |
Omni Flash
| 模型 ID | 计费方式 | 时长与分辨率 | 参考素材 |
|---|---|---|---|
pidoi-omni-flash-720p | 0.80 元/条 | 5 或 10 秒,720P | 最多 4 图、3 视频、3 音频,总数不超过 12。 |
Veo 3.1
| 模型 ID | 计费方式 | 时长与分辨率 | 参考素材 |
|---|---|---|---|
pidoi-veo31-fast | 0.6 元/条 | 4、6 或 8 秒,720P/1080P | 最多 2 张首尾帧参考图。 |
Seedance
| 模型 ID | 计费方式 | 时长与分辨率 | 参考素材 |
|---|---|---|---|
seedance2.0-933-c4 | 2.3 元/条 | 4~15 秒,720P | 最多 9 图、3 视频、3 音频,总数不超过 12;支持真人内容;2.3 元/条。 |
seedance2.0-933-c5-fast | 3 元/条 | 4~15 秒,720P | 最多 9 图 / 3 视频 / 3 音频,全比例;3 元/条。 |
seedance2.0-933-c7-fast | 3.36 元/条 | 4~15 秒,720P | 最多 9 图 / 3 视频 / 3 音频,全比例;3.36 元/条。 |
seedance2.0-933-c8 | 4.56 元/条 | 4~15 秒,720P | 最多 9 图 / 3 视频 / 3 音频,全比例;4.56 元/条。 |
seedance2.5-301010-d5 | 0.56 元/秒 | 4~30 秒,720P | 最多 30 图 / 10 视频 / 10 音频,全比例;0.56 元/秒。 |
tt-sd2.5-720p | 7.5 元/条 | 4~30 秒,720P | 最多 30 图 / 10 视频 / 10 音频,不卡脸;7.5 元/条。 |
tt-sd2.5-720p-v1 | 7 元/条 | 4~30 秒,720P | 最多 30 图 / 10 视频 / 10 音频,不卡脸;7 元/条。 |
tt-sd2.5-1080p | 10 元/条 | 4~30 秒,1080P | 最多 30 图 / 10 视频 / 10 音频,不卡脸;10 元/条。 |
seedance2.5-301010-c3 | 8 元/条 | 4~30 秒,720P | 最多 30 图 / 10 视频 / 10 音频,内置过人脸;8 元/条。 |
wan3.0-video-prime-720 | 0.30 元/秒 | 仅 15 / 30 秒,720P | 最多 10 张参考图;按秒计费 0.30 元/秒。 |
wan3.0-video-prime-1080 | 0.35 元/秒 | 仅 15 / 30 秒,1080P | 最多 10 张参考图;按秒计费 0.35 元/秒。 |
seedance2.0-933 | 5 元/条 | 10 或 15 秒,720P | 最多 9 图、3 视频、3 音频,总数不超过 12;支持真人内容。 |
seedance2.0-933-mini | 1 元/条 | 5-12 秒,480P/720P | 最多 9 张参考图、3 段参考音频;不支持参考视频。 |
seedance2.0-480p | 0.5 元/秒 | 4-15 秒,480P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
seedance2.0-720p | 0.75 元/秒 | 4-15 秒,720P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
seedance2.0-stable-480p | 0.4 元/秒 | 4-15 秒,480P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
seedance2.0-stable-720p | 0.63 元/秒 | 4-15 秒,720P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
Wan
| 模型 ID | 计费方式 | 时长与分辨率 | 参考素材 |
|---|---|---|---|
wan30-720p | 0.25 元/秒 | 4-30 秒,720P | 按秒计费,请求须传 seconds;最多 10 图、5 视频、5 音频。 |
wan30-1080p-fast | 0.4 元/秒 | 4-30 秒,1080P | 按秒计费,请求须传 seconds;最多 10 图、5 视频、5 音频。 |
MC-WAN3-1080P-30S | 5.5 元/条 | 固定 30 秒,1080P | 按次计费(与时长无关);最多 10 图、5 视频、5 音频。 |
MC-WAN3-Prime-1080P-30S | 6.5 元/条 | 5-30 秒(默认 30),1080P | 按次计费(与时长无关);最多 10 图、5 视频、5 音频。 |
Seedance 2.5
| 模型 ID | 计费方式 | 时长与分辨率 | 参考素材 |
|---|---|---|---|
seedance2.5-480p-value | 0.45 元/秒 | 4-15 秒,480P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
seedance2.5-480p-plus | 0.5 元/秒 | 4-15 秒,480P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
seedance2.5-480p-pro | 0.5 元/秒 | 4-15 秒,480P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
seedance2.5-720p-plus | 0.75 元/秒 | 4-15 秒,720P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
seedance2.5-720p-pro | 0.75 元/秒 | 4-15 秒,720P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
seedance2.5-1080p-plus | 0.9 元/秒 | 4-15 秒,1080P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
seedance2.5-1080p-pro | 1.25 元/秒 | 4-15 秒,1080P | 按秒计费,请求须传 seconds;暂不支持参考素材。 |
xin-seedance-2.0-900 | 1.7 元/条 | 4-30 秒,720P | 按条计费,时长 4~30 秒任选;支持文生视频与最多 9 张参考图(images),不支持参考音频/视频;提示词需精炼、不宜过长。 |
xin-seedance-2.0-933 | 3 元/条 | 4-30 秒,720P | 按条计费,时长 4~30 秒任选;支持文生视频与最多 9 张参考图 + 3 个参考音频 + 3 个参考视频。 |
xin-seedance-2.5-3010 | 2.9 元/条 | 4-30 秒,720P | 按条计费,时长 4~30 秒任选;支持文生视频与最多 30 张参考图 + 10 个参考音频,不支持参考视频。 |
xin-seedance-2.5-900 | 1.7 元/条 | 4-30 秒,720P | 按条计费,时长 4~30 秒任选;支持文生视频与最多 9 张参考图,不支持参考音频/视频;提示词需精炼、不宜过长。 |
dola-seedance-2.5 | 1.7 元/条 | 4-30 秒,720P | 按条计费,时长 4~30 秒任选;支持文生视频与最多 30 张参考图(images),不支持参考音频/视频;用 ratio 控制画幅,兼容 size,见下方专用说明。 |
dola-seedance-2.0-fast | 1.5 元/条 | 4-15 秒,720P | 按条计费,时长 4~15 秒任选;支持文生视频与最多 9 张参考图,不支持参考音频/视频;提示词需精炼、不宜过长。 |
dola-seedance-2.0-900 | 1.3 元/条 | 4-15 秒,720P | 按条计费,时长 4~15 秒任选;支持文生视频与最多 9 张参考图(images),不支持参考音频/视频;单件素材体积上限:图片 30MB、文本 16KB。 |
dola-seedance-2.0-933 | 1.5 元/条 | 4-15 秒,720P | 按条计费,时长 4~15 秒任选;支持文生视频与最多 9 张参考图 + 3 条参考视频 + 3 条参考音频;单件素材体积上限:图片 30MB、视频 200MB、音频 15MB、文本 16KB。 |
dola-seedance-2.5-900 | 1.45 元/条 | 5-30 秒,720P | 按条计费,时长 5~30 秒任选;支持文生视频与最多 9 张参考图(images),不支持参考音频/视频;单件素材体积上限:图片 30MB、文本 16KB。 |
dola-seedance-2.5-301010 | 1.5 元/条 | 5-30 秒,720P | 按条计费,时长 5~30 秒任选;支持文生视频与最多 30 张参考图(images)、10 条参考视频(videos)、10 条参考音频(audios);单件素材体积上限:图片 30MB、视频 200MB、音频 15MB、文本 16KB。 |
seedance-2.5-G2-V | 7 元/条 | 5-30 秒,720P | 按条计费,时长 5~30 秒任选;支持文生视频与最多 30 张参考图(images)、10 条参考视频(videos)、10 条参考音频(audios);单件素材体积上限:图片 30MB、视频 200MB、音频 15MB、文本 16KB。 |
seedance-2.5-g5-v2 | 7 元/条 | 5-30 秒,720P | G2-V 的继任型号,规格与用法完全一致;按条计费,时长 5~30 秒任选;支持文生视频与最多 30 张参考图(images)、10 条参考视频(videos)、10 条参考音频(audios);单件素材体积上限:图片 30MB、视频 200MB、音频 15MB、文本 16KB。 |
seedance2.5-900 | 6.5 元/条 | 15 / 30 秒,720P | 按条计费;支持文生视频与最多 9 张参考图(images),支持 16:9 / 9:16 / 1:1 / 4:3 / 3:4;单图上限 10MB、合计上限 20MB。;临时维护,暂停提供 |
seedance2.5-301010 | 5.8 元/条 | 5-30 秒(逐秒可选),720P | 按条计费;支持文生视频与最多 30 张参考图(images),支持 16:9 / 9:16 / 1:1;单图上限 10MB、合计上限 20MB。 |
seedance2.5-301010-av | 5.1 元/条 | 4-30 秒(逐秒可选),720P | 按条计费;支持文生视频与最多 30 张参考图(images),支持 16:9 / 9:16 / 1:1;单图上限 10MB、合计上限 20MB。 |
seedance2.5-930-1080p | 5.0 元/条 | 5-30 秒(逐秒可选),1080P | 按条计费;支持文生视频与最多 9 张参考图(images),支持 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 21:9;单图上限 10MB、合计上限 20MB。参考音频最多 3 条,单文件上限 20MB,放在 metadata.audios 数组(音频 URL 列表)传入,可在提示词用 @音频1 引用;暂不支持参考视频。 |
ss-2.5-720p-v1 | 5.0 元/条 | 5-30 秒(逐秒可选),720P | 按条计费;支持文生视频与最多 30 张参考图(images)、10 条参考音频(audios)、10 条参考视频(videos);支持 16:9 / 9:16 / 1:1。 |
ss-2.0-933-720p | 1.5 元/条 | 5-15 秒(逐秒可选),720P | 按条计费;支持文生视频与最多 9 张参考图(images)、3 条参考视频(videos)、3 条参考音频(audios);支持 16:9 / 9:16 / 1:1。 |
seedance2.5-301010-wool | 7 元/条 | 4-30 秒(逐秒可选),720P | 按条计费;支持文生视频与最多 30 张参考图(images)、10 条参考视频(videos)、10 条参考音频(audios),支持首帧/首尾帧/多帧/全能引用;比例 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16。 |
seedance2.5-301010-wool-1080p | 10 元/条 | 4-30 秒(逐秒可选),1080P | 按条计费;规格同上,输出 1080P;最多 30 张参考图、10 条参考视频、10 条参考音频。 |
s2-2.5-480p-v2 | 5.0 元/条 | 5-30 秒(逐秒可选),480P | 按条计费;支持文生视频与最多 30 张参考图(images)、10 条参考音频(audios);支持 16:9 / 9:16 / 1:1;原生人脸。 |
ss-2.5-720p-v3 | 6.5 元/条 | 4-30 秒(逐秒可选),720P | 按条计费;满血全参档,支持文生视频与最多 30 张参考图(images)、10 条参考音频(audios)、10 条参考视频(videos);支持 16:9 / 9:16 / 1:1;原生人脸,不卡脸。 |
sd2.5-G3-特惠-1 | 6 元/条 | 4-30 秒(逐秒可选),720P | 按条计费;G3 特惠版,支持文生视频与最多 30 张参考图(images)、10 条参考视频(videos)、10 条参考音频(audios);支持 16:9 / 9:16 / 1:1;后台处理人脸。 |
minimax-h3-933-720p | 1.0 元/条 | 4-15 秒(逐秒可选),720P | 按条计费,时长 4~15 秒;支持文生视频与最多 9 张参考图、3 条参考视频、3 条参考音频(素材合计不超过 12 件)。 1.0 元/条。 |
minimax-h3-933-2k | 1.5 元/条 | 4-15 秒(逐秒可选),2K | 按条计费,时长 4~15 秒;支持文生视频与最多 9 张参考图、3 条参考视频、3 条参考音频(素材合计不超过 12 件)。 1.5 元/条。 |
s2-2.5-720p-v4 | 7.0 元/条 | 5-30 秒(逐秒可选),720P | 按条计费;支持文生视频与最多 30 张参考图(images)、10 条参考音频(audios)、10 条参考视频(videos);支持 16:9 / 9:16 / 1:1;原生人脸。 |
doubao-seedance-2.5 | 6.5 元/条 | 5-30 秒(逐秒可选),720P | 按条计费;支持文生视频与最多 9 张参考图(images),不支持参考音频/视频;支持 16:9 / 9:16 / 1:1。 |
seedance2.5-vip-30-10-10 | 4 元/条 | 5-30 秒,720P | 按条计费,时长 5~30 秒任选;支持文生视频与最多 30 张参考图(images)、10 条参考视频(videos)、10 条参考音频(audios);内置过人脸。 |
seedance2.5-vip-30-0-10 | 3.5 元/条 | 固定 30 秒,720P | 按条计费,时长固定 30 秒;支持文生视频与最多 30 张参考图(images)、10 条参考音频(audios),不支持参考视频;不支持人脸(卡脸)。 |
seedance2.0-900-wool | 0.45 元/条(临时半价) | 4-10 秒,720P | 按条计费,时长 4~10 秒任选;支持文生视频与最多 9 张参考图(images),不支持参考音频/视频;经济档,提示词需精炼。 |
seedance2.5-900-wool | 1.1 元/条 | 4-30 秒,720P | 按条计费,时长 4~30 秒任选;支持文生视频与最多 9 张参考图(images),不支持参考音频/视频;经济档,提示词需精炼。 |
seedance2.0-933-wool | 0.55 元/条(临时半价) | 4-10 秒,720P | 按条计费,时长 4~10 秒任选;支持文生视频与最多 9 张参考图(images),不支持参考音频/视频;经济档,提示词需精炼。 |
seedance2.5-101010-wool | 1.3 元/条 | 4-30 秒,720P | 按条计费,时长 4~30 秒任选;支持文生视频与最多 10 张参考图(images),不支持参考音频/视频;经济档,提示词需精炼。 |
seedance2.5-301010-wool(旧版·已下架) | 1.7 元/条 | 4-30 秒,720P | 按条计费,时长 4~30 秒任选;支持文生视频与最多 30 张参考图(images),不支持参考音频/视频;经济档,提示词需精炼。 |
seedance2.0-803-wool | 0.75 元/条 | 4-10 秒,720P | 按条计费,时长 4~10 秒任选;Seedance 2.0 羊毛版,支持文生视频、最多 8 张参考图与 3 条参考音频,不支持参考视频,images 传图 |
seedance2.0-803-wool-1080p | 1 元/条 | 4-10 秒,1080P | 按条计费,时长 4~10 秒任选;Seedance 2.0 羊毛版,支持文生视频、最多 8 张参考图与 3 条参考音频,不支持参考视频,images 传图 |
seedance2.0-803-wool-2k | 1.25 元/条 | 4-10 秒,2K | 按条计费,时长 4~10 秒任选;Seedance 2.0 羊毛版,支持文生视频、最多 8 张参考图与 3 条参考音频,不支持参考视频,images 传图 |
seedance2.0-813-wool | 1 元/条 | 4-10 秒,720P | 按条计费,时长 4~10 秒任选;Seedance 2.0 羊毛版,支持文生视频、最多 8 张参考图、1 条参考视频与 3 条参考音频,images 传图 |
seedance2.0-813-wool-1080p | 1.25 元/条 | 4-10 秒,1080P | 按条计费,时长 4~10 秒任选;Seedance 2.0 羊毛版,支持文生视频、最多 8 张参考图、1 条参考视频与 3 条参考音频,images 传图 |
seedance2.0-813-wool-2k | 1.5 元/条 | 4-10 秒,2K | 按条计费,时长 4~10 秒任选;Seedance 2.0 羊毛版,支持文生视频、最多 8 张参考图、1 条参考视频与 3 条参考音频,images 传图 |
seedance2.0-503-wool | 0.5 元/条 | 4-10 秒,720P | 按条计费,时长 4~10 秒任选;Mini Seedance 2.0 羊毛版,支持文生视频、最多 5 张参考图与 3 条参考音频,不支持参考视频,images 传图 |
multipart/form-data 表单(curl 用 -F),不要提交 JSON 体,否则返回 400 Invalid task protocol request。
参考图用 images 传多张 URL 或文件;seedance2.0-813-wool* 额外支持 1 条参考视频 videos,参考视频与参考音频各自总时长不超过 12 秒。
duration 支持 4~10 秒;ratio 支持 21:9 / 16:9 / 4:3 / 1:1 / 9:16(813、503 另支持 3:4)。全部按条计费,创建任务时一次性扣费,出片后不补扣。
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-F "model=seedance2.0-803-wool" \
-F "prompt=海边日落,镜头缓慢向前推进" \
-F "ratio=16:9" \
-F "duration=4"
Sora 2
| 模型 ID | 计费方式 | 时长与分辨率 | 参考素材 |
|---|---|---|---|
sora2-480p | 4 元/条 | 4-15 秒,480P | 按条计费;暂不支持参考素材。 |
seconds(整数秒,未传默认 5 秒)。
MiniMax H3 特惠(
minimax-h3-480p-t / minimax-h3-768p-t):输入分辨率 480P 或 768P(由模型 ID 决定);需至少提供 1 张参考图(不支持纯文生视频),最多 9 张,不支持参考视频与参考音频;画幅用 ratio 控制,支持 16:9、9:16、1:1、4:3、3:4、3:2、2:3、21:9。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 填写上表中的模型 ID。 |
prompt | string | 是 | 视频生成提示词。 |
duration | integer | 按条模型 | 生成秒数,须在当前模型支持范围内。 |
seconds | integer | 按秒模型 | 按秒计费模型须使用此字段;不要只传 duration。 |
resolution | string | 建议 | 填写 480p、720p、1080p 或 2k,以模型支持范围为准。 |
ratio | string | 否 | 画幅比例,默认 16:9;常用值:9:16(竖屏)、1:1(方形)、4:3、3:4。 |
images | string[] | 否 | 参考图片 URL 数组;仅支持参考图片的模型可用,数量见上表。 |
videos | string[] | 否 | 仅支持参考视频的模型可用;数量见上表,Veo 3.1 Fast 不支持。 |
audios | string[] | 否 | 仅支持参考音频的模型可用;数量见上表,Veo 3.1 Fast 不支持。 |
创建示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-933",
"prompt": "保持参考图主体一致,镜头平滑推进,真实自然光影",
"duration": 10,
"resolution": "720p",
"ratio": "9:16",
"images": ["https://example.com/reference.jpg"]
}'
创建成功后会返回任务 id 和状态。使用 GET /v1/videos/{id} 查询;完成时读取 video_url、result_url、url 或响应元数据中的视频地址。若未返回地址,可访问 GET /v1/videos/{id}/content 下载结果。
dola-seedance-2.5 专用请求契约
duration(4~30,与 seconds 二选一,同时传入时以 duration 为准);画幅用 ratio 比例字符串——横屏 "16:9"、竖屏 "9:16"、方形 "1:1",不传默认横屏 720P(兼容老写法 "size": "1280x720"),模型仅支持 720P;参考图传 images 数组(URL,最多 30 张,也可用 input_reference 传单张),提示词中须以 @图1、@图2 … 逐一引用全部参考图,顺序与 images 数组一一对应,缺少引用会被整单拒绝;不支持参考音频与参考视频。curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "dola-seedance-2.5",
"prompt": "保持 @图1 人物主体一致,镜头平滑推进,真实自然光影",
"duration": 10,
"size": "1280x720",
"images": ["https://example.com/reference.jpg"]
}'
查询与取回方式与通用流程一致:GET /v1/videos/{id} 轮询状态,完成时视频地址位于响应顶层 url 字段(同时兼容 video_url / result_url);也可访问 GET /v1/videos/{id}/content 下载结果。
face 字段控制人脸处理档位:· 服务器默认:不传
face,或传空对象 {},由服务器默认策略处理(等同网页端「服务器默认」,页面不预览)。· 不过脸(原图上传):显式传
face: {"enabled": false} 或 face: false,不做人脸处理,参考图原样上传。注意:不传
face 不等于关闭人脸处理,只是走服务器默认;只有显式写 enabled: false / face: false 才是「不过脸」。「不过脸」请求示例:
{
"model": "seedance2.0-900-wool",
"prompt": "雨后街道,暖色店灯",
"images": ["https://example.com/reference.jpg"],
"face": { "enabled": false }
}
multipart 表单同样支持:-F 'face={"enabled":false}'(等价 -F 'face=false')。经济档系列(经济档)
seedance2.0-900-wool(0.45 元/条,临时半价,4~10 秒)、seedance2.5-900-wool(0.55 元/条(临时半价),4~30 秒)、seedance2.0-933-wool(0.55 元/条,临时半价,4~10 秒)、seedance2.5-101010-wool(1.3 元/条,4~30 秒,最多 10 图)、seedance2.5-301010-wool(7 元/条,4~30 秒,720P,最多 30 图)。
请求契约:与通用流程一致——画幅用
ratio("16:9"/"9:16"/"1:1",默认横屏),仅 720P;时长传整数 duration;参考图传 images 数组(公网 URL),提示词用 @图1、@图2 … 引用(未引用的部分系统会自动补齐引用)。不支持参考音频与参考视频。
失败退款:任务失败时自动全额退款;2.5 系列涉及真人画面时偶发「肖像保护」失败,退款后调整提示词重试即可。
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-900-wool",
"prompt": "保持 @图1 人物主体一致,海边日落漫步,真实自然光影",
"duration": 8,
"ratio": "16:9",
"images": ["https://example.com/reference.jpg"]
}'
按秒计费模型:使用 seconds
seedance2.0-720p 等标注按秒计费的模型须传 seconds。不要照搬按条模型的 duration,也不要同时传入两个不同的时长。
curl --fail-with-body -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"seedance2.0-720p","prompt":"海边日落,镜头缓慢拉远","seconds":5,"ratio":"16:9"}'
模型分组
Seedance 2.5
Seedance 2.5 是 Seedance 系列的一个版本,通过统一视频生成接口创建异步任务。
/v1/videos| 模型 ID | 分辨率 | 计费方式 | 说明 |
|---|---|---|---|
seedance-2.5-c1 | 480p / 720p | 按量计费 | 支持文生视频和参考素材生成,按请求时长计费。 |
请求参数与限制
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定填写 seedance-2.5-c1。 |
prompt | string | 是 | 描述主体、动作、镜头、场景和风格。 |
duration | number|string | 是 | 支持 4-30 秒,按实际秒数计费。 |
resolution | string | 否 | 支持 480p、720p;默认 720p。 |
ratio | string | 否 | 支持 16:9、9:16、1:1、4:3、3:4。 |
image_url / image_urls | string / string[] | 否 | 参考图公网地址,最多 9 张。 |
video_urls、audio_urls | string[] | 否 | 参考视频最多 3 段,参考音频最多 3 段;总素材不超过 12 个。 |
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" -H "Content-Type: application/json" \
-d '{"model":"seedance-2.5-c1","prompt":"海边日落,镜头从近景缓慢拉远,电影感","duration":10,"resolution":"720p","ratio":"16:9"}'
图像与多素材示例
{
"model": "seedance-2.5-c1",
"prompt": "保持 @image1 人物一致,参考 @video1 的运镜并匹配 @audio1 节奏",
"duration": 15,
"ratio": "9:16",
"resolution": "720p",
"image_urls": ["https://example.com/person.jpg"],
"video_urls": ["https://example.com/motion.mp4"],
"audio_urls": ["https://example.com/music.mp3"]
}
轮询、结果与计费
创建后保存 id,使用 GET /v1/videos/{id} 每 5-10 秒轮询。状态为 completed 时读取 url、video_url 或 result_url;失败状态会退款,按平台积分规则根据请求时长计费。
Seedance 2.0 / Mini 官方折扣版
sd_2.0_mini_special
按生成时长计费,支持文生视频及图片、视频、音频参考。参考素材使用公网可访问地址或已审核素材 ID,仅支持 720P。
/v1/videos多模态参考最多 9 张参考图、3 个参考视频、3 段参考音频;参考视频总时长不超过 15 秒,参考音频总时长不超过 15 秒。音频不能单独输入,至少需要同时提供 1 张参考图或 1 个参考视频。首帧、首尾帧与多模态参考场景不可混用。
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" -H "Content-Type: application/json" \
-d '{"model":"sd_2.0_mini_special","prompt":"城市夜景中镜头缓慢推进","duration":5,"resolution":"720p","ratio":"16:9"}'
多素材参考示例
{
"model": "sd_2.0_mini_special",
"prompt": "保持人物身份,参考视频运镜并匹配音乐节奏",
"duration": 10,
"resolution": "720p",
"ratio": "9:16",
"image_urls": ["https://example.com/person.jpg"],
"video_urls": ["https://example.com/motion.mp4"],
"audio_urls": ["https://example.com/music.mp3"]
}
按平台积分规则根据 duration 计费。创建后使用 GET /v1/videos/{id} 轮询,失败任务按平台规则退款。
独立模型分组
MiniMax H3
MiniMax H3 是独立视频模型,不属于 Seedance 2.0 或 Seedance 2.5。
/v1/videos| 模型 ID | 分辨率 | 计费方式 | 说明 |
|---|---|---|---|
minimax-h3 | 2K | 2.50 元/条 | MiniMax H3 标准模型。 |
minimax-h3-c4 | 1440P | 2.50 元/条 | MiniMax H3 C4 模型,支持音频参考。 |
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | minimax-h3 或 minimax-h3-c4。 |
prompt | string | 是 | 视频主体、动作、镜头、场景和风格描述,建议不超过 4096 个字符。 |
duration / seconds | string / number | 是 | 固定 15 秒,可传 15 或 "15"。 |
ratio / aspect_ratio | string | 否 | 16:9、9:16、4:3、3:4、1:1、21:9,默认 16:9。 |
resolution | string | 否 | 标准模型固定 2K;C4 模型固定 1440P。 |
image_url | string | 否 | 主参考图,对应提示词中的 @image1。 |
reference_image_urls | string[] | 否 | 额外参考图,与主参考图合计最多 9 张。 |
reference_videos | string[] | 否 | 最多 3 段,单段不超过 15 秒,多段总时长不超过 15 秒。 |
audio_url / audio_urls | string / string[] | 否 | 最多 3 段,支持 MP3/WAV;单段 2-15 秒,多段总时长不超过 15 秒。C4 支持音频参考。 |
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3",
"prompt": "雨夜霓虹街道,镜头缓慢推进,电影感光影,画面稳定细腻",
"duration": "15",
"ratio": "16:9",
"resolution": "2K"
}'
多参考素材示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3-c4",
"prompt": "保持 @image1 人物身份和服装一致,参考 @image2 的场景,按照 @video1 的运镜并匹配 @audio1 节奏",
"image_url": "https://example.com/main.jpg",
"reference_image_urls": ["https://example.com/scene.jpg"],
"reference_videos": ["https://example.com/camera.mp4"],
"audio_urls": ["https://example.com/rhythm.mp3"],
"duration": 15,
"ratio": "16:9",
"resolution": "1440P"
}'
创建、轮询与结果
创建成功会返回任务 id 或 task_id,状态通常为 queued 或 processing。建议每 5-10 秒调用一次任务查询接口,直到状态变为 completed 或 failed。
curl "https://888api.xin/v1/videos/task_xxxxxxxxxxxxxxxxxxxx" \
-H "Authorization: Bearer sk-你的密钥"
{
"id": "task_xxxxxxxxxxxxxxxxxxxx",
"object": "video",
"model": "minimax-h3",
"status": "completed",
"progress": 100,
"url": "https://example.com/generated/video.mp4",
"video_url": "https://example.com/generated/video.mp4"
}
任务失败时会返回 failed 状态和错误信息;失败任务不会继续扣费。参考图片、视频和音频必须是公网可访问地址,不能使用需要登录或短时间失效的链接。
视频生成模型
Seedance 2.0 SS
SS V2 系列支持文生视频、首帧、首尾帧和多参考素材生视频。提交后返回异步任务 ID,需轮询至完成或失败。
/v1/videos可用模型与售价
| 模型 ID | 售价 | 计费单位 | 说明 |
|---|---|---|---|
seedance2.0-ss | 2.00 元/次 | 每次生成任务 | Seedance 2.0 SS 高质量版。 |
seedance2.0-ss-fast | 1.50 元/次 | 每次生成任务 | Seedance 2.0 SS 快速版。 |
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | seedance2.0-ss 或 seedance2.0-ss-fast。 |
prompt | string | 是 | 视频提示词。 |
duration | number | 否 | 支持 6、8、10、12、15 秒。 |
ratio | string | 否 | 支持 16:9、9:16、1:1、2:3、3:2。 |
resolution | string | 否 | 480p 或 720p。 |
referenceImages | array | 否 | 公网可访问的参考素材 URL,最多 9 个;首尾帧请按首帧、尾帧顺序传入。 |
文生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-ss",
"prompt": "一辆未来感跑车穿过雨夜城市,低角度跟拍,电影级光影",
"duration": 10,
"ratio": "16:9",
"resolution": "720p"
}'
多参考素材示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2.0-ss-fast",
"prompt": "保持参考图中的人物、服装和场景一致,镜头缓慢推进",
"duration": 8,
"ratio": "9:16",
"resolution": "720p",
"referenceImages": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
}'
查询任务
保存创建响应中的 id 或 task_id,每 5-10 秒调用 GET /v1/videos/{id}。当 status 为 completed 时读取 url;为 failed 时停止轮询并读取错误信息。
curl "https://888api.xin/v1/videos/task_xxxxxxxxxxxxxxxxxxxx" \
-H "Authorization: Bearer sk-你的密钥"
模型分组
Grok
Grok 视频模型通过统一视频任务接口调用,支持使用参考图片生成视频。提交任务后,请通过任务 ID 轮询生成状态。
/v1/videosimage_url 传入一张公网可访问的图片;缺少图片时会返回“requires an input image”。
可用模型
| 模型 ID | 计费方式 | 建议时长 | 说明 |
|---|---|---|---|
grok-imagine-1.0-video | 按量计费 | 6 或 10 秒 | Grok 1.0 视频模型兼容 ID。 |
grok-imagine-video | 按量计费 | 6 或 10 秒 | Grok 视频模型兼容 ID。 |
grok-imagine-video-preview | 按量计费 | 6 或 10 秒 | Grok Preview 预览模型兼容 ID。 |
grok-imagine-video-1.5-preview | 按量计费 | 5、6、10 或 15 秒 | 必须传入参考图片,适合较长视频和质量优先场景。 |
grok-imagine-video-1.5-fast | 按量计费 | 建议 10 秒 | 适合快速出片。 |
grok-video-15s | 按量计费 | 固定 15 秒,必须传 1 张参考图 | 仅支持参考图生视频,不支持纯文生视频。 |
调用流程
- 调用
POST /v1/videos创建视频生成任务。 - 保存响应里的
id或task_id。 - 调用
GET /v1/videos/{id}查询任务状态。 - 当
status为completed时,优先读取顶层url;也可读取顶层video_url或result_url。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 填写上方任一 Grok 模型 ID。 |
prompt | string | 是 | 视频提示词,建议写清主体、动作、镜头、场景、风格和负面约束。 |
image_url | string | 1.5 Preview 必填 | 单张参考图片 URL,必须能公网直接访问,不能需要登录或很快过期。 |
seconds | string | 建议填写 | 视频时长秒数。1.5 Preview 建议使用 "5"、"6"、"10" 或 "15"。 |
size | string | 建议填写 | 直接填写输出像素,例如 1280x720,不要同时传比例别名。 |
quality | string | 否 | 默认使用 standard,通常无需填写。 |
支持的比例与像素
| 方向 | 比例 | size 像素 | 说明 |
|---|---|---|---|
| 横屏 | 16:9 | 1280x720 | 标准横屏 |
| 竖屏 | 9:16 | 720x1280 | 标准竖屏 |
| 高清横屏 | 约 16:9 | 1792x1024 | 高清横屏 |
| 高清竖屏 | 约 9:16 | 1024x1792 | 高清竖屏 |
1792x1024 与 1024x1792 为高清近似比例尺寸。请求时直接填写 size 像素值即可。
1.5 Preview 参考图生视频示例
curl -X POST "https://888api.xin/v1/videos" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video-1.5-preview",
"prompt": "保持参考图人物外观一致,人物自然转头并微笑,镜头缓慢推进,真实光影,电影质感。",
"image_url": "https://example.com/reference.jpg",
"seconds": "15",
"size": "1280x720"
}'
创建成功响应
{
"id": "task_xxxxxxxxxxxxxxxxxxxx",
"object": "video",
"model": "grok-imagine-video-1.5-preview",
"status": "queued"
}
查询任务
/v1/videos/{id}curl -X GET "https://888api.xin/v1/videos/task_xxxxxxxxxxxxxxxxxxxx" \
-H "Authorization: Bearer sk-你的密钥"
查询中响应
{
"id": "task_xxxxxxxxxxxxxxxxxxxx",
"object": "video",
"status": "processing",
"progress": 45,
"url": null
}
完成响应
{
"id": "task_xxxxxxxxxxxxxxxxxxxx",
"object": "video",
"status": "completed",
"progress": 100,
"url": "https://example.com/generated/video.mp4",
"video_url": "https://example.com/generated/video.mp4",
"result_url": "https://example.com/generated/video.mp4",
"seconds": "15",
"size": "1280x720",
"quality": "standard"
}
url,并及时下载保存生成视频。
图片生成模型
图片生成与编辑
图片生成模型通过统一的图片接口调用。客户只需要替换模型 ID,并使用自己的 888API 密钥。
/v1/images/generations模型与计费
| 模型 ID | 分类 | 计费方式 | 说明 |
|---|---|---|---|
gpt-image-2.5-1k | 图片生成 | 0.06 元/次 | GPT Image 2.5,1K 输出,支持文字生图与参考图。 |
gpt-image-2.5-4k | 图片生成 | 0.09 元/次 | GPT Image 2.5,4K 输出(最高 3840 边),支持文字生图与参考图。 |
gpt-image-2.5-flare | 图片生成 | 0.05 元/次 | GPT Image 2.5 Flare 风格,支持文字生图与参考图;部分场景上游要求提供参考图(未带图会返回 image is required),建议附带参考图。 |
gpt-image-2.5-flare-4k | 图片生成 | 0.09 元/次 | GPT Image 2.5 Flare 风格,4K 输出,支持文字生图与参考图。 |
gpt-image-2.5-sunburst | 图片生成 | 0.05 元/次 | GPT Image 2.5 Sunburst 风格,支持文字生图与参考图。 |
gpt-image-2.5-sunburst-4k | 图片生成 | 0.09 元/次 | GPT Image 2.5 Sunburst 风格,4K 输出,支持文字生图与参考图。 |
gpt-image-2-1k | 图片生成 | 按量计费(1K) | 1K 图片生成模型,按实际规格计费。 |
gpt-image-2 | 图片生成 | 0.05 元/次 | 通用图片生成、改图和视觉创意,支持 2K/4K 输出,按次计费。 |
gpt-image-2-4k | 图片生成 | 0.09 元/次 | GPT Image 2,4K 输出,支持文字生图与参考图改图。 |
gpt-image-2-plus | 图片生成 | 按量计费(2K) | 兼容名称,2K 请求按对应图片规格处理。 |
gpt-image-2-pro | 图片生成 | 按量计费(4K) | 兼容名称,4K 请求按对应图片规格处理。 |
gpt-image-2pro | 兼容旧名称 | 按量计费 | 兼容旧模型名称,按实际图片规格计费。 |
gemini-3-pro-image-preview | 图片生成 | 按量计费 | 香蕉 Pro,高质量图片生成和参考图创作。 |
gemini-3-pro-image-preview-c | 兼容旧名称 | 按量计费 | 兼容旧模型名称。 |
gemini-3.1-flash-image-preview | 图片生成 | 按量计费 | 香蕉2,快速图片生成和参考图创作。 |
gemini-3.1-flash-image-preview-c | 兼容旧名称 | 按量计费 | 兼容旧模型名称。 |
请求格式
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 填写上方任一图片模型 ID。 |
prompt | string | 是 | 图片生成提示词。 |
n | number | 否 | 生成图片张数,默认 1,按实际张数计费。 |
size | string | 否 | 图片尺寸,格式为 宽x高,例如 1024x1024。 |
gpt-image-2 支持的分辨率
| 方向 | 比例 | size 像素 | 适用模型 |
|---|---|---|---|
| 方图 | 1:1 | 1024x1024 | gpt-image-2、gpt-image-2pro |
| 竖图 | 9:16 | 864x1536 | gpt-image-2 |
| 横图 | 16:9 | 1536x864 | gpt-image-2 |
| 高清竖图 | 9:16 | 1152x2048 | gpt-image-2 |
| 高清横图 | 16:9 | 2048x1152 | gpt-image-2 |
| 高清方图 | 1:1 | 2048x2048 | gpt-image-2、gpt-image-2pro |
| 超清竖图 | 9:16 | 2160x3840 | gpt-image-2 |
| 超清横图 | 16:9 | 3840x2160 | gpt-image-2 |
| 超清方图 | 1:1 | 2880x2880 | gpt-image-2 |
gpt-image-2 的宽和高必须大于 0,并且都必须是 16 的倍数。请勿使用 1920x1080,因为 1080 不是 16 的倍数;横屏可改用 1536x864、2048x1152 或 3840x2160。gpt-image-2pro 建议使用 1024x1024 或 2048x2048。
/v1/images/generations;有参考图时使用 /v1/images/edits,按平台积分规则根据生成张数计费。
生成示例
curl -X POST "https://888api.xin/v1/images/generations" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "生成一张电商产品主图:白色陶瓷咖啡杯放在浅灰色桌面上,柔和自然光,干净高级,1:1 构图。",
"n": 1,
"size": "1024x1024"
}'
Gemini 图片模型示例
curl -X POST "https://888api.xin/v1/images/generations" \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "生成一张国潮风护肤品海报,红金配色,产品居中,背景有柔和丝绸纹理,商业摄影质感。",
"n": 2,
"size": "1024x1024"
}'
响应示例
{
"created": 1781890000,
"data": [
{
"url": "https://example.com/generated-image.png"
}
]
}
本地图片编辑示例
把 reference.png 放在当前终端目录中。-F 会自动设置 multipart/form-data 与边界,不要额外添加 JSON Content-Type。不同图片模型支持的参数与参考图数量可能不同。
curl --fail-with-body -X POST "https://888api.xin/v1/images/edits" \
-H "Authorization: Bearer $API_KEY" \
-F 'model=gpt-image-2' \
-F 'prompt=保留主体外观,将背景改为简洁的浅灰色摄影棚' \
-F 'image=@reference.png' \
-F 'size=1024x1024' \
-F 'n=1'读取并保存图片结果
响应中的 data 是图片数组。返回 url 时下载该地址;返回 b64_json 时按 Base64 解码并保存。图片接口通常直接返回结果,无需套用视频任务轮询。
import base64
import os
from pathlib import Path
import requests
response = requests.post(
"https://888api.xin/v1/images/generations",
headers={"Authorization": "Bearer " + os.environ["API_KEY"]},
json={"model": "gpt-image-2", "prompt": "白色陶瓷咖啡杯,柔和自然光", "n": 1, "size": "1024x1024"},
timeout=180,
)
response.raise_for_status()
for index, image in enumerate(response.json()["data"], 1):
if image.get("b64_json"):
content = base64.b64decode(image["b64_json"], validate=True)
elif image.get("url"):
download = requests.get(image["url"], timeout=120)
download.raise_for_status()
content = download.content
else:
raise ValueError("响应缺少 url 和 b64_json,请保留响应并联系支持")
Path(f"image-{index}.png").write_bytes(content)
print(f"已保存 image-{index}.png")
任务状态与下载
所有视频模型统一使用 GET /v1/videos/{id} 查询任务;将创建响应中的 id 或 task_id 填入路径,并使用创建该任务的 API Key。
接口契约(四条硬约定)
| 约定 | 服务端行为 | 你的实现要求 |
|---|---|---|
url 一律是绝对地址 | 完成态返回完整的 https://888api.xin/v1/videos/{id}/content,可直接下载 | 原样使用。不要当相对路径去拼自己平台的域名,不要替换成占位域名(如 example.com) |
下载走 GET /v1/videos/{id}/content | 返回 302,跳转到就近的下载节点 | 必须允许跟随重定向:curl 加 -L;Node fetch、Python requests 默认跟随。把 3xx 判为下载失败是错的 |
status 值域只有四个 | queued / in_progress / completed / failed | 只有 completed 才读取 url;其余继续轮询或终止,不要靠 progress === 100 判断完成 |
url 里的任务 ID 与 id 一致 | 保证两者相同,可作自检依据 | 加一条自检:url 中 /videos/ 后面的 ID 若不等于 id,说明数据异常,请重新查询,不要硬用这个地址 |
四个高频写错的地方
| 错误写法 | 实际后果 |
|---|---|
把 url 当相对路径,拼成自己平台的域名 | 请求落到你自己的站点,404;用户看到「已生成但取不回」 |
| HTTP 客户端关闭了自动跟随重定向 | 只拿到一个空的 302,误判下载失败 |
只判断 progress === 100,不看 status | 失败任务被当成成功,一直等一个不会来的文件 |
| 用 A 账号的 Key 去查 B 账号的任务 | 返回 task_not_exist。这是权限隔离,不是任务丢失 |
按契约取片的完整示例(Node.js)
const BASE = "https://888api.xin";
const KEY = process.env.API_KEY;
// 1) 查询任务
const res = await fetch(`${BASE}/v1/videos/${id}`, {
headers: { Authorization: `Bearer ${KEY}` }
});
const task = await res.json();
// 2) 只有 completed 才取片;queued / in_progress / failed 自行处理
if (task.status !== "completed") return;
// 3) 自检:必须是绝对地址,且 URL 里的 ID 与 id 一致
if (!/^https:///////.test(task.url)) throw new Error("url 不是绝对地址: " + task.url);
if (!task.url.includes(`/videos/${id}/content`)) throw new Error("url 任务 ID 不一致: " + task.url);
// 4) 直接下载;fetch 默认跟随 302
const file = await fetch(task.url);
const buf = Buffer.from(await file.arrayBuffer());
console.log("下载字节:", buf.byteLength);# Python 等价写法(requests 默认跟随重定向)
task = requests.get(f"{BASE}/v1/videos/{task_id}", headers=headers, timeout=30).json()
if task.get("status") == "completed":
url = task["url"] # 已经是绝对地址
assert url.startswith("https://"), url
assert f"/videos/{task_id}/content" in url, url
r = requests.get(url, timeout=120) # 跟随 302
r.raise_for_status()
open("output.mp4", "wb").write(r.content)根据状态决定下一步
| 状态 | 说明 | 下一步 |
|---|---|---|
queued | 已接收,正在排队(历史任务可能显示 pending) | 保存 ID,每 5–10 秒查询一次 |
in_progress | 正在生成;progress 为可选进度字段 | 继续查询,直到 completed 或 failed |
completed | 已完成 | 读取 url 并下载 |
failed | 任务失败,结果不会再变化 | 停止轮询,查看 error / message |
以上四个值覆盖当前线上全部任务状态。若遇到其他字符串,请按 in_progress 处理(继续轮询直到上限),不要当作已完成。
查询示例
curl --fail-with-body "https://888api.xin/v1/videos/替换为任务ID" \
-H "Authorization: Bearer $API_KEY"{"id":"task_示例任务ID","object":"video","status":"completed","progress":100,"url":"https://888api.xin/v1/videos/task_示例任务ID/content"}以上响应是结构示例,不是真实生成结果。视频地址统一读 url:它是本站绝对地址,可直接下载。部分渠道还会附带 content_url、download_url、preview_url、result_url、video_url,当前取值与 url 相同,但属于兼容别名,不保证一定存在——请勿把它们当作主字段。错误详情位于 error 或 message。仅在 completed 状态下读取结果。
下载视频
优先下载查询响应返回的实际视频 URL。支持内容接口的任务也可用下方方式下载;若返回不支持或未完成,请回到查询响应检查。
curl --fail-with-body -L "https://888api.xin/v1/videos/替换为任务ID/content" \
-H "Authorization: Bearer $API_KEY" \
-o output.mp4超时与重试:保留原任务 ID
只对查询等幂等操作重试:遇到 429 / 502 / 503 / 504,优先遵守 Retry-After,否则逐步增加间隔,并设定总等待上限。参数或认证错误应修正后处理,不要无限重试。
错误码
| 状态码 | 含义 | 处理方式 |
|---|---|---|
400 INVALID_REQUEST | 请求体不是合法 JSON | 确认请求体是 JSON 字符串且 Content-Type: application/json。多为 SDK 序列化方式错误(Python 用 json= 而非 data=),也可能是 GBK 编码或 body 结尾有多余字符。详见 请求体格式。 |
| 400 / 422 | 参数错误 | 检查模型 ID、duration、ratio、参考图字段,以及请求体格式。 |
| 401 / 403 | 密钥错误或无权限 | 检查完整密钥、Bearer 空格、令牌是否撤销及模型权限。 |
| 402 | 额度或计费拒绝 | 先读取错误说明并核对控制台余额与令牌额度;仅在明确提示账号余额不足时充值。余额正常仍遇到 402,请提供任务 ID 联系支持。 |
| 429 | 请求过快 | 降低并发,遵守 Retry-After;对查询增加间隔,不要自动重复创建任务。 |
| 500 / 502 | 服务异常 | 保留错误与任务 ID;查询可稍后重试,创建请求先核对是否已有任务。持续出现请联系支持。 |
常见错误排查
| 现象 / 报错 | 原因 | 解决方式 |
|---|---|---|
request body must be valid JSON | 请求体不是合法 JSON:SDK 用 data= 传 dict、手工拼 JSON 串、GBK 编码、body 结尾有多余字符 | 改用 json=(Python)并统一 UTF-8;详见 请求体格式 |
Content-Type must be application/json | Content-Type 缺失,或写成了 form 表单类型 | 设置 Content-Type: application/json,并确保 body 是 JSON |
reference image URL must use HTTP(S) | 参考图传了本地路径、base64 或内网地址 | 换成公网可直接访问且不失效的 http(s) 图片地址 |
参考图与 @图N 引用不匹配 | seedance2.0-900-wool 等模型按 @图N 顺序引用参考图 | 在 prompt 中按 @图1、@图2… 顺序引用,与 images 数组一一对应 |
duration 报错或被截断 | 时长写成 "8s" 之类的字符串,或超出模型支持范围 | 传整数(如 8),并核对该模型的时长上限 |
| 图片尺寸报错 | gpt-image-2 要求宽高均为 16 的倍数(1920x1080 不可用) | 改用 1536x864 / 2048x1152 / 3840x2160 |
排查建议:先看返回的 HTTP 状态码与错误 code,再对照上表定位。确认无误后仍失败,请带上任务 ID、请求时间、模型名、脱敏请求体与完整错误响应联系支持。
新手常见问题
接口地址应该填域名还是带 /v1?
直接请求使用本页完整 URL。SDK 的 base_url 通常填 https://888api.xin/v1;如果软件会自动追加 /v1,则只填 https://888api.xin。检查最终请求地址,避免 /v1/v1。
创建成功为什么没有视频地址?
视频是异步任务。第一次响应用于取得 ID,之后查询这个 ID,直到 completed 再读取结果。
能把 API Key 直接写在网页里吗?
浏览器中的代码和网络请求会暴露密钥。网页应调用自己的后端,再由后端携带密钥请求 888API。
任务等待很久,要重新提交吗?
先保留 ID 继续查询。客户端超时不等于任务失败,重新创建可能重复计费。详见任务查询章节。
效率工具
字字动画插件
888API Video Plugin(视频插件)
在字字动画中调用888API生成视频。2.1版将面板分为生成设置与任务取回:每款模型按自己的时长、分辨率、比例和参考图上限显示;任务已建立后,断网、重启或下载失败可以取回原任务,避免重复生成。
更新说明:新增模型广场同名分类、完整型号搜索与健康状态;打开面板、手动刷新及面板可见时每60秒同步(通常1–2分钟反映变化),隐藏后停止。下架、禁用、待适配或需要升级的型号禁止新生成;已有任务和已收到的结果仍可取回。首次明确同意后自动上报脱敏诊断,默认关闭,可随时撤回;不发送密钥、提示词或素材。刷新不会替用户更换收费型号。
ZIP格式,约30KB。请先备份原插件目录,再解压覆盖;不要覆盖或删除user_resources中的配置和任务记录。
更新日期:2026-10-31 · 视频插件更新清单 · 面板可检查更新。
安装步骤
- 退出字字动画,备份原有
video_plugin_888api目录。 - 下载并解压,将同名文件夹复制到
E:\字字动画\_internal\plugins\video_plugins\。保留user_resources里的密钥、设置与任务记录。 - 重启字字动画,在「视频模型管理 → 自定义插件」选择888API Video Plugin。
- 在「生成设置」填写密钥,刷新模型规格,核对型号、时长、分辨率、比例及预估费用后点击「保存设置」。
主要功能
| 功能 | 说明 |
|---|---|
| 逐模型参数 | 例如seedance2.5-930-1080p支持5–30秒、1080P;seedance2.0-933为10或15秒、720P;pidoi-h3video-2k固定15秒、2K。以面板刷新后的实际规格为准。 |
| 分类与状态 | 分类直接读取模型广场,可搜索完整型号;“正在核实”“暂无近期验证”和“状态未知”可选择。明确禁用、待适配、需要升级的型号禁止新生成;在售列表查询失败暂停新生成。 |
| 在线模型与费用 | 在线在售列表和价格与完整规格取交集。按秒模型展示「单价 × 时长」;缺少规格的型号不会猜测提交,新型号沿用现有接口时,补齐在线规格后即可选择;全新接口或上传能力需服务端适配或升级插件。 |
| 参考图 | 本地图片自动上传;超限、首尾帧文件缺失会在提交前报错,不静默截断。首尾帧文件作为普通参考图提交,不保证关键帧约束。当前插件尚未接通宿主参考音视频,检测到此类输入会明确报错。 |
| 任务取回 | 默认总等待70分钟,单次查询最多15秒;查询断网不取消云端任务。停止等待或下载失败后,使用本站任务号继续查询或下载,不再创建新任务。提交结果不确定时先核对后台消费记录,再关联原任务。 |
| 下载与隐私 | 默认最多12个连接分片取片;校验范围、长度及MP4标识后保存。任务记录不保存密钥、原始提示词或素材内容,按密钥摘要隔离。 |
升级后如提示宿主未提供插件操作接口,请先更新字字动画。反馈请带插件版本、型号、发生时间、阶段与本站任务号/请求号;请勿发送密钥或完整配置文件。
888API Image Plugin(图片插件)
在字字动画分镜中填写提示词、按需绑定参考图后直接生成。插件面板只设置型号、比例、清晰度等参数,不提供生成方式模块。
更新说明:减少提交前等待:移除首张重复核对,规格、在售和健康状态并行查询,每张新图只核对一轮。保留下架/禁用拦截、记录取回与防重复提交。设置页不提供生成方式模块。
图片插件更新清单 · 更新日期:2026-10-31。价格与账号分组以本站实际消费记录为准。
安装步骤
- 下载并解压,得到
image_plugin_888api文件夹。 - 关闭字字动画,先备份原插件,再替换
_internal/plugins/image_plugins/image_plugin_888api;保留user_resources下的配置和图片记录。 - 重启字字动画,进入图片模型管理,选择 888API Image Plugin。
- 打开插件面板,核对密钥、完整型号、比例、清晰度和费用,点击保存设置。
主要功能
| 功能 | 说明 |
|---|---|
| 型号与价格 | 在线在售型号与已登记规格取交集,当前覆盖10款图片模型。默认 gpt-image-2 0.05元/张,gpt-image-2-1k 0.04元/张;其他型号以面板和本站价格表为准。旧下架型号须手动选择替代型号,未知规格不套用通用尺寸。 |
| 参数确认 | 比例、清晰度和实际提交尺寸一致;不让旧宿主快照静默覆盖已保存设置。批量张数在字字动画中设置,估价按张乘算。 |
| 参考图改图 | 使用当前分镜绑定的参考图及首尾帧,上传PNG/JPEG/WebP;单张≤20MB。参考图上限逐型号显示:当前 gpt-image-2-1k 最多14张,两款Gemini按已登记规格最多16张,其余型号当前插件最多4张;超限或文件缺失会在提交前拒绝,不静默截断。 |
| 记录与取回 | 结果返回后先保存回执,再取回图片。下载失败只重取,不新建生成请求;批量再次执行会复用已完成图片,状态不确定的一张须先核对消费记录并明确允许重试。 |
| 同步请求边界 | 默认等待2400秒。同步生图没有可查询任务号;未收到结果时不能凭本地记录补查,须先核对消费。只有已收到完整结果的图片可从记录取回;结果地址过期可能无法下载。 |
| 文件与报错 | 下载最多尝试3次;长度与完整解码校验后保存PNG。保留本站请求号和原始拒绝原因,HTTP401/402不一律归因为密钥无效或用户余额不足。 |
诊断上报默认关闭,须在面板明确同意并保存。仅上报受控错误代码、插件版本、公开型号和本站请求号等脱敏诊断,不含密钥、提示词、素材或原始异常全文;服务器保留30天,可随时关闭。2.0旧版用户需先升级2.1,后续兼容现有接口的新型号只需刷新。健康状态反映近期验证,不构成生成成功保证。
联系支持
接口调用、充值、模型使用或商务合作问题,可以加入 888API 用户交流群。
1062453479