Files
MediaCrawler/mac-agent-os-main/PLANS/VIDEO_FACTORY_AUDIT.md
T
butubb 2112c1a870
Deploy VitePress site to Pages / build (push) Canceled after 0s
Deploy VitePress site to Pages / Deploy (push) Canceled after 0s
feat(monitor): 抖音 Web 接口客户端 —— 绕开爬虫子进程,直接发 HTTP
移植自 mac-agent-os 的 mediacrawler_adapter:不起子进程、不开页面,用浏览器里那份
登录态直接调抖音 Web 接口。产物键名照抄 store/douyin,所以 ingest 那条链路一个字不用改。

**目前能用的(真环境实测,非推断)**:

    profile/other : 200, 7075 字节  —— 博主主页指标(粉丝/获赞/作品数/昵称)
    aweme/detail  : 200, 45425 字节 —— 单条作品详情(含点赞/评论/收藏/分享)

**目前不能用的:作品列表 `aweme/post`。** 两个互相独立的原因:
  1. 这个接口被抖音单独升级成了真校验:不带 x-tt-argus 回 403「Uifid Not Found」,
     带上 dummy 值回 200 + **空 body**。也就是说「头在不在」骗得过,「真校验」过不了。
     同一套头打 profile/other 和 aweme/detail 都是通的 —— 抖音是挑着接口加保护的,
     挑中的恰好是「批量拉作品列表」这个最敏感的动作。
  2. 改走页面截获也不行:CDP 浏览器打开博主主页会落到「验证码中间页」(当天大量探测的
     代价,过几小时要重测)。

  所以现在的边界是:**已知作品的指标刷新能做,自动发现新作品做不了**。

**排查中控住变量后得到的两条事实**(都写进注释了):
  · `Accept` / `Accept-Language` / `Referer` 才是主页接口能返回真数据的原因 —— 只有
    UA+client hints+Cookie 时是 200 但仅 121 字节的空壳,补上这三个头变 7074 字节。
    (我先前猜的 sec-ch-ua 不是关键。)
  · 因此 UA 与 client hints 必须**成套地取自同一个浏览器**,所以 BrowserIdentity 一次
    从 CDP 取齐 cookie + UA + hints,而不是各自写死。

「200 + 空 body 必须当场报错」也是刻意写死的:放过去它会在下游变成「这个博主没作品」,
把一次失败伪装成一条正常结果 —— 爬虫那条路正是这么栽的,还被翻译成「账号被封」。

测试 +11:cookie 解析、请求头成套性(含 uifid 缺失/回退)、产物键名与 store 对齐、
以及 _get 的三条失败路径(空 body / 403 带网关原话 / 正常返回)。
2026-10-10 17:12:25 +08:00

5.2 KiB
Raw Blame History

视频工厂能力现状审计(2026-10-02)

回答「是不是缺东西」—— 逐项列出能用 / 不能用 / 待接,以及缺的具体是什么 基准:三端 a2b367973


一、能力层(25 个注册能力)

状态:✅ 可用 19 · 🟡 部分可用 3 · ⚪ 规划中 3

执行器已接入(8 个 —— 流程里能自动跑)

能力 用途 依赖 状态
storyboard_plan 分镜规划 故事 → 分镜 LLM(DeepSeek) ✅
prompt_gen 提示词生成 分镜 → 六模块提示词 无 ✅
text_to_video 视频生成 提示词 → 视频 可灵(已配) ✅
video_concat 视频合成 片段 → 去AI化 → 拼接 → 混流 FFmpeg ✅
tts_generate 语音合成 文本 → 音频 阿里百炼(已配) ✅
material_search 素材搜索 关键词 → 素材 Pexels(已配) ✅
music_select BGM 选择 风格 → BGM 本地音乐库 ✅
subtitle 字幕生成 台词 → ASS 字幕 FFmpeg ✅

注册但执行器未接入(流程中明确跳过并说明原因,不会静默失败)

script_generate(映射已连但实现待补)· image_to_video 图生视频 · text_to_image 文生图 · person_swap 人物置换 · lipsync 对口型 · vfx_apply 特效 · comfyui_workflow · character_3d


