凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆

凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。 倒回之后,一名凌晨小店老板娘 在 凌晨豆浆铺 中发现 一碗仍在冒热气的白瓷碗豆浆,必须在 保护个人安全与把真相带给别人 之间做选择。

Runshowcase-last-soymilk
Storypass
Promptpass
Pipelinetheatrical_candidate
Theatrical95.4/100
Video QCpass
Planned Candidates18
Mode Counts{'text_to_video': 2, 'image_to_video': 3, 'first_last_frame': 1}
Risk Counts{'high': 6}

最终视频

showcase_story_source_audio.mp4

故事评审

protagonist_clarity4/5

主角是否具体、可被镜头持续追踪

conflict_and_stakes4/5

冲突和代价是否在前半段可见

visible_action4/5

故事推进是否依赖可见行动,而不是只靠旁白解释

cold_open_climax5/5

第一段是否先给结果级高潮,再倒回解释

causal_chain5/5

每个 beat 是否有明确因果接力

irreversible_choice5/5

结尾是否由主角做出不可逆选择

visual_story_potential4/5

主题是否适合用影像表达

emotional_arc4/5

结尾是否有情绪回收的空间

production_fit5/5

是否避开 AI 视频模型不擅长的长对白/精确文字场景

structure_shape4/5

节拍数量和时长是否适合当前目标时长

生成策略

生成顺序

  • 先生成角色/场景/道具参考图
  • 先跑高风险镜头的 1 个低成本测试 take
  • 通过后再批量生成每个 shot 的候选
  • QC 通过后只把 best take 写入 renders/selected/

音频策略

{
  "keep_model_audio": true,
  "model_audio_gain": 0.42,
  "voiceover_gain": 1.0,
  "score_gain": 0.12,
  "limiter": "alimiter=limit=0.95"
}

候选预算

{
  "total_planned_candidates": 18,
  "high_risk_shots": [
    "S01",
    "S02",
    "S03",
    "S04",
    "S05",
    "S06"
  ],
  "prompt_revisions_before_generation": []
}

返工总览

ready

6 个 shot/story action

通用 Pipeline 质量门

Beat Contractpass
Voice Timingpass
Voice Rewriteready
Shootabilitypass_with_constraints
Shot Strategyready
Continuityready
Asset Gateplanned_no_reference_files
Asset Reviewnot_run
Assets Readynot_checked
Assets Missingnot_checked
Proxy Assetsnot_checked
Asset Regennot_run
Candidates18
Ready Jobsnot_staged
Blocked Jobsnot_staged
Downloadednot_submitted
Poll Existingnot_run
Reroll Execnot_run
Review Applynot_run
Finalize Cutnot_run
Segment QCready_for_visual_review
Review Packetsready_for_semantic_review
Clip Semanticpass
Semantic Rerollsnot_run
Identity Videopass
Identity Packetsnot_run
A/V Syncpass
A/V Packets0
Sequence Timingpass
Selection Gatepass
Edit Lockpass
Final Viewingpass
Version Comparenot_run
Promotion Gatenot_run
Releasenot_run
Pipelinenot_run
Advancenot_run
Doctornot_run
Memorynot_run
Contractnot_run
Text/Signagepass
Preflightnot_run
EDLready
Final Editpass
Auto Iterationnot_run

下一步

  • Create or visually review identity/style reference assets before I2V generation.
  • Add missing coverage types or reduce repeated shot roles inside each beat.
  • Generate and review global style, protagonist, location, and first-frame assets before I2V.
  • Create global style, protagonist identity, location, and hero prop references; rerun dashboard asset review.
  • Split or simplify every blocked shot before spending provider budget.

状态摘要

{
  "audience_strategy_status": "pass",
  "selected_hook_id": "H02_wrong_object",
  "selected_hook_score": 4.7,
  "story_premise_tournament_status": "pass",
  "selected_story_candidate_id": "C02_private_cost",
  "story_candidate_count": 4,
  "script_room_status": "pass",
  "script_room_average_score": 4.95,
  "retention_plan_status": "pass",
  "beat_contract_status": "pass",
  "narrative_continuity_status": "pass",
  "voiceover_timing_status": "pass",
  "shootability_status": "pass_with_constraints",
  "text_signage_risk_status": "pass",
  "text_signage_medium_or_higher_risk": 0,
  "shot_strategy_status": "ready",
  "continuity_contract_status": "ready",
  "identity_anchor_strategy_status": "ready",
  "identity_anchor_seed_shot_id": "S01",
  "continuity_risk_counts": {
    "low": 2,
    "medium": 3,
    "high": 1
  },
  "asset_gate_status": "planned_no_reference_files",
  "planned_candidates": 18,
  "segment_qc_status": "ready_for_visual_review",
  "clip_review_packets_status": "ready_for_semantic_review",
  "clip_review_packets_ready": 6,
  "clip_semantic_qc_status": "pass",
  "video_identity_semantic_status": "pass",
  "av_sync_status": "pass",
  "selection_gate_status": "pass",
  "edit_lock_status": "pass",
  "final_viewing_status": "pass",
  "edl_status": "ready",
  "final_edit_status": "pass",
  "theatrical_readiness": "theatrical_candidate",
  "raw_readiness_before_viewing_gates": "theatrical_export_candidate",
  "viewing_gate_cap": "theatrical_candidate",
  "theatrical_planning_score": 95.4,
  "theatrical_production_score": 95.4,
  "iteration_status": "iteration_required"
}

关键文件

  • quality/project_brief.json
  • quality/audience_strategy.json
  • quality/hook_lab.json
  • quality/story_premise_tournament.json
  • quality/script_room_review.json
  • quality/general_pipeline_contract.json
  • quality/agent_review_plan.json
  • quality/beat_contract.json
  • quality/narrative_continuity_review.json
  • quality/retention_plan.json
  • quality/voiceover_timing_qc.json
  • quality/voiceover_rewrite_plan.json
  • quality/shootability_review.json
  • quality/prompt_compilation.json
  • quality/text_signage_risk_review.json
  • quality/shot_strategy.json
  • quality/asset_plan.json
  • quality/continuity_contract.json
  • quality/identity_anchor_strategy.json
  • quality/asset_consistency_gate.json
  • quality/candidate_budget.json
  • quality/segment_qc.json
  • quality/clip_review_packets.json
  • quality/clip_review_decisions_template.json
  • quality/clip_semantic_qc.json
  • quality/video_identity_semantic_review.json
  • quality/reroll_controller.json
  • quality/edit_decision_list.json
  • quality/sequence_timing_plan.json
  • quality/final_edit_review.json
  • quality/av_sync_review.json
  • quality/av_sync_review_packets.json
  • quality/av_sync_decisions_template.json
  • quality/selection_gate.json
  • quality/edit_lock_review.json
  • quality/final_viewing_review.json
  • quality/final_viewing_decisions_template.json
  • quality/theatrical_scorecard.json
  • quality/iteration_plan.json

