视频生成 API 使用说明

从注册、购买视频专用兑换码并在站内充值,到创建密钥、提交任务、查询进度和下载成片。

注册账号 ↗打开控制台

本站与大模型站 https://llm.eastwisdom.cc 是两套独立的账号和余额,不通用。

1. 这是什么

用字节跳动的 Seedance 2.0 / 2.5 模型,写一段文字描述生成一段视频。

  • 站点地址:https://video.eastwisdom.cc
  • 调用方式:先提交、后查询。提交后立刻拿到一个任务 ID,视频在后台生成,你之后用这个 ID 反复查询进度,直到拿到成片。不是发一个请求就在那里等视频返回
  • 单次耗时:2–5 分钟(实测 115 秒到 279 秒都出现过,参数相同也会波动);Seedance 2.5 最长支持 30 秒,时长越长耗时和成本越高

⚠️ 和大模型站是两套东西

大模型站本站(视频生成)
地址llm.eastwisdom.ccvideo.eastwisdom.cc
用途Claude / GPT / Grok 等文本和代码模型Seedance 文字生成视频
账号各自独立各自独立
余额各自独立各自独立
API 密钥不能跨站使用不能跨站使用

大模型站的密钥拿到这里用会报鉴权失败,反过来也一样。两边要分别注册、分别充值。

2. 注册、充值和创建密钥

2.1 注册账号

打开 https://video.eastwisdom.cc/register,填写用户名、邮箱和密码,点击发送验证码。 验证码会发到邮箱,填入后即可完成注册,10 分钟内有效。

新账号初始额度为 0。注册后需要购买视频专用兑换码并在站内兑换,余额到账后才能生成视频。

2.2 购买视频专用兑换码

本站不直接在站内付款,而是用兑换码充值:先在发卡平台买一张码,再回到站内兑换成余额。

登录后打开「充值」页面,点购买入口进入发卡平台;也可以直接选下面的面额:

Video 到账额度人民币售价购买链接
$10¥73https://pay.ldxp.cn/item/zf6zeq
$50¥365https://pay.ldxp.cn/item/wcpuji
$100¥730https://pay.ldxp.cn/item/44u7wk

付款成功后,发卡平台会自动显示兑换码。请立即复制并妥善保存。

**不要买错:**同一个发卡平台也卖大模型站的兑换码,两者不通用。本站只能用商品名称以 「VIDEO专用」开头、到账额度带美元 $ 标注的兑换码。大模型站那种按人民币面额的兑换码 在本站用不了,反过来也一样。

表里的人民币金额是你要付的钱,美元金额是充进本站账户的余额,汇率已经算好,不用自己换算。

2.3 回到本站兑换

  1. 打开 https://video.eastwisdom.cc/console/topup ,登录刚注册的本站账号
  2. 找到「兑换码」输入框
  3. 粘贴发卡平台给你的完整兑换码,点「兑换」
  4. 页面提示成功后看一下账户余额,例如买了 ¥73 的那档应该到账 $10

兑换码区分大小写,建议直接复制粘贴。每个兑换码只能用一次,余额充进当前登录的账号,不能转给别人。

如果提示兑换码无效,先确认买的是 VIDEO专用 商品、兑换码前后没有多余空格,以及当前登录的是本站而不是大模型站。

2.4 创建 API 密钥

  1. 登录后进「令牌」页面(这里的「令牌」就是 API 密钥)→ 新建
  2. 名称随便填,方便自己区分用途
  3. 分组选 default
  4. 额度按需设,也可以设成无限
  5. 建好后立刻复制保存——关掉弹窗就看不到完整密钥了

密钥是 sk- 开头的一串字符。它等同于你的余额,不要提交到 git、不要贴在公开群里。

2.5 验证密钥能用

这一步不花钱:随便查一个不存在的任务,只要返回的是业务错误而不是鉴权错误,就说明密钥是通的:

curl -s https://video.eastwisdom.cc/v1/videos/task_notexist \
  -H "Authorization: Bearer sk-你的key"
  • 返回「任务不存在」之类的错误 → 密钥正常
  • 返回 401 / 未提供令牌 → 密钥不对,或者没带上

