跳到正文

短剧镜头视频提示词

根据分镜、角色资产和连续性要求组织视频生成提示词,明确镜头动作、时序与参考材料。

开源精选视频内容31 个文件2,909 Stars浏览次数 0zenstory-ai/drama-skills MIT版本 f53fb20
开始使用

下载前阅读 SKILL.md 中的使用条件,并确认所用工具支持对应能力。

输入资料
分镜和镜头目标 角色、场景及参考图像 阅读本节完整说明
交付内容
分镜视频提示词 生成参考与连续性说明 阅读本节完整说明
环境与依赖
只有安装、升级或排障时运行 python3 scripts/selftest.py。 阅读本节完整说明
  1. 获取完整包,保留配套文件的目录结构。
  2. 按照原文准备所需工具、依赖与输入资料。
  3. 阅读对应使用步骤与输入输出说明,在自己的环境中验证结果。

使用提示摘自原文,配套文件保留来源版本;实际运行条件以各包说明为准。

正文

获取原文件

assets/motion-spec.jsonl.md

文件第一行是 sources 声明:每个上游快照在这里写一次 owner、artifact 和已接受的 artifact,后面的记录用它的 key 引用。key 用产物文件名派生的短小写名字,在本文件内稳定且唯一。 本阶段插入的片段(performance.fragment.json、 coverage-scope.fragment.json)落进同一个文件,它们用到的 key 也在这里声明。

{"record_type":"sources","schema_version":"1.0.0","sources":{"shots":{"owner":"short-drama-storyboard","artifact":"剧集/<EP>/storyboard/shots.jsonl"},"keyframes":{"owner":"short-drama-storyboard","artifact":"剧集/<EP>/storyboard/keyframes.jsonl"},"screenplay-index":{"owner":"short-drama-write","artifact":"剧集/<EP>/screenplay-index.jsonl"},"characters":{"owner":"short-drama-assets","artifact":"设定集/characters.jsonl"},"short-drama":{"owner":"creator","artifact":"short-drama.json"}}}

其后每行一个候选运动规格对象。引用写 src 加它指向的记录 record_id 或字段 field; boundary_refs 只读,候选状态属于本运动规格,不向已经接受的上游引用传播。不要加入 duration_override、end_override 或 next_shot_write。以下字符串只说明怎样填写, 不是固定答案。

