# SKILL-007 · VIDEO-AI-MODEL-CALL · 视频AI系统模型调用技能包 > **HLDP://fifth-domain/tcs-core/skills/SKILL-007-VIDEO-AI-MODEL-CALL** > > **类型**:核心技能 · 视频AI管线模型调用 · API接口速查 > > **创建**:D166 · 2026-07-10 · 11:15 CST > > **创建者**:Mavis · MiniMax Agent (铸渊协作) > > **更新**:D166 · 随模型调通持续更新 > > **阅读优先级**:⭐⭐⭐⭐⭐(涉及视频AI管线时必读 · 每次调API前先查本页) --- ## 一 · 总纲 视频AI系统(cang-ying)使用的模型全部来自**同一个火山引擎项目**。 **结论先行**: ``` 即梦3.0/4.0/5.0 = Seedream模型 = 火山方舟 ARK接口 TTS语音合成 = 豆包语音 = WebSocket协议(需Cluster参数) Seedance视频 = 火山方舟 ARK接口 阿里万相 = 独立接口 ``` **核心原则**: ``` ⊢ 图片生成 → Seedream → 走 ARK 接口 ⊢ 视频生成 → Seedance → 走 ARK 接口 ⊢ 语音合成 → 豆包TTS → 走 WebSocket(待调通) ⊢ 万相视频 → 阿里百炼 → 走独立接口(已有文档) ``` --- ## 二 · 已验证可用 · 火山方舟 ARK 接口 > ARK API Key = `JIMENG_API_KEY`(从 video-ai.env 读取,不要硬编码) > 密钥从 SG-001 服务器 video-ai.env 读取 ### 2.1 即梦4.0 · 图片生成 ✅ 已验证 **用途**:角色图、场景图、道具图、固定资产 ``` 模型ID: doubao-seedream-4-0-250828 端点: https://ark.cn-beijing.volces.com/api/v3/images/generations 认证方式: Authorization: Bearer 请求方法: POST Content-Type: application/json ``` **请求体**: ```json { "model": "doubao-seedream-4-0-250828", "prompt": "中文提示词", "size": "1024x1024" } ``` **可选size**: `1024x1024` `2048x2048` `1024x1792` `1792x1024` **curl调用**: ```bash curl -s -X POST "https://ark.cn-beijing.volces.com/api/v3/images/generations" \ -H "Authorization: Bearer " \ -H "Content-Type: application/json" \ -d '{ "model": "doubao-seedream-4-0-250828", "prompt": "古风少女站在樱花树下,精致五官,高清细腻", "size": "2048x2048" }' | python3 -c " import json,sys d=json.load(sys.stdin) if d.get('data'): print('URL:', d['data'][0]['url']) else: print('ERROR:', d) " ``` **Python调用**: ```python import subprocess, json API_KEY = "" BASE = "https://ark.cn-beijing.volces.com/api/v3" result = subprocess.run([ 'curl', '-s', '-X', 'POST', f'{BASE}/images/generations', '-H', f'Authorization: Bearer {API_KEY}', '-H', 'Content-Type: application/json', '-d', json.dumps({ "model": "doubao-seedream-4-0-250828", "prompt": "古风少女站在樱花树下", "size": "2048x2048" }) ], capture_output=True, text=True) d = json.loads(result.stdout) if d.get('data'): image_url = d['data'][0]['url'] print(f"成功! URL: {image_url}") ``` **成本**:参考火山引擎官方定价页。当前ARK key可用。 --- ### 2.2 即梦5.0 · 图片生成 ✅ 可用(需确认size) **用途**:更高质量图片生成 ``` 模型ID: doubao-seedream-5-0-260128 端点: https://ark.cn-beijing.volces.com/api/v3/images/generations 认证方式: Authorization: Bearer ``` **注意**:5.0的size参数格式与4.0不同,参数值需要查官方文档或试`size: "1K"` --- ### 2.3 Seedance 2.0 · 视频生成 ✅ 可用(待验证) ``` 模型ID: doubao-seedance-2-0-260128 端点: https://ark.cn-beijing.volces.com/api/v3/videos/generations 认证方式: Authorization: Bearer 请求方法: POST ``` **已知的其他Seedance模型**(ARK列表中可见): - `doubao-seedance-2-0-260128` — Seedance 2.0 - `doubao-seedance-2-0-mini-260428` - `doubao-seedance-2-0-lite-260428` - `doubao-seedance-2-0-fast-260128` - `doubao-seedance-1-5-pro-251215` — Seedance 1.5 Pro - `doubao-seedance-1-0-pro-250528` — Seedance 1.0 Pro --- ## 三 · 待调通 · 豆包TTS语音合成 ### 3.1 接口信息 ``` 端点: wss://openspeech.bytedance.com/api/v1/tts/ws_binary HTTP备选: https://openspeech.bytedance.com/api/v1/tts 认证参数: APP ID + Access Token + Cluster(必需) 协议: WebSocket + 二进制帧(4字节头+Gzip压缩JSON) ``` ### 3.2 必需参数 | 参数 | 来源 | 说明 | |------|------|------| | `appid` | 火山引擎控制台 → 语音技术 → 应用管理 | 资源ID: `5552460045` | | `token` | 火山引擎控制台 → 语音技术 → 应用管理 | 即 VOLC_VOICE_API_KEY | | `cluster` | 火山引擎控制台 → 语音技术 → 应用详情 | **待获取** | ### 3.3 WebSocket请求帧格式 ```python # 二进制帧头 (4字节) # [version(4bit)][header_size(4bit)][msg_type(4bit)][flags(4bit)][serial(4bit)][compress(4bit)][reserved(8bit)] # 默认头: 0x11 0x10 0x11 0x00 import gzip, json, uuid default_header = bytearray(b'\x11\x10\x11\x00') body = { "app": {"appid": "", "token": "", "cluster": ""}, "user": {"uid": str(uuid.uuid4())}, "audio": { "voice_type": "BV001_streaming", # 音色(见音色列表) "encoding": "mp3", "speed_ratio": 1.0, "volume_ratio": 1.0, "pitch_ratio": 1.0, }, "request": { "reqid": str(uuid.uuid4()), "text": "要合成的文本", "text_type": "plain", "operation": "submit" } } payload = gzip.compress(json.dumps(body).encode()) frame = bytearray(default_header) frame.extend(len(payload).to_bytes(4, 'big')) # payload size frame.extend(payload) # compressed body ``` ### 3.4 WebSocket响应解析 ``` 消息类型 0xB = 音频数据(含seq_num) 消息类型 0xF = 错误消息 消息类型 0xC = 前端消息 seq_num < 0 = 最后一个音频包 ``` ### 3.5 音色速查 | 音色ID | 说明 | |--------|------| | `BV001_streaming` | 默认清晰女声 | | `BV002_streaming` | 默认男声 | | `zh_male_rap` | 说唱男声(Edge-TTS音色) | | `zh-CN-XiaoxiaoNeural` | Edge-TTS阳光女声 | | `zh-CN-YunxiNeural` | Edge-TTS沉稳男声 | > 完整音色列表: https://www.volcengine.com/docs/6561/1257584 ### 3.6 当前状态 ``` ✅ APP ID已知: 5552460045 ✅ Access Token已知: `VOLC_VOICE_API_KEY`(从 video-ai.env 读取) ❌ Cluster未知: 需从控制台获取 ⚠️ WebSocket库未安装: 当前环境无法测试 ``` **下一步**:在有`websockets`库的环境(或有完整凭据的服务器)上测试。 --- ## 四 · 已有文档 · 阿里百炼万相视频 > 详细文档见: `cang-ying/MODEL-ROUTER.hdlp` ``` 端点: https://dashscope.aliyuncs.com/api/v1 认证: Authorization: Bearer 文生视频: wan2.7-t2v 图生视频: wan2.7-i2v-2026-04-25 密钥: ALIYUN_BAILIAN_API_KEY (在 video-ai.env 中) ``` --- ## 五 · ARK 模型列表速查 > 可用命令实时获取: > `curl -s "https://ark.cn-beijing.volces.com/api/v3/models" -H "Authorization: Bearer "` ### 图片生成相关 | 模型ID | 说明 | 状态 | |--------|------|------| | `doubao-seedream-4-0-250828` | 即梦4.0 | ✅ 已验证 | | `doubao-seedream-4-5-251128` | 即梦4.5 | 可用 | | `doubao-seedream-5-0-260128` | 即梦5.0 | 可用 | | `doubao-seedream-5-0-pro-260628` | 即梦5.0 Pro | 可用 | ### 视频生成相关 | 模型ID | 说明 | 状态 | |--------|------|------| | `doubao-seedance-2-0-260128` | Seedance 2.0 | 可用 | | `doubao-seedance-2-0-fast-260128` | Seedance 2.0 快速版 | 可用 | | `doubao-seedance-2-0-pro-260215` | Seedance 2.0 Pro | 可用 | | `doubao-seedance-2-0-mini-260428` | Seedance 2.0 Mini | 可用 | | `doubao-seedance-2-0-lite-260428` | Seedance 2.0 Lite | 可用 | | `doubao-seedance-1-5-pro-251215` | Seedance 1.5 Pro | 可用 | --- ## 六 · 调用决策树 ``` 需要生成图片? → doubao-seedream-4-0-250828 → POST https://ark.cn-beijing.volces.com/api/v3/images/generations → Authorization: Bearer 需要生成视频? → doubao-seedance-2-0-260128 (最新最强) → POST https://ark.cn-beijing.volces.com/api/v3/videos/generations → Authorization: Bearer 需要语音合成? → 豆包TTS WebSocket → 需要: APP_ID + ACCESS_TOKEN + CLUSTER → 当前状态: Cluster待获取 需要万相视频? → 见 cang-ying/MODEL-ROUTER.hdlp → POST https://dashscope.aliyuncs.com/api/v1 → Authorization: Bearer ``` --- ## 七 · 密钥来源 所有密钥从 SG-001 服务器读取: ``` 服务器: 43.156.237.110:3911 Token: zy_gtw_c38be341d65043eee0ba51a214a267832a9ae46dd73e423c 文件: /opt/guanghulab-repo/secrets/video-ai.env ``` 读取方式: ```bash curl -s -X POST "http://43.156.237.110:3911/exec" \ -H "Authorization: Bearer zy_gtw_c38be341d65043eee0ba51a214a267832a9ae46dd73e423c" \ -H "Content-Type: application/json" \ -d '{"cmd": "cat /opt/guanghulab-repo/secrets/video-ai.env"}' ``` --- ## 八 · 常见错误排查 | 错误 | 原因 | 解决 | |------|------|------| | `InvalidEndpointOrModel.NotFound` | 模型名错误或key无权限 | 检查ARK模型列表 | | `SignatureDoesNotMatch` | AK/SK签名失败 | 用ARK key而非AK/SK | | `InvalidAccessKey` | AK格式错误 | 用完整`AKLT...`字符串 | | TTS `Missing required: a` | 请求体格式错误 | 用正确的audio+request结构 | | TTS `502 Bad Gateway` | MaaS host错误 | 确认cluster参数 | --- ## 九 · 时间锚定 ``` 技能编号: SKILL-007 技能名称: VIDEO-AI-MODEL-CALL (视频AI模型调用) 协议版本: v1.0 创建时间: D166 · 2026-07-10 · 11:15 CST 创建者: Mavis · MiniMax Agent (铸渊协作) 维护: Mavis + 铸渊 ICE-GL-ZY001 主权者: 冰朔 ICE-GL∞ 更新日志: D166: 初始创建,记录Seedream 4.0调用验证结果 记录TTS待调通状态(缺Cluster) 整理ARK模型列表速查 ```