# 数字人接入 Comfy Cloud 视频工作流(完整视频入口)设计 日期:2026-06-18 分支:`feat/comfy-cloud-adapter` 状态:已通过调查,待用户复审 ## 背景 LTX2.3 说话头像工作流(`comfy/video_digital_ltx2.json`)已就绪并通过 Comfy Cloud 校验 (节点+模型全兼容,probe `node_errors:{}`)。但 BoosAPI 数字人 UI 没有「视频/动画工作流」 入口,无法触发「肖像图 + 旁白音频 → 说话视频」这一步。本设计补齐贯穿三层的入口。 ## 现状(调查结论) - **BoosAPI 数字人前端 `src/web/pages/DigitalHuman.tsx`**:仅 3 个选择器——ttsWorkflow、 imageWorkflow(从 mediaWorkflows 选,默认含 "image" 的)、frameTemplate(HTML 模板)。 **无视频/动画工作流选择器**。流程是「生成图片 + TTS + HTML 模板合成」,不做说话头像动画。 - **BoosAPI 后端 `src/routes/digital_human.rs`** 的 `pixelle_request_body`(~line 2053):转发 text/mode/title/backend_provider/workflow_source/n_scenes/video_fps/frame_template/ template_params/prompt_prefix/bgm_*/media_workflow/tts_workflow/ref_audio。 **不转发 `api_video_workflow`**;`workflow_source` 写死 `runninghub`/`selfhost`(无 comfy)。 - **Pixelle `pixelle_video/pipelines/asset_based.py`**(~line 693):动画步读 `context.request.get("api_video_workflow")`;`audio_path` 仅当 `_get_api_workflow_info` (查 `api_media`,只 `api/` 通道)匹配到 `audio_driven_i2v` 能力时才注入 → **comfy 工作流 拿不到 audio_path**。 - **Pixelle 工作流执行按前缀路由**:`runninghub` 走 RunningHub,其余(含 `comfy/`)走 `comfyui_url`(= BoosAPI `/comfy-cloud` 适配器)。`comfy/video_digital_ltx2.json` 已在 `/workflows/media` 列出(已加 `video_` 前缀)。 - 已完成的前置:comfy-cloud 适配器(已验证)、`comfy/video_digital_ltx2.json`(标记 image_path/audio_path/prompt,probe 通过)、media.py 转发 image_path(已打补丁)。 ## 已确认决策 1. 加完整视频入口:前端选择器 + 后端转发 + Pixelle 音频注入,三层都改。 2. 视频工作流选择器列 `video_*` media 工作流(含 `comfy/video_digital_ltx2.json`)。 3. 单人肖像说话头像;不做多人。 ## 三层改动设计 ### 层 1:前端 `src/web/pages/DigitalHuman.tsx` - 新增 state `apiVideoWorkflow`(默认空=不启用动画,保持现有「图片+HTML」行为向后兼容)。 - 新增「视频工作流(可选)」`