二、模型与供应商(配置现状)

供应商 用途 配置 状态
可灵 Kling 视频生成 / 图片生成 ✅ 已配 视频 ✅ 可用;图片 ⚠️ 额度不足(需单独充值)
阿里百炼 TTS / 人物置换 ✅ 已配(已充值) ✅ 可用
DeepSeek 文本(剧本/分镜/评论) ✅ 已配 ✅ 可用
Pexels 素材搜索 ✅ 已配 ✅ 可用
火山方舟(即梦) 图片/视频备选引擎 ⚪ 未配 / 模型名待确认 ⚪ 待接
fal.ai 对口型(Kling Lipsync) ❌ 未配 ⚪ 待接

三、资产库(11 类,全部可用)

角色 · 场景 · 真实场地 · 产品 · 道具 · 服装 · 音色 · BGM · 音效 · 特效预设 · 素材

每类都具备:搜索/筛选/排序 · 卡片/表格视图 · 编辑字段(含下拉建议)· 上传参考图 · 🎨 AI 生成参考图 · 删除

角色生成器(专门页面):10 层 61 字段(44 个下拉)+ 5 视角 + 引擎选择


四、导演系统(已接 2 个)

导演 类型 状态
legacy_scene_planner 本地分镜 ✅ 可用
storyboard_v52(AI Storyboard Director v5.2) 技能型 ✅ 可用(技能文档已入库)
?用户提到的另 2 种 — ⏳ 需名称 / 来源

五、缺什么(明确清单)

# 缺的东西 影响 补法
1 可灵「图片生成」额度 定妆照 / 资产参考图生成不可用(视频额度不通用) 可灵开放平台单独充值图片生成
2 fal.api_key 口型同步(lipsync)不可用 申请 fal.ai key → 🔑 API 配置
3 另 2 个导演系统 只能选 2 种分镜风格 提供名称/来源(接入约 3 步)
4 人脸表情精细控制 目前只能靠提示词描述 接 ComfyUI(表情/风格精细)或等可灵支持
5 script_generate 实现 流程里「剧本改编」节点会跳过 补实现(约 20 行,复用 LLM)
6 火山方舟(即梦) 少一个图片/视频备选引擎 控制台确认模型名后接入
7 person_swap 参数接入 「人物置换」流程节点会跳过 补实现(API 与代码已存在)

六、现在就能跑的(已验证)

✅ 完整可用 ①:口播视频(素材版,零生成费用)

脚本 → 素材(Pexels) → TTS(阿里) → 字幕 → 混流成片

实测:20 秒出片 · 3.21MB / 12.46 秒 / 1080x1920 · 含音轨 + 字幕烧录 ✓

✅ 完整可用 ②:分镜驱动视频(可灵版,按镜头计费)

脚本 → 分镜(v5.2) → 可灵逐镜头生成 → 去AI化 → 拼接 → 混流

实测:3 镜头 1.9 分钟(并发生成)· 成片 3.2MB ✓

✅ 可用:流程画布

6 个模板 + 节点状态徽章 + 产物预览(视频可播)+ 🔄 重做 + ▶️ 从此起跑 + ⏹ 停止 + 生成前费用确认

✅ 可用:分镜透明化

「🎬 预览生成方案」→ 逐镜头看 提示词 / 能力 / 引擎 / 参数(零费用)

✅ 可用:通知与产物中心

任务完成右上角通知 + 「📋 生产记录」页可播全部产物


七、建议优先级(我的判断)

优先级 事项 理由
🔴 高 可灵图片充值 角色/场景参考图是"资产先行"的前提,没有参考图流程就不完整
🟡 中 另 2 个导演系统接入 分镜质量多样性(你明确提过)
🟡 中 script_generate + person_swap 实现 两个流程节点目前会跳过(代码量小)
⚪ 低 fal.ai 口型 / ComfyUI 表情 精细控制,主流程跑顺后再做
⚪ 低 火山方舟即梦 备选引擎,可灵够用时不急