连续性契约

{
  "status": "ready",
  "summary": {
    "total_shots": 6,
    "risk_counts": {
      "low": 2,
      "medium": 3,
      "high": 1
    },
    "mode_counts": {
      "text_to_video": 2,
      "image_to_video": 3,
      "first_last_frame": 1
    },
    "identity_required_shots": 0,
    "first_frame_required_shots": 4,
    "last_frame_required_shots": 1,
    "required_asset_references": 11
  },
  "global_references": {
    "style": "style_reference",
    "location": "primary_location_reference",
    "identity": "hero_character_identity"
  },
  "first_high_risk_shots": [
    {
      "shot_id": "S03",
      "mode": "first_last_frame",
      "required_assets": [
        "style_reference",
        "S03_first_frame",
        "S03_last_frame"
      ],
      "reroll_triggers": [
        "style or palette clearly diverges from the project reference",
        "location layout contradicts adjacent shots",
        "shot action becomes unreadable or unrelated to narrative purpose"
      ]
    }
  ]
}

Clip Review Packets

{
  "packets": 6,
  "ready_for_semantic_review": 6,
  "needs_contact_sheet": 0,
  "needs_frame_extraction": 0,
  "missing_take": 0
}

Voiceover Rewrite

{
  "status": "ready",
  "timing_status": "pass",
  "timing_summary": {
    "beats": 6,
    "original_revise": 1,
    "auto_rewritten": 1,
    "override_rewritten": 0,
    "final_revise": 0
  },
  "rewrite_summary": {
    "beats": 6,
    "auto_rewritten": 1,
    "needs_manual_rewrite": 0,
    "ready_for_natural_tts": 6
  },
  "script_lines": [
    "故事先从最坏的一刻开始。",
    "在那之前,一名凌晨小店老板娘 还相信日常秩序可以维持。",
    "为什么只有一名凌晨小店老板娘必须为一碗仍在冒热气的白瓷碗豆浆负责?。",
    "真正的问题不是异常,而是谁需要它继续存在。",
    "这一次,主角回到危机中央。",
    "改变已经发生,只剩最后一个画面证明它是真的。"
  ]
}

Sequence Timing

{
  "status": "pass",
  "summary": {
    "beats": 6,
    "passed": 6,
    "revise": 0
  },
  "policy": "A beat-level sequence owns the voiceover window; individual short shots cut under that window instead of each repeating the line.",
  "first_beats": [
    {
      "beat_id": "B01",
      "sequence": [
        0.0,
        10.0
      ],
      "voiceover": [
        0.35,
        3.19
      ],
      "status": "pass"
    },
    {
      "beat_id": "B02",
      "sequence": [
        10.0,
        20.0
      ],
      "voiceover": [
        10.35,
        16.5
      ],
      "status": "pass"
    },
    {
      "beat_id": "B03",
      "sequence": [
        20.0,
        30.0
      ],
      "voiceover": [
        20.35,
        28.41
      ],
      "status": "pass"
    },
    {
      "beat_id": "B04",
      "sequence": [
        30.0,
        40.0
      ],
      "voiceover": [
        30.35,
        35.31
      ],
      "status": "pass"
    }
  ]
}

Semantic Reroll Plan

{
  "status": "not_run",
  "next": "Run clip VLM/human review and build quality/semantic_reroll_execution_plan.json"
}

Video Identity Review

{
  "status": "pass",
  "summary": {
    "shots": 6,
    "passed": 0,
    "style_review_optional": 6,
    "needs_identity_review": 0,
    "identity_revision_required": 0
  },
  "decision_source_file": null,
  "packet_summary": {},
  "decisions_status": null,
  "decision_count": 0,
  "first_blocking_shots": []
}

A/V Sync

{
  "summary": {
    "beats": 6,
    "passed": 6,
    "needs_sync_review": 0,
    "needs_recut": 0,
    "needs_voiceover_rewrite": 0,
    "needs_reroll": 0,
    "blocked": 0
  },
  "packets": {
    "packets": 6,
    "ready_for_sync_review": 0,
    "already_passed": 6,
    "needs_contact_sheet": 0,
    "needs_frame_extraction": 0,
    "missing_video_segment": 0
  },
  "decision_source_file": "quality/av_sync_decisions.json",
  "template_status": "ready_for_review"
}

Final Viewing

{
  "status": "pass",
  "average_score": 4.4,
  "decision_source_file": "quality/final_viewing_decisions.json",
  "final_video": "exports/showcase_story_source_audio.mp4",
  "template_status": "ready_for_review"
}

Version Compare

{
  "status": "not_run",
  "next": "Run agentic-video compare <baseline-run> <candidate-run> --refresh-review"
}

Promotion Gate

{
  "status": "not_run",
  "next": "Run agentic-video promotion-gate <run_dir> --baseline <accepted-run> --refresh-review"
}

Release Manifest

{
  "status": "not_run",
  "next": "Run agentic-video accept-version <run_dir> after promotion-gate is promotable"
}

Pipeline Status

{
  "status": "not_run",
  "next": "Run agentic-video pipeline-status <run_dir>"
}

Advance Report

{
  "status": "not_run",
  "next": "Run agentic-video advance <run_dir>"
}

Pipeline Doctor

{
  "status": "not_run",
  "next": "Run agentic-video pipeline-doctor <run_dir>"
}

Regression Memory

{
  "status": "not_run",
  "next": "Run agentic-video regression-memory"
}

Candidate Contract

{
  "status": "not_run",
  "next": "Run agentic-video candidate-contract <candidate-run>"
}

Text / Signage Risk

{
  "status": "pass",
  "summary": {
    "shots": 6,
    "medium_or_higher_risk": 0,
    "blocked": 0
  },
  "policy": [
    "Video models frequently invent readable signs, UI, logos, license plates, screens, and labels.",
    "Planning prompts must forbid readable generated text and route essential text to post-production.",
    "Any rendered readable signage is a semantic reroll/crop issue unless explicitly approved."
  ],
  "medium_or_higher": []
}

Provider Spend Preflight

{
  "status": "not_run",
  "next": "Run agentic-video provider-preflight <run_dir>"
}

Asset Visual Review

{
  "status": "not_run",
  "next": "Run agentic-video review-assets <run_dir>"
}

Asset Regeneration

{
  "status": "not_run",
  "next": "Run agentic-video assets <run_dir> or review-assets --apply"
}

资产门槛

