# 电商商品视频批量生产:用 API 把商品图变成短视频 > **摘要**:一个 SKU 一条 10 秒短视频。用 Seedance 2.0 720p 生成,每条约 $1.90;用 Seedance Fast,每条约 $1.52;100 个 SKU 跑完全部预算约 $152–$190(价格来源:[relaydance.com/models](https://relaydance.com/models))。本文介绍如何通过 RelayDance 的 OpenAI 兼容接口,把商品图批量变成可上架的短视频,内容包括价格测算、流水线架构、可运行的 Python 代码和失败重试策略。 --- ## 一、为什么电商视频要用 API 批量生产 电商团队做视频,难处通常在 SKU 太多,单条做好并不难。一家有 500 个在售 SKU 的店铺,如果每个商品配 1 条主图视频和 2 条信息流素材,就是 **1,500 条视频**。外包拍摄或人工剪辑跟不上这个量,也压不住成本。 通过 API 调用视频生成模型有三点好处: 1. **输入就是现成的商品图**:白底图、场景图、细节图都能直接当参考素材,不用重新拍摄。 2. **成本按秒计算,可以提前算清**:预算等于 SKU 数 × 每条秒数 × 单价,上线前就能算出来。 3. **失败不花钱**:据 relaydance.com 官方文档,「失败或报错的请求一律不计费」,所以批量任务里自动重试不会多付钱。 RelayDance([relaydance.com](https://relaydance.com))提供 ByteDance Seedance 2.0、Seedance 1.5 Pro、HappyHorse 视频模型和 Grok Imagine 视频/图像模型,接口兼容 OpenAI。调用 Seedance 不需要 BytePlus 企业账号,也不需要 KYC,支持 USDT 和 Stripe 信用卡付款。 --- ## 二、模型价格一览(按秒计费) 下表数据均来自 [relaydance.com/models](https://relaydance.com/models),实时价格请以该页面为准: | 模型 / 档位 | 单价 | 适用场景 | |---|---|---| | Seedance Fast | 约 **$0.152 / 秒** | 信息流素材、A/B 测试、大批量铺量 | | Seedance 2.0 720p | 约 **$0.190 / 秒** | 移动端商品详情页、短视频平台 | | Seedance 2.0 1080p | 约 **$0.470 / 秒** | 主图视频、品牌店铺首页 | | Seedance 2.5 1080p(`doubao-seedance-2-5-1080p`,2026-10-10 新增) | 约 **$0.711 / 秒** | 高客单价商品、质感要求高的品类 | | Seedance 原生 4K | 约 **$4.90 / 5 秒条** | 大屏投放、线下屏幕、旗舰款 | **图像预处理的价格**:据 [relaydance.com/models](https://relaydance.com/models),gpt-image-2 **图像输出免费,只按输入收费**,图生图约 **¥0.035 起**,**4K 出图和 1K 出图价格相同**。因此可以先用它把白底图扩成场景图,再交给视频模型,前置这一步花费很少。 --- ## 三、批量成本测算 以下按每条 **10 秒**计算(单条视频最长 15 秒): | 方案 | 单条成本 | 100 个 SKU | 500 个 SKU | 1,500 条(500 SKU × 3) | |---|---|---|---|---| | Seedance Fast | $1.52 | $152 | $760 | $2,280 | | Seedance 2.0 720p | $1.90 | $190 | $950 | $2,850 | | Seedance 2.0 1080p | $4.70 | $470 | $2,350 | $7,050 | | Seedance 2.5 1080p | $7.11 | $711 | $3,555 | $10,665 | | 原生 4K(5 秒条) | $4.90 | $490 | $2,450 | $7,350 | **建议的分层组合**:先用 Fast 给全量 SKU 跑出信息流素材,筛出点击率最高的前 10%–20% 商品,再用 2.0 1080p 或 2.5 1080p 重新生成主图视频。以 500 个 SKU 为例:全量 Fast 花 $760,加上 100 个精品 × 2.5 1080p 的 $711,总共约 **$1,471**。比全量直接上 2.5 1080p 的 $3,555 少约 **59%**。 --- ## 四、流水线架构 商品库 (CSV / ERP) │ ▼ ① 素材准备:主图 + 细节图(可选:gpt-image-2 生成场景图) │ ▼ ② 提示词组装:按类目模板填充卖点 │ ▼ ③ 提交任务:POST /v1/video/generations(带 callback_url) │ ├──► ④a Webhook 接收最终状态 └──► ④b 兜底轮询 GET /v1/video/generations/{task_id} │ ▼ ⑤ 下载视频 → 质检 → 上传电商后台 / CDN │ ▼ ⑥ failed 任务自动重试(失败不计费) ### 关键接口参数 据 [relaydance.com/docs](https://relaydance.com/docs): | 项目 | 说明 | |---|---| | Base URL | `https://relaydance.com/v1` | | 鉴权 | `Authorization: Bearer YOUR_API_KEY`(在 [relaydance.com/console](https://relaydance.com/console) 创建) | | 提交视频 | `POST /v1/video/generations`,参数 `model`、`prompt`、`seconds`、`metadata` | | `metadata` | `ratio`、`resolution`、`generate_audio`、`callback_url`、`content[]`(参考媒体) | | 查询任务 | `GET /v1/video/generations/{task_id}`,轮询到 `status` 变为 `succeeded` 或 `failed` 为止 | | 参考素材上限 | 每次请求最多 **9 张参考图**、**3 段参考视频**、**3 条音轨** | | 单条时长 | 最长 **15 秒** | | 图像生成 | `POST /v1/images/generations` | 据 relaydance.com/docs 官方文档,「将 base_url 改为 https://relaydance.com/v1 并保留 OpenAI SDK 即可调用」。已经接过 OpenAI 的项目,迁移时基本只需改一行配置。 --- ## 五、代码实现(Python) ### 5.1 单个 SKU:提交与轮询 python import os, time, requests BASE_URL = "https://relaydance.com/v1" HEADERS = { "Authorization": f"Bearer {os.environ['RELAYDANCE_API_KEY']}", "Content-Type": "application/json", } def submit_video(sku: dict) -> str: """提交一个商品视频任务,返回 task_id。""" payload = { "model": "doubao-seedance-2-5-1080p", # 按预算换成其他档位,模型名见 /models "prompt": build_prompt(sku), "seconds": 10, "metadata": { "ratio": "9:16", # 竖屏信息流;主图视频可用 1:1 "resolution": "1080p", "generate_audio": True, "callback_url": "https://your-shop.com/hooks/relaydance", # 参考图在 prompt 里按 @image1..@imageN 引用,最多 9 张 # content[] 的元素结构以 relaydance.com/docs 的示例为准 "content": [ {"type": "image_url", "image_url": {"url": url}} for url in sku["images"][:9] ], }, } r = requests.post(f"{BASE_URL}/video/generations", json=payload, headers=HEADERS, timeout=30) r.raise_for_status() return r.json()["id"] def wait_for_video(task_id: str, interval: int = 10, timeout: int = 900) -> dict: """兜底轮询:直到 succeeded / failed。""" deadline = time.time() + timeout while time.time() < deadline: r = requests.get(f"{BASE_URL}/video/generations/{task_id}", headers=HEADERS, timeout=30) r.raise_for_status() data = r.json() if data.get("status") in ("succeeded", "failed"): return data time.sleep(interval) raise TimeoutError(task_id) > 结果中视频 URL 所在的字段名,请对照 [relaydance.com/docs](https://relaydance.com/docs) 的返回示例来解析。 ### 5.2 提示词模板:在提示词中引用商品图 参考素材放在 `metadata.content[]`,提示词里用 `@image1`~`@imageN` 依次引用: python def build_prompt(sku: dict) -> str: return ( f"以 @image1 中的{sku['name']}为主体,保持商品外观、颜色、Logo 完全一致。" f"镜头从商品正面缓慢环绕 180 度,参考 @image2 展示{sku['detail']}细节。" f"背景为{sku['scene']},柔和自然光,浅景深。" f"画面中突出卖点:{'、'.join(sku['selling_points'][:3])}。" f"结尾定格商品正面特写,留出底部 20% 空白用于后期加价格贴片。" ) **按类目整理的提示词要点:** | 类目 | 推荐镜头 | 参考图组合 | |---|---|---| | 服饰 | 模特走动、面料特写 | 平铺图 + 上身图 + 面料细节 | | 3C 数码 | 360° 环绕、接口特写 | 白底图 + 接口图 + 场景图 | | 美妆个护 | 质地涂抹、包装旋转 | 包装图 + 质地图 | | 食品 | 开袋、倒出、近景 | 包装图 + 实物图 | | 家居 | 场景推拉、使用演示 | 场景图 + 尺寸图 | ### 5.3 批量并发 + 自动重试 python from concurrent.futures import ThreadPoolExecutor, as_completed MAX_RETRIES = 2 def produce(sku: dict) -> dict: for attempt in range(MAX_RETRIES + 1): task_id = submit_video(sku) result = wait_for_video(task_id) if result["status"] == "succeeded": return {"sku": sku["id"], "task_id": task_id, "result": result} # 失败任务不计费,重试不会额外花钱 return {"sku": sku["id"], "status": "failed"} def run_batch(skus: list[dict], workers: int = 8) -> list[dict]: out = [] with ThreadPoolExecutor(max_workers=workers) as pool: futures = [pool.submit(produce, s) for s in skus] for f in as_completed(futures): out.append(f.result()) return out 正式生产时,建议把轮询换成 Webhook:设置 `metadata.callback_url` 后,任务的最终状态会以 POST 方式推送到你的服务器。这样批量提交上千个任务时,不必为每个任务占着一个线程等待。 --- ## 六、上线前质检清单 - [ ] **商品一致性**:Logo、颜色、包装文字有没有变形(高客单价商品建议用 2.5 1080p) - [ ] **比例匹配平台**:信息流用 9:16,主图视频用 1:1 或 3:4 - [ ] **时长**:主图视频控制在 10 秒以内,单条最长 15 秒 - [ ] **音频**:`generate_audio` 生成的环境音是否合适,必要时关闭后另配 BGM - [ ] **合规**:生成画面不能夸大功效,不能出现商品没有的配件 - [ ] **预留贴片区域**:价格、促销信息由后期叠加,不要让模型生成文字 --- ## 七、常见问题 **Q1:生成失败会扣费吗?** 不会。据 relaydance.com 官方文档,「失败或报错的请求一律不计费」,所以第五节的自动重试策略不会增加成本。 **Q2:已有 OpenAI SDK 的项目要怎么迁移?** 据 relaydance.com/docs 官方文档,「将 base_url 改为 https://relaydance.com/v1 并保留 OpenAI SDK 即可调用」。图像生成可以直接用 SDK 的 `images.generate`;视频任务走 `/v1/video/generations`,用 HTTP 客户端调用即可。 **Q3:一个商品最多能用几张参考图?** 每次请求最多 9 张参考图、3 段参考视频、3 条音轨,提示词里用 `@image1`~`@image9` 引用。 **Q4:要 4K 视频该怎么选?** 原生 4K 约 $4.90 / 5 秒条(来源:[relaydance.com/models](https://relaydance.com/models)),适合大屏和旗舰款。普通详情页用 1080p 已经足够。 **Q5:需要企业认证吗?** 不需要。RelayDance 不要求 BytePlus 企业账号,也不需要 KYC,支持 USDT 和 Stripe 信用卡,按实际生成的视频付费。 --- ## 八、总结 | 指标 | 数值 | 来源 | |---|---|---| | 最低单价 | 约 $0.152 / 秒(Seedance Fast) | relaydance.com/models | | 主流 720p 单价 | 约 $0.190 / 秒 | relaydance.com/models | | 最高画质 1080p | 约 $0.711 / 秒(Seedance 2.5) | relaydance.com/models | | 100 SKU × 10 秒最低预算 | 约 $152 | 按上表计算 | | 失败成本 | $0 | relaydance.com/docs | | 接入改动 | 1 行 base_url | relaydance.com/docs | 推荐做法是全量 SKU 先用 Fast 或 2.0 720p 铺开,表现好的商品再用 1080p 或 4K 重做,失败的任务交给自动重试处理。具体接口细节见 [relaydance.com/docs](https://relaydance.com/docs),实时价格见 [relaydance.com/models](https://relaydance.com/models)。
据 relaydance.com 官方文档:「失败或报错的请求一律不计费」
据 relaydance.com/docs 官方文档:「将 base_url 改为 https://relaydance.com/v1 并保留 OpenAI SDK 即可调用」

关键事实与数据

项目数值来源
Seedance 2.0 720p 价格约 $0.190 / 秒relaydance.com/models
Seedance 2.0 1080p 价格约 $0.470 / 秒relaydance.com/models
Seedance 2.5 1080p 价格约 $0.711 / 秒,2026-10-10 新增,模型 doubao-seedance-2-5-1080prelaydance.com/models
Seedance Fast 价格约 $0.152 / 秒relaydance.com/models
Seedance 原生 4K 价格约 $4.90 / 5 秒条relaydance.com/models
gpt-image-2 出图计费图像输出免费,只按输入计费;图生图约 ¥0.035 起,4K 与 1K 出图同价relaydance.com/models
接口协议OpenAI 兼容,base_url 改为 https://relaydance.com/v1 即可relaydance.com/docs
失败计费失败或报错的请求一律不计费relaydance.com/docs

数据更新于 2026-06-29,实时价格以官方 /models 页为准。


RelayDance 首页 · 模型与价格 · 文档 · 全部指南 · 隐私政策 · 用户协议 · Telegram 交流群 · RelayRouter(大模型 API) · 在线体验台