3. 可用模型和价格

目前开放三个模型:

模型名说明支持分辨率
doubao-seedance-2-0-260128标准版,质量更好480p / 720p / 1080p
doubao-seedance-2-0-fast-260128快速版(Fast),更快更便宜仅 480p / 720p
doubao-seedance-2-5-hcSeedance 2.5(2026-07 新版),单镜最长 30 秒、画面和提示词理解更强;-hc 为含人像内容变体仅 480p / 720p

模型名必须照抄,写错会报「无可用渠道」。

⚠️ 快速版传 1080p 会被拒绝;2.5 目前也只支持 480p / 720p,传 1080p 同样被拒,不要用。

价格

按视频实际消耗的 token 计费,不是按次固定价。

模型480p / 720p1080p
标准版$10.50 / 百万 token$11.64 / 百万 token
快速版$8.40 / 百万 token不支持
2.5-hc$16.05 / 百万 token不支持

Seedance 2.5 是高清档:基准单价比 2.0 标准版贵约 53%,同样参数下 token 消耗也可能更高,做成本预算要多留余量。

🔴 分辨率对费用的影响远超单价差

单价只差 10%,但高分辨率消耗的 token 数量差好几倍。实测同一条提示词、同样 4 秒:

配置token 消耗实际费用
快速版 + 480p50,638$0.43
标准版 + 1080p245,025$2.85

同样 4 秒的视频,1080p 比 480p 贵 6.6 倍。 看单价表会严重低估 1080p 的成本,一定要按 token 量估算。

⚠️ 另外同样参数 token 量本身也会浮动(实测 40594 和 50638 都出现过,差 25%),按条估成本要留余量。

4. 怎么调用

三步:提交 → 轮询 → 取回。「轮询」就是每隔十几秒查一次进度,直到状态变成完成。

POST /v1/videos                     提交,立刻返回 task_id
GET  /v1/videos/{task_id}           查询进度
GET  /v1/videos/{task_id}/content   下载 mp4

服务地址统一是 https://video.eastwisdom.cc,鉴权统一用 Authorization: Bearer sk-你的密钥。

不要指望提交后原地等到视频。提交接口只返回任务 ID,视频要 2–5 分钟才生成好。

4.1 提交任务

curl https://video.eastwisdom.cc/v1/videos \
  -H "Authorization: Bearer sk-你的key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-fast-260128",
    "prompt": "一只玻璃香水瓶放在大理石桌面上,清晨柔和光线,镜头缓慢推近",
    "seconds": "4",
    "metadata": {
      "resolution": "480p",
      "ratio": "16:9",
      "generate_audio": false,
      "watermark": false
    }
  }'

返回:

{
  "id": "task_6Y2CXrNvpPFPghsCtL52gKgGcr7TLMsc",
  "task_id": "task_6Y2CXrNvpPFPghsCtL52gKgGcr7TLMsc",
  "object": "video",
  "model": "doubao-seedance-2-0-fast-260128",
  "status": "queued",
  "progress": 0,
  "created_at": 1785317575
}

🔴 三个最容易踩的坑

1. resolution 必须放在 metadata 里面

"metadata": {"resolution": "720p"}    ✅ 正确
"size": "720p"                        ❌ 会按 480p 档计费,但实际出 720p

放错位置视频照样能生成,但计费档位会算错,是我们这边的账不对,请配合放对位置。

2. 时长用 seconds 字符串,不要用 duration

"seconds": "4"       ✅ 正确,生成 4 秒
"duration": 4        ❌ 会被忽略,按 5 秒出片

本站网关只认 "seconds" 这个字符串字段。写 "duration" 不会报错,但不会生效,视频会按默认 5 秒生成——钱按 5 秒算,和你想要的时长对不上。2-5 最长可传 "seconds": "30"。

3. 用 prompt 字段,不要用 content 数组

如果你参考过火山引擎或 BytePlus 的官方文档,那边用的是 content: [{...}] 数组格式。本站不接受那种写法,会报 prompt is required。请照上面示例用 prompt 字符串。