{
  "identity_minimum": 4.0,
  "style_minimum": 4.0,
  "composition_minimum": 4.0
}

资产缺口

{
  "status": "not_checked",
  "next": "Run agentic-video assets <run_dir>"
}

生成作业

{
  "status": "not_staged",
  "next": "Run agentic-video generate <run_dir> --provider veo"
}

真实提交

{
  "status": "not_submitted",
  "next": "Run agentic-video submit <run_dir> --provider veo"
}

Poll Existing Submissions

{
  "status": "not_run",
  "next": "Run agentic-video poll-submissions <run_dir> --dry-run to inspect existing provider records."
}

Reroll Execution

{
  "status": "not_run",
  "next": "Run agentic-video execute-rerolls <run_dir> --dry-run first, then without --dry-run when provider credentials are present."
}

Post-Reroll Review Apply

{
  "status": "not_run",
  "next": "Run agentic-video apply-post-reroll-reviews <run_dir> --dry-run, then with response files."
}

Finalize Reviewed Cut

{
  "status": "not_run",
  "next": "Run agentic-video finalize-reviewed-cut <run_dir> --dry-run after reroll clip review passes."
}

电影级评估

Readinesstheatrical_candidate
Viewing Gate Captheatrical_candidate
Raw Readinesstheatrical_export_candidate
Planning Score95.4/100
Production Score95.4/100
Iterationiteration_required

硬门槛

Missing rendered-video semantic QC, voiceover timing QC, A/V sync QC, selection gate, edit lock, or final viewing review caps readiness below theatrical_candidate.

CriterionStatusScoreWeightImprove
audience_promise
The run should know who it is for, why they stop, and what question they wait to answer.
pass5.0/51.1
  • Rewrite the audience promise and first-three-second question before story expansion.
hook_strength
Short-form videos need a visible first-frame hook and a clear question within three seconds.
pass4.7/51.3
  • Run hook lab again and select a more visible consequence-first hook.
script_room_greenlight
Story should pass showrunner, short-form editor, director, audience proxy, and producer review before generation.
pass4.95/51.2
  • Rewrite blocked script-room notes before provider spend.
premise_tournament
The selected story should beat multiple reusable candidates, not be the only generated premise.
pass5.0/51.2
  • Generate and score alternative premise engines before locking the script.
planned_retention
The planned cut should avoid high-risk drop-off checkpoints before generation.
pass5.0/51.2
  • Fix high-risk retention checkpoints in the opening, midpoint, escalation, or payoff.
story_engine
Protagonist, desire, pressure, dilemma, visible motif, and ending image are explicit.
pass5.0/51.4
  • Rewrite the story engine before shot generation if protagonist/desire/dilemma are generic.
causal_beat_chain
Each beat should cause the next beat, not simply describe a mood.
pass5.0/51.2
  • Rewrite weak beats as cause/effect actions with one irreversible turn per beat.
emotional_arc
The emotional value should change across the film and land in the final beat.
pass5.0/51.1
  • Assign a distinct emotional value shift to each beat and make the last shot pay it off visually.
visual_motif_payoff
A tangible motif should recur and change state at turning points.
pass5.0/51.0
  • Make the motif visible in setup, midpoint reversal, crisis, final choice, and ending image.
coverage_and_blocking
The shotlist should provide editable coverage: space, character, insert, action, reaction, transition.
revise1.8/51.0
  • Add missing coverage types or reduce repeated shot roles inside each beat.
cinematic_specificity
Shots should describe visible behavior, framing, camera motivation, and story consequence.
pass5.0/51.0
  • Replace abstract purposes with physical actions, visible decisions, and concrete props.
generation_feasibility
High ambition must still be shootable by video models without overloaded single shots.
watch4.0/51.0
  • Split or simplify every blocked shot before spending provider budget.
text_signage_control
The plan should prevent Veo from inventing readable signs, UI, labels, logos, and screen text.
pass5.0/50.9
  • Rewrite prompts so signage/screens are blank, cropped, blurred, abstract, or handled in post-production.
identity_and_style_control
Film-level continuity needs approved identity, location, style, and first-frame assets.
revise2.5/50.9
  • Generate and review global style, protagonist, location, and first-frame assets before I2V.
continuity_contract
Each shot should carry explicit identity, location, style, motif, and reroll rules before provider generation.
pass5.0/50.8
  • Regenerate quality/continuity_contract.json and ensure every I2V/first-last-frame shot has asset and reroll contracts.
identity_anchor_strategy
Multi-shot narrative videos need an approved identity/location anchor before dependent shots are generated or selected.
pass5.0/51.0
  • Generate a seed shot/reference frame first, then image-condition or reroll dependent shots from that anchor.
render_budget_realism
Important or risky shots need enough candidate attempts to select a strong take.
pass5.0/50.8
  • Raise candidate counts for high-risk story turns; do not depend on first-take success.
post_production_traceability
Every final clip should be traceable to selected sources, segment QC, and an EDL.
pass5.0/50.8
  • Populate takes, run segment QC, then lock the EDL only from selected reviewed clips.
beat_contract
Story, picture, voiceover, emotional turn, and required visual evidence must be bound before generation.
pass5.0/51.2
  • Rewrite any beat that lacks one visual event, one natural line, or required visual evidence.
narrative_continuity
Shots must connect as a causal story instead of unrelated prompt demos.
pass5.0/51.3
  • Rewrite disconnected beat handoffs, repeat the visible motif, or reduce scene blocks before generation.
voiceover_timing
Chinese narration must stay natural; do not slow TTS to fill long shots.
pass5.0/51.2
  • Shorten long lines, keep natural TTS speed, and fill unused time with silence, ambience, or source audio.
clip_semantic_evidence
Rendered clips must prove that the required beat event is visible before selection.
pass5.0/51.4
  • Extract frames and run human/VLM semantic QC before selected takes can pass.
clip_review_packets
Every rendered clip should have a review packet tying contact sheets to beat evidence, voiceover, pass rules, and reroll patches.
pass5.0/50.8
  • Build contact sheets and clip review packets before human/VLM semantic review.
video_identity_semantic_review
Identity and style continuity must be judged from rendered clips, not only planned assets.
pass5.0/51.0
  • Review rendered clips for protagonist, wardrobe, location, style, and prop continuity.
av_sync
Narration and picture must align after trims and selected-take changes.
pass5.0/51.4
  • Recut, move narration, shorten lines, or reroll clips until voice and picture describe the same beat.
selection_gate
Selected takes require technical, semantic, identity/style, A/V sync, and director-selection evidence.
pass5.0/51.0
  • Do not select takes by file existence or size; record semantic/director selection reasons.
