# 带货短视频工作流 (AutoDL ComfyUI API)

## 测试结论：可用 (2026-08-26 实测)

工作流: minimax_h3_image_audio_to_video_v2_15s (H3多图多音频生视频15秒)
账户下另有 indextts2-v1 TTS 配音工作流可用。

### 接口语义 (文档与实测一致)
两步异步: 提交返回 task_id -> 轮询 result 拿下载 URL。
- 提交: POST /api/v1/comfyui/comfyui_workflow/{workflow_id}
- 查询: GET  /api/v1/comfyui/comfyui_workflow/result/{task_id}
- 状态: QUEUED -> RUNNING -> SUCCESS / FAILED
- 鉴权: Header Authorization: 你的token (令牌管理->创建令牌->分组选 ComfyUI)

### 本工作流入参 (官方 input_example, 已实测)
- prompt(必填): 带货提示词, 1-10000字符, 描述主体/动作/镜头/场景
- duration(选): 1-15秒, 默认5
- resolution(选): 480p竖 / 768p竖 / 480p横 / 768p横, 默认768p竖
- ref_image_0..8(选): 产品图URL (JPG/PNG/WebP), 最多9张
- ref_audio_0..2(选): 参考音频URL (MP3/WAV/MP4/FLAC), 最多3段
- seed(选): 随机种子

计费: 按 minimax_h3 档 (480p/768p 各20 credits, 闲时10); 工作流 price=0。

### 实测发现的关键约束
1. 图片必须是可公网访问的URL。本地图片无法直接上传:
   POST /api/v1/file 在 token 模式下返回"登录超时/认证失败"(走浏览器登录态)。
   解决: 本地产品图先传到图床/COS/OSS 拿公开URL。
2. 结果视频URL有效期短, 代码已做"一拿到就立刻下载"。
3. 只传 prompt 不传图也会出片(=文生视频); 传 ref_image_0 即为图生/参考生视频。

### 实测产出 (见 tests/)
- no_param_1930.mp4    无图纯prompt出片 (链路 smoke test, 15s)
- with_image_1946.mp4  传参考图出片 (480x864 竖屏 24fps ~5s)
- narration.wav        indextts2 带货配音 (14s出片)
- final.mp4            douyin_video.mux() 合成: 视频+压低原声+叠加配音

## 使用
    export AUTODL_TOKEN=xxxxxx
    python3 douyin_video.py \
        --image "https://.../product.png" \
        --prompt "双手拿起产品特写展示, 镜头缓慢推进, 背景干净, 突出产品质感" \
        --duration 5 --resolution 480p竖 \
        --narration "家人们这个产品真的绝了, 现在下单还有优惠, 赶紧冲!" \
        --voice "https://.../voice_ref.mp3" \
        --out ./run

依赖: 本机 ffmpeg; python 3.8+ (有 requests 更好, 没有自动回退标准库)。

### 带货提示词 (prompt) 怎么写
官方明确该工作流"未做包装, 需精确控制提示词"。建议句式:
  [主体动作] + [镜头运动] + [场景/光] + [突出卖点]
  例: "双手拿起产品轻轻旋转展示, 镜头缓慢推近聚焦logo, 柔和自然光, 干净桌面背景, 突出金属质感"

## 账户下其他可用工作流 (备用)
- minimax_h3_lightx2v_v5      H3多图参考生视频
- minimax_h3_lightx2v         H3首尾帧生成视频 (首帧=产品图, 尾帧=使用场景)
- minimax_h3_image_audio_to_video  H3图生视频-音频同步(自动对口型)
- minimax_h3_lightx2v_no_pic  H3纯文生视频
- indextts2-v1                TTS 配音 (20 credits/次)

## 可视化工作台 (2026-08-27 新增)

纯本地零依赖 Web 界面, 不用写命令行, 浏览器里拖图填文案即可出片。

### 启动
方式一: 双击 `启动工作台.command` (会自动打开浏览器)
方式二: 终端执行 `python3 studio.py` 后访问 http://127.0.0.1:8765

### 功能
- 拖拽/点选本地产品图(自动传腾讯云COS拿公网URL), 也可直接粘贴图片URL
- 填带货提示词/时长/分辨率, 可选配音文案+音色参考音频
- 6步流水线可视进度: 上传图片 -> 提交任务 -> 等待渲染 -> 下载 -> TTS配音 -> 合成
- 完成后网页内直接预览/下载; 历史任务可回看删除
- 右上角[配置]可随时改 autodl token 与默认音色

### 数据与文件
- 上传图: studio_data/uploads/, 产物: studio_data/out/<任务id>/
- 任务历史: studio_data/jobs.json, 服务重启后仍保留
- token 存 ui_config.json (0600 权限)

### 后台运行(可选)
    cd douyin_workflow && nohup python3 -u studio.py > studio.log 2>&1 &
停止: pkill -f studio.py