立刻存下 task_id

拿到 task_id 第一件事就是存起来(写日志、写数据库都行)。生成要好几分钟,程序中途崩了、网断了、终端关了,只要有 task_id 就还能查回结果;丢了就等于钱白花,任务还在跑但你拿不到视频。

4.2 查询进度

curl https://video.eastwisdom.cc/v1/videos/task_6Y2CXrNvpPFPghsCtL52gKgGcr7TLMsc \
  -H "Authorization: Bearer sk-你的key"

进行中:

{"task_id": "task_6Y2...", "status": "in_progress", "progress": 0}

完成:

{
  "task_id": "task_6Y2CXrNvpPFPghsCtL52gKgGcr7TLMsc",
  "status": "completed",
  "progress": 100,
  "created_at": 1785317575,
  "completed_at": 1785317689,
  "metadata": {
    "url": "https://d1olhcno4eh2oq.cloudfront.net/media/videos/mvt-7aa4fa6ec83944d1.mp4"
  }
}

状态取值:

status含义
queued排队中
in_progress生成中
completed完成,metadata.url 里是视频地址
failed失败,费用会退回

查询进度的建议

  • 每 15 秒查一次。查太密没意义,生成本身就要好几分钟
  • 超时上限设 10 分钟。实测 115–279 秒,留足余量
  • 别写成无限循环,加一个最大次数

4.3 取回视频

两种方式,任选:

方式一:直接用返回的 URL(推荐)

metadata.url 是 CDN 直链,不需要鉴权,可以直接下载、分享、嵌入网页:

curl -L -o output.mp4 "https://d1olhcno4eh2oq.cloudfront.net/media/videos/mvt-xxx.mp4"

方式二:走本站的下载接口

curl -L https://video.eastwisdom.cc/v1/videos/task_6Y2xxx/content \
  -H "Authorization: Bearer sk-你的key" \
  --output output.mp4

这个接口要带密钥,支持断点分片下载(Accept-Ranges: bytes)。

注意路径是 /v1/videos/{id}/content(videos),不是 /v1/video/generations/...。

视频尽快转存

CDN 链接不保证长期有效。生成完就下载到自己的存储里,别把这个 URL 当长期地址存进数据库。

5. 参数说明

顶层字段

参数类型必填说明
modelstring✅模型名,见 §3,必须照抄
promptstring✅画面描述。不要用 content 数组
secondsstring时长(秒),字符串,如 "4" / "5" / "10"。2.5 最长 "30"。写 duration 整数不生效,会按 5 秒出片

metadata 里的字段

参数类型默认说明
resolutionstring720p480p / 720p / 1080p。必须放这里
ratiostring画幅比例,如 16:9、9:16、1:1
generate_audiobooleanfalse是否生成音频
watermarkbooleanfalse是否加水印

提示词怎么写

Seedance 对镜头语言的理解不错,描述里可以带上:

  • 主体:什么东西、什么状态
  • 环境光线:清晨柔光、霓虹夜景、逆光
  • 镜头运动:缓慢推近、环绕、固定机位、快速切镜
  • 风格:写实、电影感、延时摄影

例:写实风格,晴朗蓝天下一大片白色雏菊花田,镜头缓慢推近,最终定格在一朵雏菊特写,花瓣上有晶莹露珠

时长越长、分辨率越高,token 消耗越多。先用快速版 + 480p 试提示词,效果满意再用标准版和高分辨率出成品,能省不少钱。

6. 完整示例

Python(提交 + 轮询 + 下载)

import time
import requests

BASE_URL = "https://video.eastwisdom.cc"
API_KEY = "sk-你的key"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}

# 1. 提交任务
resp = requests.post(f"{BASE_URL}/v1/videos", headers=headers, json={
    "model": "doubao-seedance-2-0-fast-260128",
    "prompt": "一只玻璃香水瓶放在大理石桌面上,清晨柔和光线,镜头缓慢推近",
    "seconds": "4",
    "metadata": {
        "resolution": "480p",      # 注意:放在 metadata 里
        "ratio": "16:9",
        "generate_audio": False,
        "watermark": False,
    },
})
resp.raise_for_status()
task_id = resp.json()["task_id"]

