# RICA Anime · Motion Prompt v2 (LOCKED · LOOP · ZERO ZOOM)

> **v2 changes:** aggressive anti-zoom enforcement + native loop construction.
> Use this prompt verbatim in Anijam / Seedance / Runway / Kling / Luma.
> Output: seamless looping animation with ZERO camera movement.

---

## 🇬🇧 Master prompt (EN — paste into the model)

```
ABSOLUTELY STATIC LOCKED FRAME. NO ZOOM. NO ZOOM IN. NO ZOOM OUT.
NO CAMERA PUSH. NO CAMERA PULL. NO DOLLY. NO PAN. NO TILT.
NO SCALE BREATHING. NO FRAME EXPANSION OR CONTRACTION.

The outer edges of the ornate {{FRAME_DESCRIPTION}} must remain pinned at the
EXACT SAME PIXEL COORDINATES from frame 1 through the final frame. The gold
border does NOT inhale, does NOT exhale, does NOT pulse outward, does NOT
shift inward. Every pearl, gem, ornament, seahorse, coral, shell, and the
WILD letters stay LOCKED in their starting position throughout the entire
clip — they are NAILED DOWN as if engraved on glass.

SEAMLESS LOOP REQUIREMENT: this is a perfect loop. The very last frame must
be visually IDENTICAL to the very first frame, so the clip can play forever
on a slot machine reel without any visible cut, jump, or restart artifact.
All motion cycles complete a full integer number of cycles within the clip
duration and return to their starting state.

Animate ONLY the following elements INSIDE the locked frame, and each
motion must complete a FULL CYCLE returning to its starting pose:

1. The {{SUBJECT}} character:
   - eyes blink ONCE slowly and reopen to the EXACT same starting expression
   - one subtle micro-expression cycle that returns to the starting neutral pose
   - hair / hood / cape flows in a slow continuous loop, ending at the SAME
     position it started

2. {{ACCENT_PARTS}} (crown / gem / pendant / wand etc):
   - soft {{ACCENT_COLOR}} glow pulses 2-3 full cycles, ending at the same
     low-glow intensity it started at

3. Background inside the inner portrait area (sky / water / mist / sparks):
   - 2-3 ambient cycles (water ripple, light caustic, mist drift, bubbles)
     that return to the starting frame

4. The WILD wordmark at the bottom:
   - light shimmer highlight travels across the letters in 1-2 full passes,
     ending at the same starting state — letters DO NOT scale, DO NOT move,
     DO NOT change position. ONLY the surface shimmer animates.

EVERYTHING ELSE IS LOCKED. The frame's outer perimeter, seahorses, coral,
shells, pearls, and all decorative ornaments do NOT animate AT ALL.

The video has no BGM, no sound effects, no transitions, no fades.
Full symbol fully visible from frame 1 to last frame at IDENTICAL bounds.
Designed for infinite loop playback on a slot machine reel.
```

---

## 🇧🇷 Versão resumida em português (referência)

```
FRAME COMPLETAMENTE ESTÁTICO. ZERO ZOOM. ZERO MOVIMENTO DE CÂMERA.
A borda externa do quadro dourado FICA NA MESMA POSIÇÃO de pixel exata
do primeiro ao último frame — não respira, não escala, não se move.

LOOP PERFEITO: último frame = primeiro frame visualmente idêntico.
Todos os movimentos completam ciclos inteiros e voltam à posição inicial,
pra rodar infinitamente na reel de slot sem corte visível.

Animar APENAS:
1. O {{SUBJECT}}: pisca 1x devagar, expressão sutil que volta ao neutro,
   cabelo flui num loop suave terminando na posição inicial.
2. {{ACCENT_PARTS}}: brilho {{ACCENT_COLOR}} pulsa 2-3x e volta ao começo.
3. BG interno (água/céu/névoa): 2-3 ciclos ambient que retornam ao início.
4. WILD: shimmer de luz passa 1-2x pelas letras, SEM escalar, SEM mover.

Frame externo, cavalos-marinhos, corais, pérolas, ornamentos = LOCKED.
Sem música, sem efeitos sonoros, sem transições.
```

