移植自 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 带网关原话 / 正常返回)。
8.0 KiB
8.0 KiB
写实感指南(去 AI 感 · 自拍 Vlog)
2026-10-03 建立 · 来源:外部方法论学习(
cclank/lanshu-awesome-ai-video-kit21 篇方法论 +smixs/visual-skills) 用途:调提示词、改导演规则、做拍法预设时的对照规范
一、三条最容易踩的坑(我们已实测踩中)
坑 1:图生视频却重描述视觉 ✗✗✗
可灵官方守则:图生视频时"只描述运动,不重描述视觉"——Kling 会重画图中已有内容, 你再描述一遍 = 给它两套冲突指令 → 画面被"重画" → AI 感。
❌ A red sports car with chrome wheels on a wet road... the car starts moving
✅ The headlights blaze on and the engine roars to life.
The rear tires spin, spraying water across the wet asphalt.
判定:镜头有参考图(image_path 存在)→ 提示词应只含动作演化。
坑 2:矛盾约束(写了等于没写)
| ❌ 矛盾组合 | 原因 |
|---|---|
胶片感 / film grain + 4K超清 / ultra sharp |
胶片感本身是模糊+颗粒 |
电影感 + 纪实手持 都强写 |
风格相互拉扯(我们踩过) |
慢动作 + 高速动作 |
速度矛盾 |
| 同时指定多个艺术家风格(>2) | 模型随机取一个 |
画面稳定 + 手持晃动 |
稳定=三脚架语言(我们踩过) |
坑 3:抽象情绪词
❌ 【情绪目标】紧张 / 好奇 / 悲伤
✅ 手指无意识地攥紧衣角,眼神闪躲,呼吸急促
原则:视频模型看不懂抽象形容词,必须外化为身体细节;每镜只写 1-2 个关键动作(多了稀释焦点)。
二、写实人像 5 段公式(Dan Kieft / 5M+ 播放教学)
① Subject 谁 —— 年龄/种族/妆/服装(具体,不堆形容词)
② Pose 姿态 —— candid shot / 坐着 / 侧看 / 微笑
③ Camera ★ 相机 —— Fujifilm X100V · 35mm · 景深 · bokeh ← 杀手锏
④ Skin ★ 皮肤 —— 真实纹理 · 自然瑕疵 · 不过度磨皮 · 毛孔可见
⑤ Aesthetic 调性 —— Instagram 风 · 暖调 · 自然光 · 城市背景
完整示例(原文):
Beautiful 20-year-old East Asian woman, minimalist makeup, wearing beige streetwear
jacket, candid moment sitting at a cafe table, looking sideways with soft smile.
Shot on Fujifilm X100V, 35mm film, realistic lighting, natural skin texture,
unfiltered, pores visible, soft background bokeh, Instagram aesthetic,
professional urban street photography, warm tones.
要点:
- 相机型号是杀手锏 —— 触发模型的"真实摄影"先验(
Fujifilm X100V/Leica Q3/iPhone 前置) unfiltered+pores visible是反 AI 塑料感的直接解药Same woman/ 角色名重复 → 锚定同一人物(跨场景一致性)
三、情绪外化表(10 种,可直接抄)
| 抽象情绪 | 外化为动作与细节 |
|---|---|
| 悲伤 | 低头、肩膀微微颤抖、眼眶泛红、手指无意识攥紧衣角、泪水打转却没落下 |
| 喜悦 | 嘴角抑制不住上扬、眉眼舒展、脚步轻快、哼小曲、忍不住原地转圈 |
| 紧张/焦虑 | 频繁看表、手指敲桌面、呼吸急促、眼神闪躲、无意识啃指甲 |
| 愤怒 | 双拳紧握、下颌线紧绷、胸口起伏、眼神锐利、从牙缝挤话 |
| 释然 | 长舒一口气、肩膀放松、淡淡微笑、抬头望向远方 |
| 恐惧 | 瞳孔放大、后退半步、抓住身边物体、屏息、嘴唇发抖 |
| 疲惫 | 揉太阳穴、靠墙、眼皮下沉、长呼气、动作迟缓 |
| 专注 | 眉头微皱、眼神锁定一点、嘴唇抿紧、身体前倾、手稳定不动 |
| 犹豫 | 张嘴又闭上、视线游移、手悬在半空、踱步、欲言又止 |
| 惊喜 | 眼睛瞬间睁大、嘴巴张开成 O 形、双手捂嘴、向前一步、笑容缓缓绽放 |
写法对照:
❌ 她终于轻松下来了。
✅ 她长长地舒了一口气,紧绷的肩膀完全放松下来,脸上浮起淡淡的微笑,抬头望向远方。
四、特殊字符规范(结构化标注)
| 信息类型 | 符号 | 示例 |
|---|---|---|
| 音乐 | ( ) |
(背景播放着舒缓的爵士钢琴) |
| 音效 | < > |
<远处传来狗叫声> |
| 台词 | { } |
她轻声说{好久不见} |
| 字幕 | 【 】 |
【第二章:重逢】 |
语言规范:台词语言统一,外语需标注语种 → 用日语说道{こんにちは}
⚠️ 这是给支持音频生成的模型用的(Seedance 2.5 等)。我们当前是"先出画面再配音", 此规范可用于分镜脚本阶段的标注,便于后续 TTS 分段与音效铺底。
五、约束词三件套(护栏)
必加基础:不要水印 · 不要 Logo · 不要字幕
画面稳定:人物面部稳定不变形 · 动作连贯自然不僵硬 · 无穿模无卡顿无闪烁
主体一致性(防"双胞胎"):
视频全程禁止出现外形、着装、配饰完全一致的人物
禁止生成同款分身、双胞胎效果
同一画面中仅保留单个对应人物,不出现人物重复复刻
镜头:镜头平稳 / 固定机位 / 避免突然变焦(注意与手持风格二选一)
六、可灵专属守则(我们用可灵,重点)
- 中文理解业界最强 → 推荐纯中文提示词(避免中英混用)
- 图生视频极强 → 有参考图时只写动作(见坑 1)
- 用 active verbs:
rockets upward/slams into/erupts(不是moves/goes) - 写时序流:
抬起刀 → 一刀劈下 → 刀锋反光 → 竹子滑落(箭头 = 时间节点) - 用具体光源代替笼统词:
闪烁的日光灯管/霓虹灯/烛光/黄金时刻(❌dramatic lighting/自然光,光源有画面依据) - 加触感细节(tactile details)
- 原生支持音画同步 + 角色定向发声("角色A说X,角色B说Y")—— ⚠️ 我们尚未使用
- 时长:15s(智能分镜可达 2 分钟)—— 我们目前限制 5/10s,可放宽
七、自拍 Vlog 专项包(核心诉求)
自拍 vlog 的"真",靠这 5 层同时成立:
① 设备锚点
iPhone 15 Pro 前置摄像头,竖屏 9:16,近距离广角
轻微桶形畸变(前置镜头的特征)
② 手持特征(⚠️ 不能同时写"画面稳定")
手持自拍(手臂长度)、轻微呼吸起伏、偶尔微调构图
③ 生活光(真实光源 > 形容词)
窗光从左侧打在脸上、室内顶灯偏暖、手机屏幕的光在镜片上有反光
背景比人脸暗一档(室外过曝的窗户)
④ 微瑕疵(AI 最不会自发生成的东西)
对焦偶尔漂移、曝光随移动变化、轻微噪点、头发有几缕没梳顺
说话时自然眨眼、吞咽、鼻翼微动、视线偶尔离开镜头
⑤ 声音层
房间混响、远处车流、衣服摩擦声、说话时的换气声
八、落地清单(改系统时对照)
| 位置 | 改什么 |
|---|---|
composer/pipeline.py: build_shot_prompt |
图生视频分支删视觉重描述;加写实锚点包(相机型号/皮肤/反塑料感) |
| 同上 | 矛盾自检:稳定 vs 手持、电影感 vs 纪实 等成对冲突检测 |
directors/*.py |
情绪必须外化(内建情绪外化表);光源必须具体 |
| 拍法预设 | 新增 📱 自拍 Vlog(一键带全 5 层锚点) |
| 全局 | 每镜自动附加约束词三件套 |
| 可选 | 试可灵原生音画同步(角色定向发声)替代"事后配音" |
附:资料存档位置
- 抓取的 7 篇方法论原文:
/tmp/aivideo_kb/(临时,重启会清)04-情绪外化表.md·06-约束词清单.md·07-特殊字符规范.md08-避坑12问.md·09-kling-公式.md·20-realistic-character-consistency.md02-进阶公式.md·smixs-README.md
- 上游仓库:
cclank/lanshu-awesome-ai-video-kit(411 prompts / 21 篇方法论)