# 2. 立刻存下 task_id —— 后面任何环节出错都还能查回来
print("task_id:", task_id)
with open("tasks.log", "a") as f:
    f.write(f"{time.strftime('%F %T')}\t{task_id}\n")

# 3. 轮询,15 秒一次,最多 10 分钟
video_url = None
for _ in range(40):
    r = requests.get(f"{BASE_URL}/v1/videos/{task_id}", headers=headers, timeout=30)
    r.raise_for_status()
    data = r.json()
    status = data.get("status")
    print("status:", status)

    if status == "completed":
        video_url = data["metadata"]["url"]
        break
    if status == "failed":
        raise RuntimeError(f"任务失败(费用会退回): {data}")
    time.sleep(15)

if not video_url:
    raise TimeoutError(f"超时未完成,任务可能还在跑,稍后用 task_id 再查: {task_id}")

# 4. 下载(CDN 直链,无需鉴权)
with requests.get(video_url, stream=True, timeout=120) as s:
    s.raise_for_status()
    with open("output.mp4", "wb") as f:
        for chunk in s.iter_content(8192):
            f.write(chunk)
print("saved output.mp4")

Bash(简版)

KEY="sk-你的key"
BASE="https://video.eastwisdom.cc"

# 提交
TASK=$(curl -s "$BASE/v1/videos" \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"doubao-seedance-2-0-fast-260128",
       "prompt":"一只玻璃香水瓶放在大理石桌面上,镜头缓慢推近",
       "seconds":"4",
       "metadata":{"resolution":"480p","ratio":"16:9"}}' \
  | python3 -c "import json,sys; print(json.load(sys.stdin)['task_id'])")

echo "task_id: $TASK"          # 存下来!

# 轮询
for i in $(seq 1 40); do
  R=$(curl -s "$BASE/v1/videos/$TASK" -H "Authorization: Bearer $KEY")
  echo "$R" | grep -q '"completed"' && break
  echo "$R" | grep -q '"failed"' && { echo "失败"; exit 1; }
  sleep 15
done

# 下载
curl -sL "$BASE/v1/videos/$TASK/content" \
  -H "Authorization: Bearer $KEY" -o output.mp4
echo "saved output.mp4"

7. 计费怎么算

按视频实际消耗的 token 计费(不是按次固定价):

费用 = 实际 total_tokens / 1,000,000 × 单价

单价见 §3。

你会在日志里看到两条记录

提交任务时预扣一笔(按请求的时长和分辨率估算),任务完成后按真实用量补扣或退款。

核对费用时把同一个任务的两条记录合起来算,净额才是最终费用。看到「扣了两次」不用慌。

失败会退

任务 failed 时预扣的费用会退回。

省钱的几个做法

  1. 调提示词一律用快速版 + 480p(约 $0.43 一条),效果满意了再用标准版和高分辨率出成品。直接拿 1080p 试提示词,试十次就是 $28
  2. 1080p 只用在真要交付的成品上。实测比 480p 贵 6.6 倍,见 §3
  3. 时长按需,4 秒够用就别写 10 秒
  4. 生成前想清楚,失败重试也要重新排队等几分钟

实测费用参考

配置tokens费用
快速版 + 480p + 4 秒50,638$0.43
标准版 + 1080p + 4 秒245,025$2.85

查余额

登录 https://video.eastwisdom.cc 看首页,或者:

curl -s https://video.eastwisdom.cc/v1/dashboard/billing/subscription \
  -H "Authorization: Bearer sk-你的key"

8. 暂不支持的功能

下面这些能力模型供应商那边有,但本站还没开放,请求了会报错或者计费不准。确实需要就发邮件给客服,可以评估开通。