---

## Slot dictionary (replace before pasting)

| Slot | Mermaid WILD ex | Lodge stag ex | Casino Freak wild chip ex |
|---|---|---|---|
| `{{FRAME_DESCRIPTION}}` | circular gold-and-pearl baroque frame with seahorses and coral | ornate carved dark wood frame with antlers and pinecone filigree | ornate gold scrollwork frame with ruby/emerald/sapphire gem cabochon corners |
| `{{SUBJECT}}` | mystical mermaid queen with green hair | majestic stag head with antler crown | wild casino chip with emerald clover |
| `{{ACCENT_COLOR}}` | golden | amber | emerald |
| `{{ACCENT_PARTS}}` | crown and jewelry | antler tips and gem | clover and center chip rim |
| `{{WORDMARK}}` | WILD | LODGE | WILD |

---

## 🔁 Loop validation (post-process check)

After receiving the animation, validate the loop visually:

```bash
# Concatenate the clip 3 times — should play seamlessly with no visible cut
ffmpeg -i input.mp4 -filter_complex "[0:v]loop=2:1:0,setpts=N/FRAME_RATE/TB" \
  -c:v libx264 -crf 17 output_3x_test.mp4
```

If you see a visible cut/jump at the loop seam, the model didn't honor the
loop constraint and you need to either:

1. **Re-prompt** with even stronger loop language
2. **Use a fwd+reverse fallback**:
```bash
ffmpeg -i input.mp4 \
  -filter_complex "[0:v]reverse[r];[0:v][r]concat=n=2:v=1:a=0,minterpolate=fps=30:mi_mode=mci" \
  -c:v libx264 -crf 17 output_30fps_loop.mp4
```

This creates a 10s "ping-pong" that always loops perfectly — but is 2x duration.

---

## Validated providers (updated)

| Provider | Status | Resolution | FPS native | Loop honors | Zoom honors |
|---|---|---|---|---|---|
| **ByteDance Seedance** (via Anijam) | ⭐ best quality | 1440×1440 | 24 | partial | needs v2 prompt |
| **Artlist.io** (16k credits available) | 🆕 TBD wire | varies | varies | TBD | TBD |
| Runway Gen-4 Turbo | OK | 960×960 | 24 | weak | weak (drifts subtly) |
| Kling AI | wired but URL bug | varies | 24 | TBD | TBD |
| Luma Ray2 | not wired | varies | varies | strong (per docs) | strong (per docs) |

---

## Anti-zoom enforcement reasoning

Image-to-video models default to **adding small camera moves** because their training data biases toward "cinematic" output. To override this:

1. **Use ALL CAPS** for hard constraints — models weight uppercase tokens higher
2. **Repeat negations** ("NO zoom. NO push. NO pull") — single negation often ignored
3. **Pin specific physics** ("pixel coordinates", "nailed down", "engraved on glass")
4. **Specify ALL constraint dimensions** — zoom, push, pull, scale, breathing, expansion, contraction
5. **Whitelist what CAN move** — explicit list of allowed animation targets
6. **Blacklist what CANNOT move** — explicit list of locked elements
7. **Justify the constraint** ("for slot machine reel, infinite loop") — gives model context

---

## Loop construction reasoning

Native loop = first frame visually identical to last frame. Strategies:

1. **Tell the model explicitly** ("SEAMLESS LOOP", "last frame = first frame")
2. **Constrain motion cycles to integers** ("2-3 full cycles", "complete cycle returning to start")
3. **Avoid one-shot motions** (no "blink ONCE" alone — say "blink ONCE and reopen to EXACT same expression")
4. **Match start/end state** ("ending at the same low-glow intensity it started at")

If the model can't honor native loop, fallback is forward+reverse (ping-pong) — but that's 2x duration and the midpoint feels artificially slow because direction reverses.

---

## v3 ADDITION — Anti-leak constraint (recommended)

User-validated improvement: prevent motion from leaking outside the circular frame
into the surrounding black canvas area. Add this to the v2 prompt:

