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