edit_lock
Edit lock must be current after trims, voiceover timing, A/V sync, and selection changes.
pass5.0/50.9
  • Rerun A/V sync and edit lock after any trim or selected-take change.
final_viewing
Final viewing quality outranks artifact completeness and plan-level scores.
pass5.0/51.5
  • Watch the final video as a viewer and score story clarity, emotion, sound, sync, and watchability against the accepted benchmark for this format.

下一轮迭代

PriorityAreaActionAcceptance Test
criticalcoverage_and_blockingAdd missing coverage types or reduce repeated shot roles inside each beat.Every beat has editable coverage roles and no shot exceeds model-safe duration.
highidentity_and_style_controlGenerate and review global style, protagonist, location, and first-frame assets before I2V.Asset gate has reviewed identity/style assets above threshold.
highidentity_assetsCreate global style, protagonist identity, location, and hero prop references; rerun dashboard asset review.quality/asset_consistency_gate.json lists reviewed assets above threshold.
mediumgeneration_feasibilitySplit or simplify every blocked shot before spending provider budget.quality/shootability_review.json has no revise_before_generation shots.

逐镜头生产决策

ShotDecisionModeRiskCandidatesSegment QCEDLConstraints
S01
冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机
shootable_with_constraintstext_to_videomedium3technical_pass_visual_pending: 1ready把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; Translate concept into one concrete prop, gesture, or environmental change.
S02
倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现
shootable_with_constraintsimage_to_videomedium3technical_pass_visual_pending: 1ready把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作
S03
第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场
shootable_with_constraintsfirst_last_framehigh3technical_pass_visual_pending: 1ready把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作
S04
真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义
shootable_with_constraintsimage_to_videomedium3technical_pass_visual_pending: 1ready把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作
S05
回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果
shootable_with_constraintsimage_to_videomedium3technical_pass_visual_pending: 1ready把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作
S06
余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾
shootable_with_constraintstext_to_videomedium3technical_pass_visual_pending: 1ready把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; Translate concept into one concrete prop, gesture, or environmental change.

逐镜头 Review

S01 冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机

contact sheet
renders/selected/S01.mp4 | score 3.5 | audio True | 1280x720 | visual sheet ready

镜头决策

推荐模式text_to_video

风险high

候选数3

该镜头以空间、氛围或抽象视觉为主,T2V 成本更低且足够。

QC

pass

Selectedruns/showcase-last-soymilk/renders/selected/S01.mp4

叙事目的

凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first

生成前修改

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒

Reroll Actions

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒
Prompt Review
{
  "shot_id": "S01",
  "status": "pass",
  "score": 4.57,
  "checks": [
    {
      "name": "has_duration",
      "score": 5,
      "status": "pass",
      "note": "是否声明镜头时长"
    },
    {
      "name": "has_scene",
      "score": 5,
      "status": "pass",
      "note": "是否说明场景"
    },
    {
      "name": "has_visible_action",
      "score": 5,
      "status": "pass",
      "note": "是否有可见动作/叙事目的"
    },
    {
      "name": "has_camera",
      "score": 5,
      "status": "pass",
      "note": "是否说明机位或运动"
    },
    {
      "name": "has_continuity",
      "score": 5,
      "status": "pass",
      "note": "是否引用连续性约束"
    },
    {
      "name": "has_negative_text_rule",
      "score": 2,
      "status": "revise",
      "note": "是否避免模型生成文字/字幕"
    },
    {
      "name": "not_overloaded",
      "score": 5,
      "status": "pass",
      "note": "prompt 是否没有塞入过多复杂动作"
    }
  ],
  "recommended_mode": "text_to_video",
  "rewrite_notes": [
    "是否避免模型生成文字/字幕",
    "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒"
  ],
  "prompt_outline": [
    "镜头目的:这段让观众明白什么变化",
    "画面主体:谁/什么在 5-8 秒内做一个明确动作",
    "构图和运动:远景/中景/近景 + 一个摄影机动作",
    "美术连续性:引用角色、场景、道具 bible",
    "生成方式:text_to_video",
    "禁忌:不要可读文字、不要字幕、不要随机人物、不要脸部漂移"
  ]
}
编译后 Provider Prompt
{
  "shot_id": "S01",
  "structured_intent": {
    "shot_id": "S01",
    "duration_sec": 10,
    "scene": "冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机",
    "narrative_purpose": "凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first",
    "framing": "continuous scene coverage, starting wide enough to orient then moving to one decisive action detail",
    "camera": "motivated continuous camera with one readable action handoff",
    "continuity_refs": [
      "visual_bible",
      "beat_B01",
      "main_character",
      "primary_location"
    ],
    "constraints": [
      "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
      "Translate concept into one concrete prop, gesture, or environmental change.",
      "Keep the shot to one visible narrative action."
    ]
  },
  "provider_prompts": {
    "veo": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机。镜头目的:凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:urgent, shocking, physically dangerous。情绪价值变化:shock_over_exposition。因果位置:future_consequence_first。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机; purpose=凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor explicit duration, camera, physical realism, and image/lastFrame fields when available.",
      "duration_sec": 10
    },
    "runway": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机。镜头目的:凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:urgent, shocking, physically dangerous。情绪价值变化:shock_over_exposition。因果位置:future_consequence_first。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机; purpose=凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor camera language, subject framing, and motion constraints.",
      "duration_sec": 10
    },
    "kling": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机。镜头目的:凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:urgent, shocking, physically dangerous。情绪价值变化:shock_over_exposition。因果位置:future_consequence_first。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机; purpose=凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor concise scene/action wording and strict negative prompt.",
      "duration_sec": 10
    },
    "image_condition": {
      "prompt": "Create a single cinematic reference frame for this shot. Scene: 冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机. Purpose: 凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first. Framing: continuous scene coverage, starting wide enough to orient then moving to one decisive action detail. Keep it as a usable first frame, not a collage. No readable text, no watermark, no logo.",
      "asset_role": "first_frame_reference",
      "must_be_single_frame": true
    }
  },
  "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动",
  "source_prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机。镜头目的:凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:urgent, shocking, physically dangerous。情绪价值变化:shock_over_exposition。因果位置:future_consequence_first。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。"
}
完整 Prompt
生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:冷开场高潮:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 在公共空间同时出现,直接触发危机。镜头目的:凌晨豆浆铺 里最安静的私人角落突然失控,一名凌晨小店老板娘 发现代价已经落到自己身上。;因果承接:先看见结果,所以观众必须追问原因。;转折结果:future_consequence_first。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:urgent, shocking, physically dangerous。情绪价值变化:shock_over_exposition。因果位置:future_consequence_first。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。
Negative Prompt
水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动

S02 倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现

