feat: expand novel IP and production workflows
This commit is contained in:
@@ -0,0 +1,375 @@
|
||||
# AI仿真人短剧自动化规则库 V1
|
||||
|
||||
> 目标:把课程里的人工导演经验,转成系统可以执行的规则。适合接入现有 LiveActionPromptBuilderService、AI Router、Shot Planner、Character Library。
|
||||
|
||||
## 1. Shot Planner 规则
|
||||
|
||||
### 1.1 一集结构
|
||||
|
||||
```yaml
|
||||
episode_structure:
|
||||
target_duration: 45-60s
|
||||
shot_count: 8-12
|
||||
default_shot_duration: 5-6s
|
||||
max_single_shot_duration: 8s
|
||||
```
|
||||
|
||||
### 1.2 镜头角色 shot_role
|
||||
|
||||
```yaml
|
||||
shot_roles:
|
||||
hook:
|
||||
position: first_3_seconds
|
||||
purpose: 强钩子,快速制造冲突或悬念
|
||||
conflict:
|
||||
purpose: 角色冲突、羞辱、威胁、退婚、分手
|
||||
reaction:
|
||||
purpose: 角色震惊、隐忍、后悔
|
||||
reveal:
|
||||
purpose: 身份、资产、权力、道具揭示
|
||||
premium_moment:
|
||||
purpose: 爽点/打脸/反转
|
||||
bridge:
|
||||
purpose: 场景衔接、过渡、环境镜头
|
||||
cliffhanger:
|
||||
purpose: 结尾悬念,引导下一集
|
||||
```
|
||||
|
||||
### 1.3 镜头拆分规则
|
||||
|
||||
```yaml
|
||||
shot_split_rules:
|
||||
if_dialogue_too_long:
|
||||
action: split_into_reaction_shots
|
||||
if_action_score_gt_5:
|
||||
action: split_action_beats
|
||||
if_scene_contains_multiple_events:
|
||||
action: one_shot_one_main_action
|
||||
if_duration_gt_8s:
|
||||
action: split_to_2_clips
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. Camera Engine 规则
|
||||
|
||||
### 2.1 情绪与景别
|
||||
|
||||
```yaml
|
||||
camera_by_emotion:
|
||||
emotion_1_3:
|
||||
shot: medium_shot
|
||||
move: static_or_slow_push
|
||||
emotion_4_6:
|
||||
shot: medium_close_up
|
||||
move: slow_dolly_in
|
||||
emotion_7_8:
|
||||
shot: close_up
|
||||
move: slow_push_in
|
||||
emotion_9_10:
|
||||
shot: extreme_close_up
|
||||
move: quick_push_or_slow_dramatic_push
|
||||
```
|
||||
|
||||
### 2.2 重要度与运镜
|
||||
|
||||
```yaml
|
||||
camera_by_importance:
|
||||
importance_lte_4:
|
||||
shot: medium_shot
|
||||
move: stable_camera
|
||||
importance_5_7:
|
||||
shot: medium_close_up
|
||||
move: slow_dolly_in
|
||||
importance_gt_7:
|
||||
shot: close_up_or_low_angle
|
||||
move: cinematic_push_in
|
||||
route_tier: premium
|
||||
```
|
||||
|
||||
### 2.3 常见场景运镜
|
||||
|
||||
```yaml
|
||||
scene_camera_templates:
|
||||
breakup:
|
||||
shot: two_shot_to_close_up
|
||||
move: slow_dolly_in
|
||||
mood: emotional_tension
|
||||
humiliation:
|
||||
shot: over_shoulder_then_reaction_close_up
|
||||
move: quick_push_in
|
||||
mood: oppressive
|
||||
rich_arrival:
|
||||
shot: low_angle_wide_to_medium
|
||||
move: slow_motion_dolly
|
||||
mood: powerful
|
||||
asset_reveal:
|
||||
shot: insert_close_up
|
||||
move: slow_push_in
|
||||
mood: shocking
|
||||
regret:
|
||||
shot: close_up
|
||||
move: handheld_slight_shake
|
||||
mood: panic_and_regret
|
||||
boardroom:
|
||||
shot: wide_establishing_then_close_up
|
||||
move: slow_push
|
||||
mood: business_pressure
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Character Consistency 规则
|
||||
|
||||
### 3.1 主角最小素材要求
|
||||
|
||||
```yaml
|
||||
character_min_assets:
|
||||
required:
|
||||
- front_face
|
||||
- half_body
|
||||
- full_body
|
||||
- side_face
|
||||
- main_outfit
|
||||
recommended:
|
||||
- formal_outfit
|
||||
- casual_outfit
|
||||
- expression_sheet
|
||||
- action_reference
|
||||
```
|
||||
|
||||
### 3.2 角色进入正式生成前的测试
|
||||
|
||||
```yaml
|
||||
character_consistency_test:
|
||||
shots:
|
||||
- walk_forward
|
||||
- sit_down
|
||||
- turn_head
|
||||
- phone_call
|
||||
- enter_car
|
||||
pass_score: 80
|
||||
fail_action:
|
||||
- regenerate_anchor_image
|
||||
- simplify_prompt
|
||||
- reduce_motion_complexity
|
||||
```
|
||||
|
||||
### 3.3 Actor Lock 规则
|
||||
|
||||
```yaml
|
||||
actor_lock_rules:
|
||||
only_include_characters_in_current_shot: true
|
||||
include_anchor_asset: true
|
||||
include_appearance_rules: true
|
||||
include_wardrobe_rules: true
|
||||
include_negative_rules: true
|
||||
avoid_all_project_characters_in_prompt: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Prompt Builder 规则
|
||||
|
||||
### 4.1 标准 Prompt 结构
|
||||
|
||||
```yaml
|
||||
prompt_sections:
|
||||
- project_context
|
||||
- shot_context
|
||||
- character_lock
|
||||
- scene_location
|
||||
- main_action
|
||||
- camera_shot
|
||||
- camera_movement
|
||||
- performance
|
||||
- lighting
|
||||
- style
|
||||
- sound_cue
|
||||
- negative_constraints
|
||||
```
|
||||
|
||||
### 4.2 视频模型通用约束
|
||||
|
||||
```yaml
|
||||
video_prompt_constraints:
|
||||
one_main_action_per_clip: true
|
||||
avoid_scene_cut_inside_clip: true
|
||||
avoid_extra_characters: true
|
||||
avoid_face_change: true
|
||||
avoid_outfit_change: true
|
||||
avoid_multiple_camera_angles_in_one_clip: true
|
||||
avoid_long_dialogue_if_no_lipsync: true
|
||||
```
|
||||
|
||||
### 4.3 无 Lip Sync 时的说话镜头规则
|
||||
|
||||
```yaml
|
||||
no_lipsync_dialogue_strategy:
|
||||
preferred_shots:
|
||||
- side_face
|
||||
- back_view
|
||||
- over_shoulder
|
||||
- reaction_shot
|
||||
- medium_shot
|
||||
avoid:
|
||||
- front_face_mouth_close_up
|
||||
- long_direct_speaking
|
||||
post_process:
|
||||
- tts
|
||||
- subtitles
|
||||
- light_mouth_movement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Router 规则
|
||||
|
||||
### 5.1 普通镜头
|
||||
|
||||
```yaml
|
||||
normal_shot:
|
||||
condition:
|
||||
importance_lte: 7
|
||||
action_lte: 5
|
||||
provider: hailuo
|
||||
fallback:
|
||||
- jimeng_seedance
|
||||
- mock
|
||||
```
|
||||
|
||||
### 5.2 高价值镜头
|
||||
|
||||
```yaml
|
||||
premium_shot:
|
||||
condition_any:
|
||||
importance_gt: 7
|
||||
action_gt: 5
|
||||
scene_type_in:
|
||||
- reveal
|
||||
- rich_arrival
|
||||
- fantasy_effect
|
||||
- dimensional_break
|
||||
- emotional_peak
|
||||
provider: kling_or_stronger
|
||||
fallback:
|
||||
- hailuo
|
||||
- seedance
|
||||
- mock
|
||||
```
|
||||
|
||||
### 5.3 Hailuo 不适合的镜头
|
||||
|
||||
```yaml
|
||||
hailuo_risk_scenes:
|
||||
high_risk:
|
||||
- fight
|
||||
- rolling
|
||||
- fast_running
|
||||
- complex_magic
|
||||
- crowd_scene
|
||||
- multiple_character_interaction
|
||||
- long_front_face_dialogue
|
||||
action:
|
||||
- reduce_motion
|
||||
- split_shots
|
||||
- route_to_premium_provider
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. Scene Template 规则
|
||||
|
||||
### 6.1 都市逆袭优先场景
|
||||
|
||||
```yaml
|
||||
urban_drama_safe_locations:
|
||||
- luxury_hotel_lobby
|
||||
- banquet_hall
|
||||
- coffee_shop
|
||||
- city_street_night
|
||||
- luxury_car_exterior
|
||||
- luxury_car_interior
|
||||
- bank_vip_room
|
||||
- office
|
||||
- boardroom
|
||||
- apartment_living_room
|
||||
```
|
||||
|
||||
### 6.2 暂缓题材/场景
|
||||
|
||||
```yaml
|
||||
avoid_in_mvp:
|
||||
- ancient_war
|
||||
- large_crowd_battle
|
||||
- wuxia_fight
|
||||
- xianxia_complex_spell
|
||||
- fantasy_beast_interaction
|
||||
- multi_actor_choreography
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. QA 规则
|
||||
|
||||
### 7.1 片段质检维度
|
||||
|
||||
```yaml
|
||||
clip_quality_check:
|
||||
face_consistency: 30
|
||||
outfit_consistency: 15
|
||||
action_completion: 20
|
||||
scene_consistency: 10
|
||||
camera_quality: 10
|
||||
artifacts: 10
|
||||
subtitle_sync_ready: 5
|
||||
pass_score: 80
|
||||
```
|
||||
|
||||
### 7.2 自动修复策略
|
||||
|
||||
```yaml
|
||||
qa_retry_policy:
|
||||
score_gte_80: pass
|
||||
score_70_79:
|
||||
action: retry_same_provider_with_simplified_prompt
|
||||
score_60_69:
|
||||
action: retry_with_fallback_provider
|
||||
score_lt_60:
|
||||
action: manual_required
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 8. 成本控制规则
|
||||
|
||||
```yaml
|
||||
cost_rules:
|
||||
mvp_target_cost_per_episode: <=20 RMB
|
||||
normal_provider_ratio: 80%
|
||||
premium_provider_ratio: <=20%
|
||||
reuse_asset_ratio_target: >=30%
|
||||
retry_limit_per_shot: 2
|
||||
after_two_failures: manual_required
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. 第一阶段推荐执行
|
||||
|
||||
```yaml
|
||||
phase_1:
|
||||
project: 被未婚妻退婚后我成了首富
|
||||
episode: 1
|
||||
providers:
|
||||
script: deepseek
|
||||
video: hailuo
|
||||
tts: optional
|
||||
lipsync: disabled
|
||||
focus:
|
||||
- prompt_builder_v2
|
||||
- character_anchor
|
||||
- 6s_clip_generation
|
||||
- ffmpeg_concat
|
||||
- qa_score
|
||||
```
|
||||
Reference in New Issue
Block a user