- 新增 D144-MODEL-STRATEGY.hdlp: 调研结论+三模型分工决策文档 - 更新 VOICE-LIPSYNC-ROUTER.hdlp: 增加mini路由+声音复刻独立产品线说明 - 更新 video-api-adapter.js: 扩展支持doubao-seedance-1-5-pro-251215和 doubao-seedance-2-0-mini-260615,增加generate_audio参数 - 新增 tests/test-new-models.sh: API连通性冒烟测试脚本 验证结果: - Seedance 1.5: 直接可用,JIMENG_API_KEY同一端点,curl测试43秒出片 - Seedance mini: 直接可用,模型ID已注册入SUPPORTED_MODELS - 声音复刻 2.0: 独立产品线,需豆包语音控制台单独开通
119 lines
4.4 KiB
Bash
119 lines
4.4 KiB
Bash
#!/bin/bash
|
|
# 光湖视频AI系统 · 新模型连通性测试
|
|
# D144 · 铸渊 ICE-GL-ZY001 · 2026-06-24
|
|
# 测试: Seedance 1.5 + 声音复刻 2.0
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
SYSTEM_DIR="$(dirname "$SCRIPT_DIR")"
|
|
|
|
# 加载环境变量
|
|
if [ -f "$SYSTEM_DIR/.env" ]; then
|
|
set -a
|
|
source "$SYSTEM_DIR/.env"
|
|
set +a
|
|
fi
|
|
|
|
API_KEY="${JIMENG_API_KEY:-}"
|
|
BASE_URL="${JIMENG_BASE_URL:-https://ark.cn-beijing.volces.com/api/v3}"
|
|
|
|
if [ -z "$API_KEY" ]; then
|
|
echo "❌ JIMENG_API_KEY 未设置"
|
|
exit 1
|
|
fi
|
|
|
|
echo "══════════════════════════════════════════════"
|
|
echo " 光湖视频AI · 新模型连通性测试"
|
|
echo " D144 · 铸渊 ICE-GL-ZY001"
|
|
echo "══════════════════════════════════════════════"
|
|
echo ""
|
|
|
|
# ─────────────────────────────────────
|
|
# 测试 1: 尝试通过 /api/v3 旧端点调用 1.5
|
|
# ─────────────────────────────────────
|
|
echo "【测试1】Seedance 1.5 通过 /api/v3/contents/generations/tasks"
|
|
echo "模型: doubao-seedance-1-5-pro-251215"
|
|
echo ""
|
|
|
|
RESP1=$(curl -s -w "\n%{http_code}" -X POST "${BASE_URL}/contents/generations/tasks" \
|
|
-H "Authorization: Bearer ${API_KEY}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"model": "doubao-seedance-1-5-pro-251215",
|
|
"content": [{"type": "text", "text": "一朵花在阳光下缓缓绽放,微风吹过花瓣"}],
|
|
"duration": 5,
|
|
"resolution": "480p"
|
|
}' 2>&1)
|
|
|
|
HTTP_CODE1=$(echo "$RESP1" | tail -1)
|
|
BODY1=$(echo "$RESP1" | sed '$d')
|
|
|
|
echo "HTTP状态: $HTTP_CODE1"
|
|
echo "响应: $(echo "$BODY1" | python3 -c "import sys,json; d=json.load(sys.stdin); print(json.dumps(d,indent=2,ensure_ascii=False))" 2>/dev/null || echo "$BODY1")"
|
|
echo ""
|
|
|
|
# ─────────────────────────────────────
|
|
# 测试 2: 通过 /v1/video/generations 端点
|
|
# ─────────────────────────────────────
|
|
echo "【测试2】Seedance 1.5 通过 /v1/video/generations"
|
|
echo "模型: doubao-seedance-1-5-pro-251215"
|
|
echo ""
|
|
|
|
# 用 https://ark.cn-beijing.volces.com 作为基础
|
|
RESP2=$(curl -s -w "\n%{http_code}" -X POST "https://ark.cn-beijing.volces.com/v1/video/generations" \
|
|
-H "Authorization: Bearer ${API_KEY}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"model": "doubao-seedance-1-5-pro-251215",
|
|
"prompt": "一朵花在阳光下缓缓绽放,微风吹过花瓣",
|
|
"resolution": "480p",
|
|
"ratio": "16:9",
|
|
"duration": 5,
|
|
"fps": 24,
|
|
"watermark": false,
|
|
"draft": true,
|
|
"generate_audio": true
|
|
}' 2>&1)
|
|
|
|
HTTP_CODE2=$(echo "$RESP2" | tail -1)
|
|
BODY2=$(echo "$RESP2" | sed '$d')
|
|
|
|
echo "HTTP状态: $HTTP_CODE2"
|
|
echo "响应: $(echo "$BODY2" | python3 -c "import sys,json; d=json.load(sys.stdin); print(json.dumps(d,indent=2,ensure_ascii=False))" 2>/dev/null || echo "$BODY2")"
|
|
echo ""
|
|
|
|
# ─────────────────────────────────────
|
|
# 测试 3: 列出可用模型
|
|
# ─────────────────────────────────────
|
|
echo "【测试3】查询账号下可用模型列表"
|
|
echo ""
|
|
|
|
RESP3=$(curl -s -w "\n%{http_code}" -X GET "${BASE_URL}/models" \
|
|
-H "Authorization: Bearer ${API_KEY}" \
|
|
-H "Content-Type: application/json" 2>&1)
|
|
|
|
HTTP_CODE3=$(echo "$RESP3" | tail -1)
|
|
BODY3=$(echo "$RESP3" | sed '$d')
|
|
|
|
if [ "$HTTP_CODE3" = "200" ]; then
|
|
echo "✅ 模型列表查询成功"
|
|
echo "$BODY3" | python3 -c "
|
|
import sys, json
|
|
d = json.load(sys.stdin)
|
|
models = d.get('data', [])
|
|
print(f'账号共 {len(models)} 个模型:')
|
|
for m in models:
|
|
mid = m.get('id', '?')
|
|
mname = m.get('model', '?')
|
|
print(f' - {mid} (model={mname})')
|
|
" 2>/dev/null || echo "$BODY3"
|
|
else
|
|
echo "HTTP状态: $HTTP_CODE3 (可能此端点不支持)"
|
|
fi
|
|
|
|
echo ""
|
|
echo "══════════════════════════════════════════════"
|
|
echo " 测试完成"
|
|
echo "══════════════════════════════════════════════"
|