Cinematography with vg generate
Use this skill when the user needs cinematic direction, not generic "make it
cinematic" prompting. Load references as needed:
references/shot-language.md
references/lighting-lens-color.md
references/examples.md
Load model-catalog alongside this skill for default endpoint choices.
Write concrete visual direction. Avoid empty prestige words and em dashes.
Inputs to collect
Ask only for what affects the shot:
- Subject and action.
- Medium: still image, video, image-to-video, edit, storyboard frame.
- Genre and mood.
- Framing: close-up, medium, wide, overhead, POV, profile, locked-off.
- Camera motion for video: push-in, dolly, tracking, handheld, crane, drone.
- Lens feel: wide, normal, telephoto, macro, shallow or deep focus.
- Lighting: natural, practical, studio, noir, high key, low key, backlit.
- Output: aspect ratio, duration, first frame, last frame, download path.
- Preferred model, if the user wants a specific cinematography model or
quality/cost profile.
Genmedia workflow
Follow the standard workflow in the generate skill: resolve endpoint → inspect schema/pricing → upload references (first/last frame, style, continuity) → run (stills inline, video --async + status) → download to ./outputs/cinema/{request_id}_{index}.{ext}. Default endpoint IDs are in the Model routing section below.
Prompt build order
Use the SCLCAM structure:
- Subject: who or what is in frame.
- Context: location, time, weather, story moment.
- Lens/framing: distance, angle, focal length feel, depth of field.
- Camera motion: only for video or if motion blur is desired.
- Atmosphere: haze, rain, practicals, reflections, texture.
- Mood/color: palette, contrast, grade, exposure style.
- Output controls: aspect ratio, duration, first-frame continuity.
Example structure:
[subject] in [context], framed as [shot size and angle], [lens feel],
[lighting setup], [camera movement if video], [color grade], [texture],
[duration or aspect ratio], [continuity constraints]
Model routing
- Premium realistic still: use
openai/gpt-image-2.
- Premium stylized still: use
openai/gpt-image-2, then
fal-ai/nano-banana-pro, then fal-ai/nano-banana-2.
- Fast draft still: use
fal-ai/flux-2/klein/9b.
- Highest quality video: use
bytedance/seedance-2.0/text-to-video or
bytedance/seedance-2.0/image-to-video.
- Motion from a strong frame: use
bytedance/seedance-2.0/image-to-video.
- Fast or lower-cost video: use
xai/grok-imagine-video/text-to-video or
xai/grok-imagine-video/image-to-video.
- Complex camera language: inspect Seedance 2.0 first, then Kling v3 when
multi-prompt or element controls matter.
- Story sequence: use the storytelling skill with this skill as shot-language
support.
- Character or product continuity: use the relevant domain skill first, then
apply cinematography as the variable block.
Quality bar
Before returning, check:
- Camera movement is physically plausible for the scene.
- Lens, shot size, and camera angle do not contradict each other.
- Lighting direction is clear and consistent.
- Color grade supports the mood without flattening subject detail.
- Video prompt describes one shot unless the selected model supports multiple
prompts or shot lists.
- Downloaded files come from
downloaded_files[].
If a result looks generic, improve specificity in camera, blocking, light, and
environment before adding more adjectives.
1---2name: cinematography3description: Write cinematic image and video prompts for `vg generate`: shot language, camera movement, lighting, lenses, colour grade, blocking.4---56# Cinematography with `vg generate`78Use this skill when the user needs cinematic direction, not generic "make it9cinematic" prompting. Load references as needed:1011- `references/shot-language.md`12- `references/lighting-lens-color.md`13- `references/examples.md`1415Load `model-catalog` alongside this skill for default endpoint choices.1617Write concrete visual direction. Avoid empty prestige words and em dashes.1819## Inputs to collect2021Ask only for what affects the shot:2223- Subject and action.24- Medium: still image, video, image-to-video, edit, storyboard frame.25- Genre and mood.26- Framing: close-up, medium, wide, overhead, POV, profile, locked-off.27- Camera motion for video: push-in, dolly, tracking, handheld, crane, drone.28- Lens feel: wide, normal, telephoto, macro, shallow or deep focus.29- Lighting: natural, practical, studio, noir, high key, low key, backlit.30- Output: aspect ratio, duration, first frame, last frame, download path.31- Preferred model, if the user wants a specific cinematography model or32 quality/cost profile.3334## Genmedia workflow3536Follow the standard workflow in the [`generate` skill](../generate/SKILL.md): resolve endpoint → inspect schema/pricing → upload references (first/last frame, style, continuity) → run (stills inline, video `--async` + `status`) → download to `./outputs/cinema/{request_id}_{index}.{ext}`. Default endpoint IDs are in the Model routing section below.3738## Prompt build order3940Use the SCLCAM structure:41421. Subject: who or what is in frame.432. Context: location, time, weather, story moment.443. Lens/framing: distance, angle, focal length feel, depth of field.454. Camera motion: only for video or if motion blur is desired.465. Atmosphere: haze, rain, practicals, reflections, texture.476. Mood/color: palette, contrast, grade, exposure style.487. Output controls: aspect ratio, duration, first-frame continuity.4950Example structure:5152```text53[subject] in [context], framed as [shot size and angle], [lens feel],54[lighting setup], [camera movement if video], [color grade], [texture],55[duration or aspect ratio], [continuity constraints]56```5758## Model routing5960- Premium realistic still: use `openai/gpt-image-2`.61- Premium stylized still: use `openai/gpt-image-2`, then62 `fal-ai/nano-banana-pro`, then `fal-ai/nano-banana-2`.63- Fast draft still: use `fal-ai/flux-2/klein/9b`.64- Highest quality video: use `bytedance/seedance-2.0/text-to-video` or65 `bytedance/seedance-2.0/image-to-video`.66- Motion from a strong frame: use `bytedance/seedance-2.0/image-to-video`.67- Fast or lower-cost video: use `xai/grok-imagine-video/text-to-video` or68 `xai/grok-imagine-video/image-to-video`.69- Complex camera language: inspect Seedance 2.0 first, then Kling v3 when70 multi-prompt or element controls matter.71- Story sequence: use the storytelling skill with this skill as shot-language72 support.73- Character or product continuity: use the relevant domain skill first, then74 apply cinematography as the variable block.7576## Quality bar7778Before returning, check:7980- Camera movement is physically plausible for the scene.81- Lens, shot size, and camera angle do not contradict each other.82- Lighting direction is clear and consistent.83- Color grade supports the mood without flattening subject detail.84- Video prompt describes one shot unless the selected model supports multiple85 prompts or shot lists.86- Downloaded files come from `downloaded_files[]`.8788If a result looks generic, improve specificity in camera, blocking, light, and89environment before adding more adjectives.