contact sheet
renders/selected/S02.mp4 | score 3.5 | audio True | 1280x720 | visual sheet ready

镜头决策

推荐模式image_to_video

风险high

候选数3

该镜头有较强人物/年代/场景一致性需求,先用 imagegen 锁定参考图更稳。

QC

pass

Selectedruns/showcase-last-soymilk/renders/selected/S02.mp4

叙事目的

时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed

生成前修改

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒
  • 生成 image condition,并在 prompt 中只描述一个主要动作

Reroll Actions

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作
Prompt Review
{
  "shot_id": "S02",
  "status": "pass",
  "score": 4.57,
  "checks": [
    {
      "name": "has_duration",
      "score": 5,
      "status": "pass",
      "note": "是否声明镜头时长"
    },
    {
      "name": "has_scene",
      "score": 5,
      "status": "pass",
      "note": "是否说明场景"
    },
    {
      "name": "has_visible_action",
      "score": 5,
      "status": "pass",
      "note": "是否有可见动作/叙事目的"
    },
    {
      "name": "has_camera",
      "score": 5,
      "status": "pass",
      "note": "是否说明机位或运动"
    },
    {
      "name": "has_continuity",
      "score": 5,
      "status": "pass",
      "note": "是否引用连续性约束"
    },
    {
      "name": "has_negative_text_rule",
      "score": 2,
      "status": "revise",
      "note": "是否避免模型生成文字/字幕"
    },
    {
      "name": "not_overloaded",
      "score": 5,
      "status": "pass",
      "note": "prompt 是否没有塞入过多复杂动作"
    }
  ],
  "recommended_mode": "image_to_video",
  "rewrite_notes": [
    "是否避免模型生成文字/字幕",
    "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
    "生成 image condition,并在 prompt 中只描述一个主要动作"
  ],
  "prompt_outline": [
    "镜头目的:这段让观众明白什么变化",
    "画面主体:谁/什么在 5-8 秒内做一个明确动作",
    "构图和运动:远景/中景/近景 + 一个摄影机动作",
    "美术连续性:引用角色、场景、道具 bible",
    "生成方式:image_to_video",
    "禁忌:不要可读文字、不要字幕、不要随机人物、不要脸部漂移"
  ]
}
编译后 Provider Prompt
{
  "shot_id": "S02",
  "structured_intent": {
    "shot_id": "S02",
    "duration_sec": 10,
    "scene": "倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现",
    "narrative_purpose": "时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed",
    "framing": "continuous scene coverage, starting wide enough to orient then moving to one decisive action detail",
    "camera": "motivated continuous camera with one readable action handoff",
    "continuity_refs": [
      "visual_bible",
      "beat_B02",
      "main_character",
      "primary_location"
    ],
    "constraints": [
      "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
      "生成 image condition,并在 prompt 中只描述一个主要动作",
      "Translate concept into one concrete prop, gesture, or environmental change.",
      "Keep the shot to one visible narrative action."
    ]
  },
  "provider_prompts": {
    "veo": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现。镜头目的:时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:intimate, observant, slightly uneasy。情绪价值变化:intimacy_over_distance。因果位置:personal_stakes_revealed。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现; purpose=时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor explicit duration, camera, physical realism, and image/lastFrame fields when available.",
      "duration_sec": 10
    },
    "runway": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现。镜头目的:时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:intimate, observant, slightly uneasy。情绪价值变化:intimacy_over_distance。因果位置:personal_stakes_revealed。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现; purpose=时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor camera language, subject framing, and motion constraints.",
      "duration_sec": 10
    },
    "kling": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现。镜头目的:时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:intimate, observant, slightly uneasy。情绪价值变化:intimacy_over_distance。因果位置:personal_stakes_revealed。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现; purpose=时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor concise scene/action wording and strict negative prompt.",
      "duration_sec": 10
    },
    "image_condition": {
      "prompt": "Create a single cinematic reference frame for this shot. Scene: 倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现. Purpose: 时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed. Framing: continuous scene coverage, starting wide enough to orient then moving to one decisive action detail. Keep it as a usable first frame, not a collage. No readable text, no watermark, no logo.",
      "asset_role": "first_frame_reference",
      "must_be_single_frame": true
    }
  },
  "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动",
  "source_prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现。镜头目的:时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:intimate, observant, slightly uneasy。情绪价值变化:intimacy_over_distance。因果位置:personal_stakes_revealed。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。"
}
完整 Prompt
生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:倒回:秩序与伤口:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、可触摸的日常状态出现。镜头目的:时间倒回危机前,一名凌晨小店老板娘 在 凌晨豆浆铺 维护日常秩序,但 如果失败,主角只能继续生活在别人写好的版本里。 这一次会具体落到一个亲人、朋友或承诺上。;因果承接:倒回日常,所以危机获得人物和私人代价。;转折结果:personal_stakes_revealed。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:intimate, observant, slightly uneasy。情绪价值变化:intimacy_over_distance。因果位置:personal_stakes_revealed。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。
Negative Prompt
水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动

S03 第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场

contact sheet
renders/selected/S03.mp4 | score 3.5 | audio True | 1280x720 | visual sheet ready

镜头决策

推荐模式first_last_frame

风险high

候选数3

该镜头动作和连续性风险较高,需要首尾帧约束减少漂移。

QC

pass

Selectedruns/showcase-last-soymilk/renders/selected/S03.mp4

叙事目的

一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical

生成前修改

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒
  • 生成 image condition,并在 prompt 中只描述一个主要动作

