# Prompt templates `scripts/build-requests.mjs` assembles these from board.json. Use this page to write or fix one by hand, or to paste into another tool. ## 1. Establishing frame (GPT Image 2, `openai/gpt-image-2`, or `openai/gpt-image-2/edit` with the user's place photos or, in a clean pass after a rough one, its rough frame) ``` A {{ASPECT}} still frame from a cinematic short film. Cinematic drone aerial photograph at {{TIME_OF_DAY}} of {{PLACE}}. Seen from about {{HEIGHT}} metres up at a {{ANGLE}} degree downward angle; {{WHERE_THE_SUBJECT_SITS}}. {{WHAT_MOVES}}. {{LIGHT}}. Nobody in frame. {{LOOK_LINE}} Photorealistic, true-to-life scale and anatomy. No text, no signage, no logos, no watermark. ``` ## 2. Other frames (GPT Image 2 edit, `openai/gpt-image-2/edit`; references: the approved establishing frame or the user's place photo, then the product photo, then the shot's rough frame in a clean pass after a rough one) ``` A {{ASPECT}} still frame from a cinematic short film. {{SHOT_SIZE_AND_ANGLE}}: {{SUBJECT}}; {{WHAT_MOVES}}. {{LENS_AND_COMPOSITION}}, {{LIGHT}}. The place matches reference image 1: same architecture, materials and landscape. Seen from inside, its windows show the surroundings, never the building itself. The product is exactly the one in reference image 2: same shape, colours, materials, label layout and text; do not re-letter or redesign it. {{ROUGH_LINE}} {{PEOPLE_LINE or "Nobody in frame."}} {{LOOK_LINE}} Photorealistic, true-to-life scale and anatomy. {{TEXT_RULE}} ``` | Placeholder | Example (OSTRA plan) | | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `{{ASPECT}}` | "16:9" or "vertical 9:16" | | `{{PLACE}}` | `locks.place`: "a fictional small-batch coffee roastery in an old red-brick boathouse with a slate roof on a quiet stone fishing harbour: tall arched windows, a black cast-iron drum roaster ..." (no brand name) | | `{{SHOT_SIZE_AND_ANGLE}}` | "Close detail inside the roastery" | | `{{SUBJECT}}` | "freshly roasted coffee beans tumble in the round steel cooling tray of the drum roaster" | | `{{WHAT_MOVES}}` | "a thin wisp of steam rises" | | `{{LENS_AND_COMPOSITION}}` | "85mm lens, shallow depth of field, the tray in the lower two thirds" | | `{{LIGHT}}` | "warm window light from the left" | | `{{ROUGH_LINE}}` | Only in a clean pass with `rough_frame` set: "Reference image 3 is the approved rough draft of this frame: keep its composition, camera angle, framing and the place of every element, and render it cleanly in full detail." | | `{{PEOPLE_LINE}}` | "Any person is a fictional adult who must not resemble any real or famous person. Faces are turned away from the camera, in silhouette or too small to read. No other people anywhere in the frame." | | `{{LOOK_LINE}}` | `locks.look`, e.g. "Shot on 35mm film, Kodak Portra 400 look, warm natural colour, soft contrast, gentle grain, creamy highlights, no HDR, no digital over-sharpening." | | `{{TEXT_RULE}}` | "No text, no signage, no logos, no watermark." or, with the product photo, "No text, signage or logos anywhere except the product's own label, exactly as in its reference. No watermark." | Request fields: `prompt`, `image_urls` (edit only, at most 3), `image_size` {width: 1280, height: 720} or {width: 720, height: 1280}, `quality` "medium" ("low" for a rough pass), `num_images` 1, `output_format` "jpeg". ## 3. Caption (printed on the board, not sent to any model) ``` {{WHAT_WE_SEE}} ``` At most 60 characters, plain words: "Fresh beans tumble in the cooling tray, steam rising". ## 4. Motion (not sent by this Skill; the film Skill sends it to Seedance later) ``` {{ONE_CAMERA_MOVE}}; {{WHAT_MOVES_IN_THE_SCENE}}. {{GUARDS}} One continuous shot, no cuts. ``` | Placeholder | Example | | ------------------------------ | -------------------------------------------------------------------------------------------- | | `{{ONE_CAMERA_MOVE}}` | "Cinematic drone shot at first light: the drone glides slowly forward and down towards the boathouse" | | `{{WHAT_MOVES_IN_THE_SCENE}}` | "mist drifts over the harbour, the boats rock gently" | | `{{GUARDS}}` | "Nobody in frame." / "Their face stays turned away. No other people." |