Files
ai/docs/chatgpt/novel/11.md
T

662 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
目标肯定是把api优化到接入网页版,我最总要的是自动化流水下,人工,效率太低;网页版应该也是掉api的把,按官网的api文档参数传递参数,?
对,你的判断基本正确:
> **网页版本质上也是调用模型服务,但它不等于“公开 API 文档里那几个参数直接调用”。**
更准确地说:
```text
网页版 = 模型 API + 官方产品层优化 + 内部路由 + 隐藏参数/策略 + 后处理
你自己接 API = 公开 API + 你自己实现产品层优化
```
所以你的目标应该是:
> **把自己的 API 流水线做成“接近网页版体验”的产品层,而不是只照文档传 prompt。**
---
# 一、网页版是不是也调 API
大概率是。
但它调的可能是:
1. 官方内部 API
2. 与公开 API 类似但参数更多的接口;
3. 包含系统 prompt、路由、自动优化、重试、候选筛选的服务;
4. 可能还带有前处理、后处理和质量筛选。
所以不能简单理解成:
```text
网页版输入框内容 = API prompt
网页版生成按钮 = 公开 API 调用
```
真实情况更像:
```text
用户输入
官方前端
提示词增强
安全审核
模型路由
参数补全
生成多个候选 / 重试
质量过滤
后处理
展示结果
```
你自己接 API,就需要把中间这些层做出来。
---
# 二、按官网 API 文档传参数够不够?
**能跑通,但不一定能跑出网页版效果。**
官网 API 文档告诉你的是:
```text
接口怎么调用
参数怎么传
返回值怎么解析
错误怎么处理
```
但通常不会完整告诉你:
```text
网页版内部怎么改写 prompt
网页版怎么选模型
网页版怎么设置隐藏参数
网页版怎么做多候选
网页版怎么判断哪条结果最好
网页版怎么做图像预处理
网页版怎么做后期增强
```
就像你调用视频模型 API
```json
{
"prompt": "一个女人在雨夜奔跑",
"duration": 5,
"ratio": "9:16"
}
```
可以生成视频。
但网页版可能内部实际会变成:
```text
realistic cinematic vertical short drama, Chinese woman, rainy night street, wet asphalt reflections, handheld tracking shot, medium close-up, anxious but restrained expression, natural motion, dramatic lighting, no face distortion, no extra fingers, stable camera...
```
还可能自动加:
```text
参考图处理
镜头稳定约束
人物一致性约束
负面词
运动强度
光影风格
候选筛选
失败重试
```
所以文档参数是基础,**产品层优化才决定最终效果**。
---
# 三、你要做的不是“人工网页版”,而是“API 自动网页版”
你的目标很清楚:自动化流水线,人工太低效。
那你应该把网页版背后的逻辑拆成系统模块:
```text
Prompt Builder
Provider Router
Capability Matrix
Context Builder
Asset Preprocessor
Candidate Generator
Quality Evaluator
Retry / Repair
Post-processing
Cost Controller
```
你当前系统已经有不少基础:架构里已经有 `AiRouterService``PromptBuilderService``ProviderConfig``LiveActionModule``MediaModule``FFmpeg``RenderTask``BullMQ Worker`,而且视频侧已经支持 Provider fallback、成本估算、候选片段、人工选择和合成流程。
所以你现在不是从 0 做,而是要继续补齐“官方网页版隐藏的优化层”。
---
# 四、API 要接近网页版,需要做 10 层
## 1. Prompt 增强层
不要让用户原始输入直接进模型。
```text
用户提示词 / 小说章节 / 分镜
Prompt Builder
模型专用 Prompt
```
你现在真人视频已有 `live-action-prompt-engine-v2`,能输出 scene type、camera、lighting、VFX、negative prompt、actor consistency rules 等,这个方向是对的。
但还要继续加强:
```text
豆包专用模板
可灵专用模板
海螺专用模板
Sora 专用模板
图生视频模板
文生视频模板
真人短剧模板
玄幻大场面模板
对话镜头模板
```
---
## 2. Provider 能力矩阵
不同模型能力不一样,不能统一传同一组参数。
要记录:
```text
支持时长
支持比例
支持分辨率
是否支持首帧
是否支持尾帧
是否支持角色参考图
是否支持多参考图
是否允许真人照片
是否支持同步声音
是否支持种子 seed
是否支持运动强度
失败率
平均耗时
平均成本
适合场景
```
你上传的架构文档里也明确把 Provider 能力矩阵列为待优化点,包括时长、分辨率、首帧、尾帧、角色参考图、真人照片、多参考图、同步声音等。
这层必须做。
---
## 3. 参数适配层
你不能写死:
```text
duration=5
resolution=720p
ratio=9:16
```
应该由 Router 根据 Provider 能力自动转。
比如:
```text
豆包支持 5s / 10s
可灵支持 5s / 10s,图生更稳
海螺 Fast 适合低成本对话
Sora 适合高价值镜头
```
同一个分镜,传给不同 Provider 的参数应该不一样。
---
## 4. 角色一致性层
短剧最重要的是角色不换脸。
你现在已经有:
```text
GlobalCharacter
GlobalCharacterAsset
Character
CharacterImage
CharacterDesignVersion
CharacterState
ActorProfile
```
而且设计上区分了“真人脸包”和“项目内定妆锚点图”,这很正确。
下一步要强化:
```text
角色视觉档案
角色锚点图优先级
服装状态变体
受伤状态变体
同一集角色锁定配置
每个镜头引用哪个角色版本
```
不要每个镜头重新描述一个角色。
---
## 5. 参考图预处理层
网页版通常会自动处理图。
你自己 API 要做:
```text
裁剪主体
统一比例
增强清晰度
去水印/去杂乱边缘
人脸区域检测
生成角色锚点图
生成场景首帧
保存参考图版本
```
尤其是图生视频,首帧图质量决定一半结果。
---
## 6. 多候选生成层
不要一个分镜只生成一次。
建议:
```text
普通镜头:1-2 个候选
重要镜头:3-4 个候选
关键爆点镜头:多 Provider 生成
```
你的现有架构已经支持“同一分镜可以用多个视频模型生成多个候选,合成前选择最终片段”,这个要保留并加强。
---
## 7. 自动质量评分层
每个候选视频要打分。
评分维度:
```text
角色是否一致
是否崩脸
动作是否完成
镜头是否稳定
是否符合分镜
画面是否真实
是否多手多脚
是否有明显伪影
是否适合接入下一镜头
是否可用于成片
```
低分自动重试,高分进入候选池。
---
## 8. 失败重试 / Fallback 层
你现在 Router 已经有 fallback
普通路线、高价值路线、成本检查、预算检查、Provider 跳过原因。
继续加强:
```text
Provider 超时但外部 running → 继续轮询
Provider 失败 → 换备用模型
同模型失败 2 次 → 降级 prompt
动作太复杂失败 → 自动拆成两个镜头
时长不支持 → 自动拆段
```
---
## 9. 后处理层
API 原始视频不是成片。
你要做:
```text
统一分辨率
统一帧率
统一色调
裁剪补齐
镜头拼接
字幕
配音
BGM
SFX
响度标准化
封面截图
转码
```
你当前 FFmpeg 已经做了标准化片段、竖屏 720x1280、fps、concat、音频混合、字幕、BGM、SFX、编码 fallback 等,这是非常正确的方向。
---
## 10. Prompt 调试面板
这是你后面提质最关键的后台工具。
每个分镜要能看到:
```text
原始分镜
最终 Prompt
负面词
Provider
Provider 参数
参考图
Router 决策
跳过原因
成本估算
生成结果
评分
失败原因
```
你文档里也提到需要增加“Prompt 调试面板”,展示最终提交给 Provider 的完整参数、参考图、负面词、成本估算,方便测试。
这个必须做,越早做越好。
---
# 五、网页版效果怎么反推到 API?
你可以用一个“反推流程”。
## 第一步:网页版测试
同一个镜头在网页版测:
```text
简单 prompt
详细 prompt
图生视频
不同参考图
不同时长
不同动作复杂度
```
记录:
```text
输入词
生成效果
失败点
角色一致性
动作完成度
画面风格
```
---
## 第二步:总结模板
把好结果拆成模板:
```text
角色描述模板
场景模板
动作模板
镜头模板
光影模板
负面词模板
```
---
## 第三步:写进 Prompt Builder
例如:
```text
xianxia_transformation_template
realistic_dialog_template
identity_reveal_template
emotional_closeup_template
action_chase_template
```
你现有 Prompt Builder 已经有 `dialog``conflict``reveal``identity_reveal``xianxia_transformation``action` 等场景模板,可以继续扩展。
---
## 第四步:API 批量验证
同一分镜跑:
```text
豆包
可灵
海螺
Sora
```
记录真实成本、耗时、成功率、质量评分。
---
## 第五步:更新 Router
最后把经验变成规则:
```text
对话镜头 → 海螺 Fast
情绪特写 → 豆包 Seedance 2.0
动作镜头 → 可灵 / 豆包
玄幻大场面 → 豆包 / Sora
关键爆点 → 高价值路线
普通过渡 → 低成本路线
```
这样你的 API 系统会越来越接近甚至超过手工网页版效率。
---
# 六、官网 API 文档参数要怎么用?
你要分三层用。
## 第一层:硬参数
这些必须严格按文档:
```text
model
prompt
image_url / reference_image
duration
aspect_ratio
resolution
callback_url
seed
watermark
```
---
## 第二层:业务参数
这是你系统自己的参数,不一定传给 Provider,但用于路由和控制:
```text
scene_type
route_tier
importance_score
motion_intensity
emotion_intensity
character_consistency_required
cost_level
retry_policy
candidate_count
```
---
## 第三层:Prompt 组件参数
这些最终会被 Prompt Builder 合成 prompt
```text
character_identity
costume
location
main_action
camera_shot
camera_move
lighting
mood
visual_style
continuity_rules
negative_prompt
```
也就是说,后台不要只保存一个 `prompt_text`
最好保存:
```json
{
"raw_prompt": "",
"prompt_components": {},
"final_prompt": "",
"negative_prompt": "",
"provider_params": {},
"router_decision": {}
}
```
你文档里 Prompt Builder 已经输出 prompt components、negative prompt、director plan、motion director、lip sync policy 等,这个方向继续做。
---
# 七、你的最终方向是对的
你的目标不是:
```text
人工去网页版一个个生成
```
而是:
```text
用 API 复刻网页版背后的自动化产品层
```
最终应该是:
```text
小说章节
自动转剧本
自动分镜
自动角色锁定
自动选 Provider
自动构建 Prompt
自动生成多候选
自动质检
自动选择 / 人工少量审核
自动合成
```
人工只做:
```text
选题
角色锚点确认
关键分镜审核
最终成片确认
```
不是每个镜头都人工调。
---
# 八、你现在最该补的三个功能
按优先级:
## 1. Provider 能力矩阵
这是 API 稳定性的地基。
不做这个,就会大量 Provider 报错、参数不匹配、生成失败。
---
## 2. Prompt 调试面板
没有这个,你不知道为什么某个镜头生成差。
---
## 3. 视频质量评分 / 多候选自动选择
没有这个,你只能人工看大量视频,效率会很低。
---
# 九、最终答案
是的,网页版大概率也是基于模型服务,但它不是简单调用公开 API 参数。
你的目标应该是:
> **用公开 API + 自己的 Prompt Builder + Router + 角色资产 + 多候选 + 质检 + 后处理,做出接近网页版甚至更适合批量生产的自动化系统。**
按官网 API 文档传参数只是第一步。
真正决定效果的是你自己的产品层。
一句话:
> **网页版强在“官方替你做了优化”;
> API 强在“你可以把优化变成自动化流水线”。
> 你要做的,就是把网页版里的人工和隐藏优化,沉淀成自己的后台规则、Prompt 模板、Router 策略和质检系统。**