Reroll Actions

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作
Prompt Review
{
  "shot_id": "S03",
  "status": "pass",
  "score": 4.57,
  "checks": [
    {
      "name": "has_duration",
      "score": 5,
      "status": "pass",
      "note": "是否声明镜头时长"
    },
    {
      "name": "has_scene",
      "score": 5,
      "status": "pass",
      "note": "是否说明场景"
    },
    {
      "name": "has_visible_action",
      "score": 5,
      "status": "pass",
      "note": "是否有可见动作/叙事目的"
    },
    {
      "name": "has_camera",
      "score": 5,
      "status": "pass",
      "note": "是否说明机位或运动"
    },
    {
      "name": "has_continuity",
      "score": 5,
      "status": "pass",
      "note": "是否引用连续性约束"
    },
    {
      "name": "has_negative_text_rule",
      "score": 2,
      "status": "revise",
      "note": "是否避免模型生成文字/字幕"
    },
    {
      "name": "not_overloaded",
      "score": 5,
      "status": "pass",
      "note": "prompt 是否没有塞入过多复杂动作"
    }
  ],
  "recommended_mode": "first_last_frame",
  "rewrite_notes": [
    "是否避免模型生成文字/字幕",
    "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
    "生成 image condition,并在 prompt 中只描述一个主要动作"
  ],
  "prompt_outline": [
    "镜头目的:这段让观众明白什么变化",
    "画面主体:谁/什么在 5-8 秒内做一个明确动作",
    "构图和运动:远景/中景/近景 + 一个摄影机动作",
    "美术连续性:引用角色、场景、道具 bible",
    "生成方式:first_last_frame",
    "禁忌:不要可读文字、不要字幕、不要随机人物、不要脸部漂移"
  ]
}
编译后 Provider Prompt
{
  "shot_id": "S03",
  "structured_intent": {
    "shot_id": "S03",
    "duration_sec": 10,
    "scene": "第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场",
    "narrative_purpose": "一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical",
    "framing": "continuous scene coverage, starting wide enough to orient then moving to one decisive action detail",
    "camera": "motivated continuous camera with one readable action handoff",
    "continuity_refs": [
      "visual_bible",
      "beat_B03",
      "main_character",
      "primary_location"
    ],
    "constraints": [
      "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
      "生成 image condition,并在 prompt 中只描述一个主要动作",
      "Use first/last frames or simplify to one visible change.",
      "Translate concept into one concrete prop, gesture, or environmental change.",
      "Keep the shot to one visible narrative action."
    ]
  },
  "provider_prompts": {
    "veo": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场。镜头目的:一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:mysterious, precise, tactile。情绪价值变化:alarm_over_denial。因果位置:mystery_becomes_physical。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场; purpose=一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Use first/last frames or simplify to one visible change.; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor explicit duration, camera, physical realism, and image/lastFrame fields when available.",
      "duration_sec": 10
    },
    "runway": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场。镜头目的:一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:mysterious, precise, tactile。情绪价值变化:alarm_over_denial。因果位置:mystery_becomes_physical。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场; purpose=一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Use first/last frames or simplify to one visible change.; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor camera language, subject framing, and motion constraints.",
      "duration_sec": 10
    },
    "kling": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场。镜头目的:一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:mysterious, precise, tactile。情绪价值变化:alarm_over_denial。因果位置:mystery_becomes_physical。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场; purpose=一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Use first/last frames or simplify to one visible change.; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor concise scene/action wording and strict negative prompt.",
      "duration_sec": 10
    },
    "image_condition": {
      "prompt": "Create a single cinematic reference frame for this shot. Scene: 第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场. Purpose: 一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical. Framing: continuous scene coverage, starting wide enough to orient then moving to one decisive action detail. Keep it as a usable first frame, not a collage. No readable text, no watermark, no logo.",
      "asset_role": "first_frame_reference",
      "must_be_single_frame": true
    }
  },
  "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动",
  "source_prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场。镜头目的:一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:mysterious, precise, tactile。情绪价值变化:alarm_over_denial。因果位置:mystery_becomes_physical。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。"
}
完整 Prompt
生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:第一件证据:一碗仍在冒热气的白瓷碗豆浆 和 白瓷碗、热豆浆、蓝围巾、清晨蒸汽 第一次被打开并指向冷开场。镜头目的:一名凌晨小店老板娘 找到 一碗仍在冒热气的白瓷碗豆浆,它把开场危机和私人伤口连成同一个问题:为什么只有 一名凌晨小店老板娘 必须为 一碗仍在冒热气的白瓷碗豆浆 负责?;因果承接:物证出现,所以冷开场从奇观变成调查目标。;转折结果:mystery_becomes_physical。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:mysterious, precise, tactile。情绪价值变化:alarm_over_denial。因果位置:mystery_becomes_physical。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。
Negative Prompt
水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动

S04 真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义

contact sheet
renders/selected/S04.mp4 | score 3.5 | audio True | 1280x720 | visual sheet ready

镜头决策

推荐模式image_to_video

风险high

候选数3

该镜头有较强人物/年代/场景一致性需求,先用 imagegen 锁定参考图更稳。

QC

pass

Selectedruns/showcase-last-soymilk/renders/selected/S04.mp4

叙事目的

一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal

生成前修改

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒
  • 生成 image condition,并在 prompt 中只描述一个主要动作

Reroll Actions

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作
Prompt Review
{
  "shot_id": "S04",
  "status": "pass",
  "score": 4.57,
  "checks": [
    {
      "name": "has_duration",
      "score": 5,
      "status": "pass",
      "note": "是否声明镜头时长"
    },
    {
      "name": "has_scene",
      "score": 5,
      "status": "pass",
      "note": "是否说明场景"
    },
    {
      "name": "has_visible_action",
      "score": 5,
      "status": "pass",
      "note": "是否有可见动作/叙事目的"
    },
    {
      "name": "has_camera",
      "score": 5,
      "status": "pass",
      "note": "是否说明机位或运动"
    },
    {
      "name": "has_continuity",
      "score": 5,
      "status": "pass",
      "note": "是否引用连续性约束"
    },
    {
      "name": "has_negative_text_rule",
      "score": 2,
      "status": "revise",
      "note": "是否避免模型生成文字/字幕"
    },
    {
      "name": "not_overloaded",
      "score": 5,
      "status": "pass",
      "note": "prompt 是否没有塞入过多复杂动作"
    }
  ],
  "recommended_mode": "image_to_video",
  "rewrite_notes": [
    "是否避免模型生成文字/字幕",
    "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
    "生成 image condition,并在 prompt 中只描述一个主要动作"
  ],
  "prompt_outline": [
    "镜头目的:这段让观众明白什么变化",
    "画面主体:谁/什么在 5-8 秒内做一个明确动作",
    "构图和运动:远景/中景/近景 + 一个摄影机动作",
    "美术连续性:引用角色、场景、道具 bible",
    "生成方式:image_to_video",
    "禁忌:不要可读文字、不要字幕、不要随机人物、不要脸部漂移"
  ]
}
编译后 Provider Prompt
{
  "shot_id": "S04",
  "structured_intent": {
    "shot_id": "S04",
    "duration_sec": 10,
    "scene": "真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义",
    "narrative_purpose": "一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal",
    "framing": "continuous scene coverage, starting wide enough to orient then moving to one decisive action detail",
    "camera": "motivated continuous camera with one readable action handoff",
    "continuity_refs": [
      "visual_bible",
      "beat_B04",
      "main_character",
      "primary_location"
    ],
    "constraints": [
      "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
      "生成 image condition,并在 prompt 中只描述一个主要动作",
      "Translate concept into one concrete prop, gesture, or environmental change.",
      "Keep the shot to one visible narrative action."
    ]
  },
  "provider_prompts": {
    "veo": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义。镜头目的:一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:revelatory, suspended, tense。情绪价值变化:revelation_over_assumption。因果位置:meaning_reversal。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义; purpose=一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor explicit duration, camera, physical realism, and image/lastFrame fields when available.",
      "duration_sec": 10
    },
    "runway": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义。镜头目的:一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:revelatory, suspended, tense。情绪价值变化:revelation_over_assumption。因果位置:meaning_reversal。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义; purpose=一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor camera language, subject framing, and motion constraints.",
      "duration_sec": 10
    },
    "kling": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义。镜头目的:一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:revelatory, suspended, tense。情绪价值变化:revelation_over_assumption。因果位置:meaning_reversal。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义; purpose=一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor concise scene/action wording and strict negative prompt.",
      "duration_sec": 10
    },
    "image_condition": {
      "prompt": "Create a single cinematic reference frame for this shot. Scene: 真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义. Purpose: 一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal. Framing: continuous scene coverage, starting wide enough to orient then moving to one decisive action detail. Keep it as a usable first frame, not a collage. No readable text, no watermark, no logo.",
      "asset_role": "first_frame_reference",
      "must_be_single_frame": true
    }
  },
  "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动",
  "source_prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义。镜头目的:一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:revelatory, suspended, tense。情绪价值变化:revelation_over_assumption。因果位置:meaning_reversal。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。"
}
完整 Prompt
生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:真相反咬:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 暴露出隐藏层或反向含义。镜头目的:一碗仍在冒热气的白瓷碗豆浆 指向的不是外部阴谋,而是主角一直逃避的承诺。;因果承接:反转重写目标,所以主角之前的方法失效。;转折结果:meaning_reversal。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:revelatory, suspended, tense。情绪价值变化:revelation_over_assumption。因果位置:meaning_reversal。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。
Negative Prompt
水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动