```
CRITICAL: Everything must stay strictly inside the circular gold frame.
NO part of the animation can extend into the surrounding black area.
ALL movement (hair flow, water ripples, bubbles, glow) is CONTAINED within
the inner circle bounded by the gold border of the symbol. The black
background area around the symbol is COMPLETELY STATIC — nothing animates
there, no glow spillover, no particles, no light extending beyond the
gold frame edge.
```

This forces the model to keep ALL motion inside the inner emerald/scene
circle and prevents the glow halo / particles / light rays from bleeding
into the surrounding black box (a common issue with image-to-video models
that interpret "glow pulses" as full-canvas light bloom).


---

## ⭐ v4 ADDITION — Chroma green BG (USER-VALIDATED · pra alpha extraction)

User-validated prompt with EXPLICIT chroma key green background hardcoded.
Use this verbatim when you want clean transparent output via downstream chroma-key.

### Prompt (EN — paste in Anijam)

```
FORBIDDEN: no camera movement, no zoom, no push in, no pull out, no dolly, no pan, no tilt.
The camera is 100% locked and static.

Full slot machine symbol showing the entirely visible ornate circular gold frame with
the mystical queen facing forward.

The background is a pure solid neon green #00FF00 with 100% uniform color, no gradient,
no shadows extending into the green area.

Seamless looping animation: the queen keeps eyes open looking forward most of the time
with only a quick gentle blink, subtle breathing motion, soft golden glow gently pulses
on the crown, the word 'WILD' shimmers with golden light at the bottom.

CRITICAL: Everything must stay strictly inside the circular frame. No part of the
animation can extend into the surrounding green area. All movement is contained within
the gold border of the symbol.

The video has no BGM.
```

### Estrutura do prompt (PT)

| Componente | Descrição |
|---|---|
| 🚫 **Câmera** | Proibido qualquer movimento, zoom, push, pan, tilt |
| 🖼 **Frame** | Símbolo completo da slot visível, moldura circular dourada |
| 🟢 **Fundo** | Verde neon sólido #00FF00, 100% uniforme, sem gradiente/sombras |
| 👸 **Rainha** | Olha para frente, olhos abertos com piscada rápida, respiração suave |
| ✨ **Efeitos** | Brilho dourado pulsando na coroa, "WILD" cintilando |
| ⭕ **Crítico** | Tudo contido dentro da borda dourada do símbolo |
| 🌀 **Loop** | Animação cíclica que retorna ao ponto inicial |

### Pós-processamento esperado se modelo obedecer

Se o output vier com **fundo verde real (#00FF00)**, downstream ffmpeg chroma-key remove
limpo (sem leak nas sombras escuras do símbolo, diferente do fundo preto que conflitava):

```bash
ffmpeg -i anime_chroma_green.mp4 \
  -vf "format=rgba,colorkey=color=0x00FF00:similarity=0.20:blend=0.10,despill=type=green:mix=0.5" \
  -c:v libvpx-vp9 -pix_fmt yuva420p -auto-alt-ref 0 -crf 25 \
  output_TRANSPARENT.webm

# Also HEVC alpha for Safari/iOS:
ffmpeg -i anime_chroma_green.mp4 \
  -vf "format=rgba,colorkey=color=0x00FF00:similarity=0.20:blend=0.10,despill=type=green:mix=0.5" \
  -c:v hevc -pix_fmt yuva420p -tag:v hvc1 -crf 22 \
  output_TRANSPARENT.mov
```

`despill` é importante pra remover edge fringing verde nos cabelos/contornos do símbolo.

### Track record

| Version | Date | BG color requested | BG color delivered | Notes |
|---|---|---|---|---|
| v1 (anime 1) | 2026-05-16 | (none specified) | black | first test, motion ok zoom drift |
| v2 (anime 2) | 2026-05-16 | (none specified) | black | locked frame + loop ok |
| v3 (anime 3) | 2026-05-16 | suggested green | **black** (ignored) | model didn't honor first attempt |
| **v4** (next) | 2026-05-16 | **green #00FF00 EXPLICIT** | TBD | uses FORBIDDEN/CRITICAL framing, BG declared as separate clause |