{
  "motion_id": "MOTION-<stable-id>",
  "status": "candidate",
  "shot_ref": {
    "src": "shots",
    "record_id": "SHOT-<id>"
  },
  "keyframe_ref": {
    "src": "keyframes",
    "record_id": "KEY-<id>"
  },
  "production_profile_ref": {
    "src": "short-drama",
    "field": "/creator_authority/production_profile"
  },
  "boundary_refs": {
    "duration": {
      "src": "shots",
      "record_id": "SHOT-<id>",
      "field": "/duration_seconds",
      "value_seconds": 0.0
    },
    "start": {
      "src": "shots",
      "record_id": "SHOT-<id>",
      "field": "/start_boundary"
    },
    "primary_transition": {
      "src": "shots",
      "record_id": "SHOT-<id>",
      "field": "/primary_transition"
    },
    "end": {
      "src": "shots",
      "record_id": "SHOT-<id>",
      "field": "/end_boundary"
    },
    "next_start": {
      "src": "shots",
      "record_id": "SHOT-<next-id>",
      "field": "/start_boundary",
      "access": "comparison_only"
    }
  },
  "reference_bindings": [
    {
      "slot_id": "REF-<stable-slot>",
      "order": 1,
      "artifact_ref": {
        "src": "keyframes",
        "record_id": "KEY-<id>"
      },
      "role": "start_frame | continuity_video | actual_tail_frame",
      "may_control": [
        "<本镜 accepted 起始构图与可见状态>"
      ],
      "must_not_control": [
        "<尚未发生的动作/终态/无权威文字>"
      ],
      "admission_status": "unverified | creator_described | visually_inspected",
      "reference_observation_ref": null,
      "unresolved_risks": [
        "<没有观察证据时保留的文字/水印/裁切风险>"
      ]
    }
  ],
  "start_anchor": {
    "pose_balance": "<仅运动必需>",
    "gaze": "<目标>",
    "hands": {
      "left": "<状态>",
      "right": "<状态>"
    },
    "held_props": [
      "<exact binding + hand>"
    ],
    "spatial_relations": [
      "<与行动对象的关系>"
    ]
  },
  "ordered_subject_motion": [
    {
      "order": 1,
      "actor": "<asset binding>",
      "trigger": "<accepted cue>",
      "action": "<可见动作>",
      "direction_or_path": "<方向/路径>",
      "object_or_contact": "<对象/接触>",
      "result": "<阶段结果>",
      "timing": {
        "mode": "relative | explicit",
        "value": "<顺序词或秒区间>"
      }
    }
  ],
  "camera": {
    "behavior": "locked | move | transition",
    "motivation": "reveal | pressure | alignment | relationship | transition | deliberate_stillness",
    "intervals": [
      {
        "range": "<相对阶段或秒区间>",
        "mode": "<lock/pan/tilt/dolly/handheld/follow>",
        "path_tempo": "<方向/节奏>",
        "endpoint": "<在 accepted framing/boundary 内>"
      }
    ]
  },
  "environment_motion": [
    {
      "element": "<已有环境元素>",
      "motion": "<有剧情意义的变化>",
      "cause": "<连续性/主体动作>"
    }
  ],
  "audio": [
    {
      "source_ref": {
        "src": "screenplay-index",
        "record_id": "BLK-<EP>-<SC>-D<nn>"
      },
      "speaker_ref": {
        "src": "characters",
        "record_id": "CHAR-<id>"
      },
      "voice_direction_ref": {
        "src": "characters",
        "record_id": "CHAR-<id>",
        "field": "/voice_direction"
      },
      "kind": "dialogue | VO | OS | SFX | ambience | music",
      "exact_text": "<仅 source 有文本时逐字引用>",
      "delivery_or_spatial_intent": "<不改文本的表演/声源/层级>",
      "timing": "<相对阶段或秒区间>"
    }
  ],
  "timing_plan": {
    "mode": "relative | explicit",
    "phases": [
      "<阶段、overlap 与 landing 空间>"
    ],
    "declares_overlap": false,
    "declared_total_or_endpoint_seconds": 0.0
  },
  "end_report": {
    "projection": {
      "pose": "<reported>",
      "position": "<reported>",
      "gaze": "<reported>",
      "hands": "<reported>",
      "held_props": "<reported>",
      "visible_state": "<reported>"
    },
    "comparison": "match | mismatch | unrealized",
    "differences": []
  },
  "reference_frame_economy": {
    "frame_carries": [
      "appearance",
      "composition",
      "base lighting"
    ],
    "repeated_for_motion_only": [
      "<hand/prop/path 等必要局部>"
    ]
  },
  "creator_overrides": [
    {
      "rule_id": "<VID-*>",
      "choice": "<覆盖>",
      "rationale": "<理由>"
    }
  ],
  "generic_prompt": "<把本规格渲染成一段只含要拍出来的画面的交付文本:从已接受起点的姿态与持物说起,逐条写动作、接触、摄影机行为与终点状态;不写镜头/记录 ID、规则 ID、状态词、工艺备注与成段否定罗列;写满的样子见 references/production-prompt-grammar.md>",
  "derivation": {
    "recipe_version": "<version>"
  },
  "provenance": "creator_project"
}

运动规格不带指回交付容器的引用。依赖方向只有一条:容器 → 运动规格 → 镜头。两端在各自 sources 里互相声明对方会形成环——依赖方向必须单向, 永远得不到可发布的稳定快照。要找某个镜头属于哪个容器,从容器记录的 members[] 反查,不在本文件里 存副本。容器记录见 delivery-container.jsonl.md。

默认 master 不重复 purpose_ref 或 coverage_scope:镜头目的、场次计划与原文覆盖从准确 shot_ref 及其上游读取。只有 pickup/alternate 才按 motion-recipe.md 增加 coverage_scope,记录相对母版的补充、保留与去向。 boundary_refs 只保留结构校验需要的 duration/start/end/next-start 精确字段投影,不再重复镜头目的、 场次计划或原文职责;删除它前必须先让 timing 与 continuity 校验器能从 shot_ref 安全解析同一快照。

普通记录省略 performance_arcs[] 与 attention_handoffs[];存在可见表演变化或注意交接时,按 performance.fragment.json 插入完整字段。空镜、道具细节、纯空间 转场和只有物理动作的镜头不编造 arc。多参考的 slot_id 稳定且 order 唯一。 reported_end 只作比较;末镜没有真实下一镜时改用 next_start_locator。附加参考为空时使用空数组;对白说话者与声音方向只有在已接受引用存在时才填写。 母版、补拍和替代关系保留在同一规格文件内,替代决定由审查结论拥有。具体取舍按 references/motion-recipe.md 与 references/review-and-fixtures.md 判断。

CONTACT HAONAN

联系haonan

医疗 AI · 产品与独立开发

刘浩南

关注医疗 AI 从 demo 到真实落地,聚焦产品化、商业化与院内工作流效率提升。

12年医疗产研经验,大湾区头部医疗AI公司前产品总监,独立开发者

医疗 AI 产品化医疗 AI 商业化院内工作流效率
刘浩南的微信联系二维码
微信扫一扫,联系 haonan