S05 回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果

contact sheet
renders/selected/S05.mp4 | score 3.5 | audio True | 1280x720 | visual sheet ready

镜头决策

推荐模式image_to_video

风险high

候选数3

该镜头有较强人物/年代/场景一致性需求,先用 imagegen 锁定参考图更稳。

QC

pass

Selectedruns/showcase-last-soymilk/renders/selected/S05.mp4

叙事目的

故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice

生成前修改

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒
  • 生成 image condition,并在 prompt 中只描述一个主要动作

Reroll Actions

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作
Prompt Review
{
  "shot_id": "S05",
  "status": "pass",
  "score": 4.57,
  "checks": [
    {
      "name": "has_duration",
      "score": 5,
      "status": "pass",
      "note": "是否声明镜头时长"
    },
    {
      "name": "has_scene",
      "score": 5,
      "status": "pass",
      "note": "是否说明场景"
    },
    {
      "name": "has_visible_action",
      "score": 5,
      "status": "pass",
      "note": "是否有可见动作/叙事目的"
    },
    {
      "name": "has_camera",
      "score": 5,
      "status": "pass",
      "note": "是否说明机位或运动"
    },
    {
      "name": "has_continuity",
      "score": 5,
      "status": "pass",
      "note": "是否引用连续性约束"
    },
    {
      "name": "has_negative_text_rule",
      "score": 2,
      "status": "revise",
      "note": "是否避免模型生成文字/字幕"
    },
    {
      "name": "not_overloaded",
      "score": 5,
      "status": "pass",
      "note": "prompt 是否没有塞入过多复杂动作"
    }
  ],
  "recommended_mode": "image_to_video",
  "rewrite_notes": [
    "是否避免模型生成文字/字幕",
    "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
    "生成 image condition,并在 prompt 中只描述一个主要动作"
  ],
  "prompt_outline": [
    "镜头目的:这段让观众明白什么变化",
    "画面主体:谁/什么在 5-8 秒内做一个明确动作",
    "构图和运动:远景/中景/近景 + 一个摄影机动作",
    "美术连续性:引用角色、场景、道具 bible",
    "生成方式:image_to_video",
    "禁忌:不要可读文字、不要字幕、不要随机人物、不要脸部漂移"
  ]
}
编译后 Provider Prompt
{
  "shot_id": "S05",
  "structured_intent": {
    "shot_id": "S05",
    "duration_sec": 10,
    "scene": "回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果",
    "narrative_purpose": "故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice",
    "framing": "continuous scene coverage, starting wide enough to orient then moving to one decisive action detail",
    "camera": "motivated continuous camera with one readable action handoff",
    "continuity_refs": [
      "visual_bible",
      "beat_B05",
      "main_character",
      "primary_location"
    ],
    "constraints": [
      "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
      "生成 image condition,并在 prompt 中只描述一个主要动作",
      "Translate concept into one concrete prop, gesture, or environmental change.",
      "Keep the shot to one visible narrative action."
    ]
  },
  "provider_prompts": {
    "veo": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果。镜头目的:故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:decisive, emotional, high-stakes。情绪价值变化:choice_over_survival。因果位置:irreversible_choice。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果; purpose=故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor explicit duration, camera, physical realism, and image/lastFrame fields when available.",
      "duration_sec": 10
    },
    "runway": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果。镜头目的:故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:decisive, emotional, high-stakes。情绪价值变化:choice_over_survival。因果位置:irreversible_choice。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果; purpose=故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor camera language, subject framing, and motion constraints.",
      "duration_sec": 10
    },
    "kling": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果。镜头目的:故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:decisive, emotional, high-stakes。情绪价值变化:choice_over_survival。因果位置:irreversible_choice。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果; purpose=故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; 生成 image condition,并在 prompt 中只描述一个主要动作; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor concise scene/action wording and strict negative prompt.",
      "duration_sec": 10
    },
    "image_condition": {
      "prompt": "Create a single cinematic reference frame for this shot. Scene: 回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果. Purpose: 故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice. Framing: continuous scene coverage, starting wide enough to orient then moving to one decisive action detail. Keep it as a usable first frame, not a collage. No readable text, no watermark, no logo.",
      "asset_role": "first_frame_reference",
      "must_be_single_frame": true
    }
  },
  "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动",
  "source_prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果。镜头目的:故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:decisive, emotional, high-stakes。情绪价值变化:choice_over_survival。因果位置:irreversible_choice。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。"
}
完整 Prompt
生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:回到高潮现场:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 被主角主动使用,改变开场危机的结果。镜头目的:故事回到冷开场现场,一名凌晨小店老板娘 带着真相执行最终选择:主角选择承认真相,把 一碗仍在冒热气的白瓷碗豆浆 交还给该看见它的人。;因果承接:选择被执行,所以开场危机被改写成可见后果。;转折结果:irreversible_choice。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:decisive, emotional, high-stakes。情绪价值变化:choice_over_survival。因果位置:irreversible_choice。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。
Negative Prompt
水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动

