
这篇从云上部署和API接入的角度,记录用OpenClaw串联Seedance 2.0满血版API搭建全自动视频生产线的完整实践。
┌──────────────────────┐
│ 用户输入 │ 需求描述 + 参考图片
└──────────┬───────────┘
↓
┌──────────────────────┐
│ OpenClaw Agent │ 脚本生成 → Prompt优化 → 任务调度
│ (Docker容器) │
└──────────┬───────────┘
↓
┌──────────────────────┐
│ Seedance 2.0 API │ 视频生成(火山引擎接入)
│ (外部服务) │
└──────────┬───────────┘
↓
┌──────────────────────┐
│ 后处理服务 │ ffmpeg拼接 + 字幕 + 过渡
│ (Docker容器) │
└──────────┬───────────┘
↓
┌──────────────────────┐
│ 对象存储 │ 成品视频存储 + CDN分发
└──────────────────────┘import requests
import json
VOLCENGINE_AK = "your_access_key"
VOLCENGINE_SK = "your_secret_key"
API_ENDPOINT = "https://open.volcengineapi.com/api/v1/seedance/generate"
def generate_video(prompt, ref_images=[], duration=5, resolution="2k", aspect="16:9"):
payload = {
"model": "seedance-2.0",
"prompt": prompt,
"duration": duration,
"resolution": resolution,
"aspect_ratio": aspect,
"reference_images": ref_images,
"audio_type": "auto",
"camera_motion": "auto"
}
headers = {
"Authorization": f"Bearer {get_token(VOLCENGINE_AK, VOLCENGINE_SK)}",
"Content-Type": "application/json"
}
# 提交生成任务
resp = requests.post(API_ENDPOINT, json=payload, headers=headers)
task_id = resp.json()["task_id"]
# 轮询等待完成
while True:
status = check_status(task_id)
if status["state"] == "completed":
return status["video_url"]
elif status["state"] == "failed":
raise Exception(f"生成失败: {status['error']}")
time.sleep(5)参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
prompt | string | 是 | 视频描述,越详细越好 |
duration | int | 否 | 4-15秒,默认5 |
resolution | string | 否 | 720p/1080p/2k,默认1080p |
aspect_ratio | string | 否 | 16:9/9:16/1:1等 |
reference_images | array | 否 | 最多9张参考图URL |
audio_type | string | 否 | auto/none/custom |
camera_motion | string | 否 | auto/static/slow_orbit等 |
在OpenClaw中注册Seedance工具:
{
"tools": {
"seedance_generate": {
"type": "api",
"endpoint": "https://open.volcengineapi.com/api/v1/seedance/generate",
"auth": {
"type": "bearer",
"token_env": "VOLCENGINE_TOKEN"
},
"timeout": 120000,
"retry": 3
}
}
}组件 | CPU | 内存 | 说明 |
|---|---|---|---|
OpenClaw Agent | 2核 | 4GB | 编排调度,不需要GPU |
后处理服务 | 4核 | 8GB | ffmpeg视频拼接需要算力 |
对象存储 | - | - | 视频文件较大,建议用COS/S3 |
注意:视频生成在Seedance侧完成,本地不需要GPU。
项目 | 单价 | 说明 |
|---|---|---|
Seedance API | ~1-2元/镜头 | 按生成次数计费 |
OpenClaw运行 | ~0.1元/任务 | LLM API调用费用 |
对象存储 | ~0.01元/视频 | 按存储量计费 |
总计 | ~2-5元/视频 | 15秒3-4镜头 |
# docker-compose.yml
services:
openclaw-agent:
image: openclaw/openclaw:latest
environment:
- VOLCENGINE_TOKEN=${VOLCENGINE_TOKEN}
volumes:
- ./skills:/app/skills
- ./output:/app/output
ffmpeg-worker:
image: jrottenberg/ffmpeg:latest
volumes:
- ./output:/output
# 可选:队列服务,控制并发
redis:
image: redis:alpine
ports:
- "6379:6379"批量场景建议加Redis做任务队列,控制Seedance API的并发请求数(避免触发限流)。
指标 | 关注点 |
|---|---|
API成功率 | <95%需排查 |
单镜头生成耗时 | >120秒预警 |
总管线耗时 | >10分钟/视频需优化 |
重试次数 | >2次/视频需检查prompt质量 |
日均成本 | 按业务量预算 |
OpenClaw+Seedance 2.0的组合在技术上已经可行,瓶颈在API可用性和成本控制。建议先在即梦平台验证画质是否满足业务需求,API开放后再部署自动化管线。电商产品视频是当前最成熟的落地场景。
生成视频效果
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。