376 lines
6.6 KiB
Markdown
376 lines
6.6 KiB
Markdown
# 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
|
|
```
|