移植自 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 带网关原话 / 正常返回)。
5.2 KiB
5.2 KiB
视频工厂能力现状审计(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 表情 | 精细控制,主流程跑顺后再做 |
| ⚪ 低 | 火山方舟即梦 | 备选引擎,可灵够用时不急 |