功能状态说明
4K 分辨率❌ 全系未开放2.0 待供应商报价;2.5 官方规格最高就是 1080p
2.5 的 1080p❌ 不支持供应商侧未配置 2.5 的 1080p 定价,实测请求被拒,2.5 只能用 480p / 720p
图生视频⚠️ 未验证接口能传参考图,但本站还没实测过,想用请先联系客服
视频生视频❌ 请勿使用传参考视频会导致计费偏差,本站和供应商的计费口径对不上
数字人 / 真人素材(asset://)❌ 不支持需要素材上传接口,本站没有开放
Mini 系列模型❌ 未开放供应商未提供报价
EP 版模型(*-ep)❌ 上游已下线供应商 2026-08 实测拒绝 -ep 请求(model no longer supported),不再评估

关于真人图片

2.0 标准版和快速版遇到真人人像会触发供应商的隐私拦截。已开放的 2.5 -hc 变体同样受限:含真人人脸的参考图/参考视频上传必须走供应商的素材资产库(asset:// 资产 ID),本站没有素材上传接口,所以指定真人的图生视频做不了。但纯文本提示词直接生成含人像的画面在 -hc 上是可用的。

9. 常见问题

报错对照

报错原因怎么办
prompt is required用了 content 数组格式改用 prompt 字符串,见 §4.1
model_not_found / 无可用渠道模型名写错,或用了未开放的模型照抄 §3 的模型名
401 / 未提供令牌密钥没带上、写错,或者用了大模型站的密钥检查 Authorization: Bearer sk-...
余额不足本站余额用完了按 §2 购买视频专用兑换码并兑换
快速版 / 2.5 传 1080p 被拒这两个模型不支持 1080p快速版换标准版或降到 720p;2.5 只能用 480p / 720p
resource download failed参考图的 URL 供应商那边下载不了换一个公开可访问、没有防盗链的 HTTPS 直链

视频一直 in_progress,是卡住了吗

大概率没卡。实测 115–279 秒都出现过,5 分钟以内都算正常。超过 10 分钟还是 in_progress,把 task_id 发邮件给客服查。

程序崩了 / 终端关了,任务还在吗

任务在服务端继续跑,只要你存了 task_id,随时可以再查:

curl https://video.eastwisdom.cc/v1/videos/你的task_id \
  -H "Authorization: Bearer sk-你的key"

没存 task_id 就找不回来了,钱照扣。所以 §4.1 反复强调先存 ID。

大模型站的密钥能用在这里吗

不能。两套独立账号,密钥不通用,余额也不通用。

怎么给本站账户充值

按 §2 购买名称以「VIDEO专用」开头的兑换码,然后回到 https://video.eastwisdom.cc/console/topup 粘贴兑换。不要买大模型站那种人民币面额的兑换码。

付款后没有看到兑换码怎么办

先到发卡平台的「订单查询」中查看交付结果。仍未显示时,把订单号发送至 [email protected],不要重复付款。

兑换码提示无效怎么办

确认兑换码来自「VIDEO专用」商品、没有多复制空格,并且是在 video.eastwisdom.cc 的充值页面操作。仍然兑换不了,把订单号和完整报错发到客服邮箱;不要在公开群里发兑换码。

能用现成的聊天客户端调吗

不太行。视频生成是「先提交、后查询」的任务制,大部分聊天类客户端(Cherry Studio、Chatbox 等)不支持这种流程。目前建议用代码调,照抄 §6 的示例改改就能用。

为什么同样的参数,两次费用不一样

token 消耗由模型实际生成过程决定,本身就会波动(实测同参数差过 25%)。本站按 token 计费,口径跟随模型供应商,除了固定的倍率之外不做额外调整。

10. 联系

遇到下列情况,请发送邮件至 [email protected]:

  • 注册、付款或兑换出问题(请附订单号,兑换码不要发到公开群)
  • 任务超过 10 分钟没结果(带上 task_id)
  • 想开通 §8 里未开放的功能(4K、图生视频等)
  • 对计费有疑问(带上 task_id,可以查到预扣和补差的明细)

反馈问题时请提供:task_id + 完整请求体 + 收到的报错。只说「生成失败了」没法查。


相关文档