S06 余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾

contact sheet
renders/selected/S06.mp4 | score 3.5 | audio True | 1280x720 | visual sheet ready

镜头决策

推荐模式text_to_video

风险high

候选数3

该镜头以空间、氛围或抽象视觉为主,T2V 成本更低且足够。

QC

pass

Selectedruns/showcase-last-soymilk/renders/selected/S06.mp4

叙事目的

故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff

生成前修改

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒

Reroll Actions

  • 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒
Prompt Review
{
  "shot_id": "S06",
  "status": "pass",
  "score": 4.57,
  "checks": [
    {
      "name": "has_duration",
      "score": 5,
      "status": "pass",
      "note": "是否声明镜头时长"
    },
    {
      "name": "has_scene",
      "score": 5,
      "status": "pass",
      "note": "是否说明场景"
    },
    {
      "name": "has_visible_action",
      "score": 5,
      "status": "pass",
      "note": "是否有可见动作/叙事目的"
    },
    {
      "name": "has_camera",
      "score": 5,
      "status": "pass",
      "note": "是否说明机位或运动"
    },
    {
      "name": "has_continuity",
      "score": 5,
      "status": "pass",
      "note": "是否引用连续性约束"
    },
    {
      "name": "has_negative_text_rule",
      "score": 2,
      "status": "revise",
      "note": "是否避免模型生成文字/字幕"
    },
    {
      "name": "not_overloaded",
      "score": 5,
      "status": "pass",
      "note": "prompt 是否没有塞入过多复杂动作"
    }
  ],
  "recommended_mode": "text_to_video",
  "rewrite_notes": [
    "是否避免模型生成文字/字幕",
    "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒"
  ],
  "prompt_outline": [
    "镜头目的:这段让观众明白什么变化",
    "画面主体:谁/什么在 5-8 秒内做一个明确动作",
    "构图和运动:远景/中景/近景 + 一个摄影机动作",
    "美术连续性:引用角色、场景、道具 bible",
    "生成方式:text_to_video",
    "禁忌:不要可读文字、不要字幕、不要随机人物、不要脸部漂移"
  ]
}
编译后 Provider Prompt
{
  "shot_id": "S06",
  "structured_intent": {
    "shot_id": "S06",
    "duration_sec": 10,
    "scene": "余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾",
    "narrative_purpose": "故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff",
    "framing": "continuous scene coverage, starting wide enough to orient then moving to one decisive action detail",
    "camera": "motivated continuous camera with one readable action handoff",
    "continuity_refs": [
      "visual_bible",
      "beat_B06",
      "main_character",
      "primary_location"
    ],
    "constraints": [
      "把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒",
      "Translate concept into one concrete prop, gesture, or environmental change.",
      "Keep the shot to one visible narrative action."
    ]
  },
  "provider_prompts": {
    "veo": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾。镜头目的:故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:quiet, resonant, memorable。情绪价值变化:resonance_over_explanation。因果位置:emotional_payoff。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾; purpose=故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor explicit duration, camera, physical realism, and image/lastFrame fields when available.",
      "duration_sec": 10
    },
    "runway": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾。镜头目的:故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:quiet, resonant, memorable。情绪价值变化:resonance_over_explanation。因果位置:emotional_payoff。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾; purpose=故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor camera language, subject framing, and motion constraints.",
      "duration_sec": 10
    },
    "kling": {
      "prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾。镜头目的:故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:quiet, resonant, memorable。情绪价值变化:resonance_over_explanation。因果位置:emotional_payoff。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。\nStructured intent: scene=余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾; purpose=故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff; framing=continuous scene coverage, starting wide enough to orient then moving to one decisive action detail; camera=motivated continuous camera with one readable action handoff. Constraints: 把复杂动作拆成单一可见动作,必要时缩短为 5-8 秒; Translate concept into one concrete prop, gesture, or environmental change.; Keep the shot to one visible narrative action.; No readable generated text, logo, watermark, subtitle, UI, license plate, label, or signage.; Keep any signs, screens, badges, meters, photos, documents, and labels blank, cropped, blurred, reflected, or too abstract to read.; If story-critical text is needed, reserve it for post-production graphics rather than model-generated text.; Screens may show abstract light, waveform, or icons only, never readable chat/UI text..",
      "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动; no readable text; no logos; no watermarks; no generated UI text; no readable signage",
      "adapter_notes": "Favor concise scene/action wording and strict negative prompt.",
      "duration_sec": 10
    },
    "image_condition": {
      "prompt": "Create a single cinematic reference frame for this shot. Scene: 余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾. Purpose: 故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff. Framing: continuous scene coverage, starting wide enough to orient then moving to one decisive action detail. Keep it as a usable first frame, not a collage. No readable text, no watermark, no logo.",
      "asset_role": "first_frame_reference",
      "must_be_single_frame": true
    }
  },
  "negative_prompt": "水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动",
  "source_prompt": "生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾。镜头目的:故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:quiet, resonant, memorable。情绪价值变化:resonance_over_explanation。因果位置:emotional_payoff。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。"
}
完整 Prompt
生成一个 10 秒的 cinematic emotional mystery 视频镜头。主题:凌晨豆浆铺老板娘发现已故母亲留下的最后一碗热豆浆。场景:余波与代价:白瓷碗、热豆浆、蓝围巾、清晨蒸汽 以安静、明确的新状态留在结尾。镜头目的:故事用 白瓷碗 以新的状态留在画面中央,观众明白选择已经完成。,旁边多出一个能证明关系改变的细节。 收束,让观众看见选择的代价。;因果承接:改变已经发生,所以结尾只留下情绪回声。;转折结果:emotional_payoff。构图:continuous scene coverage, starting wide enough to orient then moving to one decisive action detail。摄影机运动:motivated continuous camera with one readable action handoff。情绪:quiet, resonant, memorable。情绪价值变化:resonance_over_explanation。因果位置:emotional_payoff。这是一个连续叙事场景块,不是无关画面的蒙太奇;必须拍出动作的开始、中段变化和结果。画面要让观众看见这一段如何从上一段发生,并如何导致下一段。画面必须承担一个清楚的可见叙事动作,不要只做抽象氛围。主角的行为必须能被观众看懂,镜头里只保留一个主要动作和一个主要信息点。保持 visual bible 中的角色、服装、场景地理关系、关键道具和色彩连续性。真实光线,动作符合物理规律,电影感细节,不要生成字幕、可读屏幕文字、水印或 logo。
Negative Prompt
水印, logo, 字幕, 可读文字, 角色身份漂移, 脸部变形, 多余手指, 随机人物, 服装不一致, 未指定的手持抖动