# Native Wan2.2 I2V prompting for local Retention Studio clips

Use this when producing local Wan2.2 clips for controlled short-form video assets, especially when quality matters more than speed.

## Core lesson

For production candidates, prefer:

```text
curated/generated keyframe -> native Wan2.2 Image-to-Video -> deterministic captions/overlays
```

Avoid treating raw Text-to-Video as the final production path. T2V is useful for exploration, but it often produces unclear subjects, flickering colors, unreadable artifacts, or weak motion control.

## Native Wan2.2 stack

Use the official/native ComfyUI Wan2.2 workflow when testing quality:

```text
model: wan2.2_ti2v_5B_fp16.safetensors
text encoder: umt5_xxl_fp8_e4m3fn_scaled.safetensors
vae: wan2.2_vae.safetensors
```

Do not apply the Kijai WanVideoWrapper T5 rule to native Wan2.2: the wrapper rejects scaled T5, but the native workflow expects it.

## Prompt shape

Use a compact prompt with this order:

```text
[shot type] of [one subject] [one action] in [specific environment]. Camera [one motion only]. [lighting/exposure]. [style/texture]. Preserve [identity/details]. No text, no logo, no watermark.
```

Good I2V example:

```text
Photorealistic vertical video of the same red used compact car in a bright inspection garage. Camera slowly pushes in from a front three-quarter angle. Subtle light sweep over the hood and windshield, realistic reflections, stable composition, balanced exposure. Preserve the same car and garage. No text, no logo, no watermark.
```

## Negative prompt baseline

```text
cartoon, animation, deformed subject, duplicated subject, disappearing subject, melting body, distorted geometry, blurry, low detail, flickering colors, abstract, static image, camera shake, overexposed, underexposed, dark frame, text, subtitles, captions, watermark, logo, unreadable letters, fake UI text
```

For cars/finance/mechanism clips add:

```text
unreadable license plate, fake license plate text, brand logos, distorted wheels, fake numbers, fake labels, distorted charts, hallucinated interface text
```

## Keyframe requirements

A good keyframe should have:

- subject clearly visible in the first frame
- full body/object visible if movement matters
- side or three-quarter view for directional motion
- empty space in the movement direction
- no readable text, logos, UI labels, number plates, or brand marks
- balanced exposure; avoid dark cinematic prompts if clarity matters
- enough negative space for renderer captions and overlays

If a start image is a frontal/sitting pose, do not expect convincing lateral movement. Generate or choose a keyframe already close to the desired motion.

## A5000 16GB quality ladder

For local quality tests where speed is secondary:

1. Smoke/probe only: `416x736`, 49 frames, 10 fps, 12–16 steps. This proves the workflow but can stutter; do not treat it as final Shorts quality.
2. Candidate baseline: `416x736`, 61 frames, 12 fps, 16 steps. This gives ~5.08s and is a better default for local Wan2.2 I2V clip jobs on 16GB VRAM.
3. Better quality after the keyframe is proven: `480x832`, 61 frames, 12 fps, 16 steps.
4. High-quality experiment: `576x1024`, 61 frames, 12 fps, 16–20 steps only after the prompt/keyframe is good.

Final Shorts should normally be delivered at 24 fps after deterministic renderer/FFmpeg interpolation or retiming. Avoid jumping straight to 720p/24fps before subject control is proven, but also avoid shipping 10 fps outputs as final content.

## Keyframe/job packaging pattern

For repeatable production, make the keyframe step explicit before running ComfyUI:

```text
I2V prompt plan -> keyframe request package -> seeded clip jobs -> ComfyUI run report -> clip review
## Job packaging / runner pattern

For repeatable Retention Studio work, do not keep only ad-hoc workflow JSON files. Convert prompt plans into seeded clip-job packages and execute them with a runner that:

- checks keyframe paths first and reports `missing_keyframe`
- supports dry runs before GPU work
- skips existing outputs unless regeneration is requested
- constructs the native Wan2.2 workflow from job specs
- writes a JSON run report with prompt IDs, output paths, and skip/failure reasons

The keyframe request should include target path, required dimensions, ChatGPT Pro/image-generator prompt, negative requirements, and an acceptance checklist. Seeded jobs should carry the exact native Wan2.2 workflow inputs and output paths so future runs are auditable and reproducible.

## Review rule

Be blunt when reviewing clips. Technical success is not content success. If the clip is dark, flickering, blurry, unreadable, or the subject/action is unclear, mark it unusable and fix the keyframe/prompt rather than polishing bad source material.
