---
title: Animate a still image, as a loop or a one-shot
display: '*Animate* a still image, as a loop or a one-shot'
nav_title: Animate a still
summary:
  - "Turn one finished illustration into a 5-second living picture with small motions and a locked camera."
  - "Set the still as first and last frame for a clean loop, or first frame only for a one-shot."
  - "Each take waits about 3 minutes; run both once, measure, then keep the behavior you want."
description: Bring a feature-animation still to life with small controlled motion, and choose between a clean loop and a one-shot by measuring both.
section: playbooks
order: 140
type: playbook
topic: Film and animation
level: Start
roles: [creator, artist, marketer]
time: { read: 6, do: 15, wait: 4 }
needs: ["Any plan with credits", "One finished still image", "ffmpeg and ImageMagick for the checks (optional)"]
last_verified: 2026-10-16
models_checked: ["GPT Image 2.5 Sunburst", "Minimax H3", "Seedance 2.5"]
hero: playbooks/animate-a-still/quillfern-workshop-source-still.webp
video: playbooks/animate-a-still/quillfern-workshop-loop-first-and-last-frame.mp4
related: [prompt-video, direct-the-camera-and-motion, storyboard-from-script]
pdf: true
run_in: [model_openai-gpt-image-2-5-sunburst, model_minimax-h3]
thumb: playbooks/animate-a-still/thumb.webp
steps:
  - title: "Make or approve the still"
    text: "Use a version with no text, since lettering warps when animated. This one came from GPT Image 2.5 Sunburst at 2048x1152 with the cast and prop sheets in Reference Images; the video keeps its 16:9 shape."
  - title: "Write the motion prompt"
    text: "List each small motion, then what must not change: a locked camera, the look, no new objects."
    prompt: |-
      A gentle living-illustration loop. The camera stays perfectly still. The small glass lanterns hanging from the ceiling beams sway slowly on their chains. Isa's cloth makes two small slow circles on the amber lantern and lifts; Master Oren turns the blowpipe a little in his hands and the glow on its tip pulses. The furnace light flickers softly. Dust motes drift through the warm light. Everything returns to exactly the opening pose at the end. Keep the painterly 3D look and textures; no new objects, no text. Soft workshop ambience only, no music, no speech.
  - title: "Run the loop take"
    text: "Create › Videos › Minimax H3. First Frame and Last Frame: the same still. Duration 5 s, Resolution 768P."
  - title: "Run the one-shot take"
    text: "Same prompt and settings, First Frame only. Skip it once you know which behavior you want."
  - title: "Measure the seam and the motion"
    text: "Compare the first and last frame of each take, then consecutive frames through the clip (RMSE with ffmpeg and ImageMagick). Here the loop's seam measured 2.4% against 8.0% for the one-shot, with about the same motion."
  - title: "Watch it repeat"
    text: "Loop the clip three times and watch the restart. The numbers give the size of the jump; your eye tells you whether it shows."
agent_steps:
  - title: "Connect the Scenario MCP"
    text: "Connect your agent and sign in once at [mcp.scenario.com](https://mcp.scenario.com). Then tell it which Scenario team and project to use, so every file lands there."
  - title: "Give the agent the files"
    text: "One finished still with no text in it (here the Quillfern workshop still, 16:9). Upload it with upload_asset or give its asset ID. Approve it first: fixes cost less on the image than on the clip."
  - title: "Brief the agent: the loop and the one-shot"
    text: "Run each behavior once, measure, then keep the one you want and run only that from then on."
    prompt: |-
      Use Minimax H3 (model_minimax-h3): duration 5, resolution "768P". Two takes with the same prompt: the loop take with firstFrameImage and lastFrameImage both set to the still's asset ID, and the one-shot take with firstFrameImage only. Start both with wait: false and collect them with one jobs_wait. Quote the cost with a dry run first and wait for my go.

      Prompt, word for word:
      A gentle living-illustration loop. The camera stays perfectly still. The small glass lanterns hanging from the ceiling beams sway slowly on their chains. Isa's cloth makes two small slow circles on the amber lantern and lifts; Master Oren turns the blowpipe a little in his hands and the glow on its tip pulses. The furnace light flickers softly. Dust motes drift through the warm light. Everything returns to exactly the opening pose at the end. Keep the painterly 3D look and textures; no new objects, no text. Soft workshop ambience only, no music, no speech.
  - title: "Measure, watch and check"
    text: "Accept when the camera holds, only the listed elements move, faces, hands and the lantern keep their shape, the painterly texture holds and the loop's restart does not show. Reject new objects or animals, a hand that gains or loses fingers, a lantern that loses or gains a band, or a visible jump."
    prompt: |-
      Download both takes with asset_download. With ffmpeg and ImageMagick, measure the RMSE between the first and last frame of each take and the average RMSE between consecutive frames, and tell me the numbers. Check frames for new objects, hands, the lantern's three brass bands and camera drift. Minimax H3 always returns audio: strip it with ffmpeg -an if the brief says no sound.
  - title: "File and report"
    prompt: |-
      Create a collection for the animated still with the source still and the kept take. Report the model, every asset ID and the total cost spent.
updated: 2026-10-16
canonical: https://learn.scenario.com/playbooks/animate-a-still
---

Last updated: 2026-10-16

# Animate a still image, as a loop or a one-shot

> Bring a feature-animation still to life with small controlled motion, and choose between a clean loop and a one-shot by measuring both.

In short:

- Turn one finished illustration into a 5-second living picture with small motions and a locked camera.
- Set the still as first and last frame for a clean loop, or first frame only for a one-shot.
- Each take waits about 3 minutes; run both once, measure, then keep the behavior you want.


A 5-second "living illustration" from one feature-animation still, and the numbers to choose between a clean loop and a one-shot. For film key art, web headers, social posts and lesson openers.

:::note As of October 2026
The models, settings and screens in this article are the ones Scenario offered in October 2026. New models and updates arrive often, so check the app for newer options before you choose.
:::

:::video https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/062202ae8d856df4f2f20651404227ed658a357849a940190091b4abb9e23908.mp4
The loop take: Minimax H3, first and last frame set to the same still, 5 seconds.
:::

The still shows Isa and Master Oren in the Quillfern glass workshop, the cast from [Storyboard from a script](https://learn.scenario.com/playbooks/storyboard-from-script.md).

## The brief

| Field | Brief |
|---|---|
| Goal | A 5-second living illustration of one film still |
| Motion | Small and calm: hanging lanterns sway, a polishing cloth circles, the blowpipe glows, the furnace flickers, dust in the light; locked camera |
| Format | 16:9, 768p, no sound |
| Fixed | Composition, characters, the lantern with its three brass bands, the painterly texture, no new objects |
| May vary | How far each small motion goes |
| Accept when | No morphing; faces and hands hold; the texture stays; for a loop, no visible jump when the clip repeats |

## Approach

:::flow
Make the still | GPT Image 2.5 Sunburst, cast and prop sheets | image
Write the motion | Small motions, locked camera, no new objects |
Loop take | Minimax H3, first and last frame | video
One-shot take | Minimax H3, first frame only | video
Measure and watch | Seam and motion RMSE, three plays |
:::

Image-to-video models handle small motion well when the image already holds everything. Most failures come from asking for too much: new objects, a camera move, a character leaving the frame. List a few small movements, lock the camera, forbid new objects.

For a loop, set the same image as **First Frame** and **Last Frame** ([Pin the first and last frame](https://learn.scenario.com/browse)): the clip must end where it began. The playbook runs one constrained take and one free take and compares them. See [First and last frame](https://learn.scenario.com/courses/video-production).

- **Model used:** Minimax H3, the default video model in **Create** > **Videos** and the top pick for animating a still in the October 2026 recommendations, as of October 2026. It always returns a soundtrack; strip it if the brief says no sound.
- **Runner-up:** Seedance 2.5, run as a loop at 480p on the same still and prompt (see the measurements below).

## Steps

:::steps
1. **Make or approve the still.** [Approve the still first](https://learn.scenario.com/browse): fixes cost less on the image than on the clip. Use a version without text, since lettering warps when animated. This still was made with **GPT Image 2.5 Sunburst** at 2048x1152, with the cast sheet and the prop sheet in **Reference Images**, two outputs; the first had the clearer staging. The video keeps its 16:9 shape: 1344x768 at 768P.

   ![The source still: Isa polishing the glowing amber lantern at the workbench while Master Oren holds a blowpipe at the furnace, colored glass lanterns hanging from the beams](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/e6791b29364091bca4f889a78be8ba67b1e0b2e44d489fd90d4dfaea8c86c1b3.webp "Source still, GPT Image 2.5 Sunburst with the cast and prop sheets.")

2. **Write the motion prompt.** List each small motion, then what must not change:

   ```prompt
   A gentle living-illustration loop. The camera stays perfectly still. The
   small glass lanterns hanging from the ceiling beams sway slowly on their
   chains. Isa's cloth makes two small slow circles on the amber lantern and
   lifts; Master Oren turns the blowpipe a little in his hands and the glow
   on its tip pulses. The furnace light flickers softly. Dust motes drift
   through the warm light. Everything returns to exactly the opening pose at
   the end. Keep the painterly 3D look and textures; no new objects, no
   text. Soft workshop ambience only, no music, no speech.
   ```

3. **Run the loop take.** **Create** > **Videos**, **Model** **Minimax H3**. **First Frame** and **Last Frame**: the same still. **Duration** 5 s, **Resolution** 768P. The price shows on the **Generate** button before you run.

4. **Run the one-shot take.** Same prompt and settings, **First Frame** only; it costs the same as the loop take. Skip it once you know which behavior you want.

5. **Measure the seam and the motion** ([Check by measurement](https://learn.scenario.com/browse)). Compare the first and last frame of each take, then consecutive frames through the clip:

   ```bash
   ffmpeg -i take.mp4 -vf "select=eq(n\,0)" -frames:v 1 first.png
   ffmpeg -sseof -0.05 -i take.mp4 -update 1 -frames:v 1 last.png
   magick compare -metric RMSE first.png last.png null:
   ```

6. **Watch it repeat.** Loop the clip three times and watch the restart. Numbers give the size of the jump; your eye tells you whether it shows.
:::

**With the Scenario MCP:** `model_run` on `model_minimax-h3` with `firstFrameImage` and `lastFrameImage` set to the same asset id for the loop, or `firstFrameImage` alone for the one-shot; `duration: 5`, `resolution: "768P"`. Quote with `dry_run: true` before the run ([Quote before you run](https://learn.scenario.com/browse)).

## Check the result

:::check
**Accept when:** the camera does not move; only the listed elements move; faces, hands and the lantern keep their shape; the painterly texture holds; for a loop, the restart is not visible when played three times in a row.
**Reject when:** objects or animals appear; a hand gains or loses fingers during the polishing; the lantern loses or gains a band; the loop visibly jumps.
:::

| Measure (RMSE, lower is closer) | Loop take (first + last frame) | One-shot (first frame only) | Seedance 2.5 loop (runner-up, 480p) |
|---|---|---|---|
| First frame vs last frame | 2.4% | 8.0% | 2.0% |
| Change between consecutive frames, averaged | 2.6% | 2.4% | 1.5% |
| Reads as | no visible seam, as lively as the one-shot | lively, clear jump at restart | closed seam, calmer and softer |

![First and last frame of the loop take side by side, nearly identical](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/630b24003a0fa2e5db2742b974b0947183eefd4693237200086b231ce868f3db.webp "Loop take: first frame (left) and last frame (right). The seam is closed.")

With Minimax H3, the loop constraint closed the seam (2.4% against 8.0%) without calming the motion: both takes move about as much. Faces, hands and the three-band lantern held in both. The Seedance 2.5 loop closed the seam as well but moved less, at a lower resolution and with a softer image.

How to choose:

- **Clean loop** (website header, e-book page, display screen): first and last frame. With Minimax H3 it costs no liveliness.
- **One-shot** (trailer cut, social post that plays once): first frame only, no promise of returning to the start.
- **Very calm loop:** compare a second model on the same still; here Seedance 2.5 moved less.

:::video https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/d4d90a47adedc7f57b99aec16fdc7c04ff72711702afc12bef7b928d2e7aae9c.mp4
The one-shot take: first frame only. Similar motion, no return to the start.
:::

:::quiz Check yourself
? You need a website header animation that plays on repeat with no visible jump. Which setup do you run?
- [ ] First frame only, for the most life in the motion
- [ ] First frame only, with a slow camera push-in to hide the restart
- [x] The same still as First Frame and Last Frame, with calm motion
> A clean loop must end where it began. In this run the first and last frame take closed the seam; the first-frame-only take jumped at the restart.

? Two takes of the workshop still, both paused at 4 seconds. The brief asks for small motion, a locked camera and no new objects. Which take ships?
![The workshop at 4 seconds: a gray cat sits on the workbench and Isa holds the lantern up beside Master Oren](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/5fff19f573b812b21392bdd0235dd5b91b78ccc355f64305a135f63128f667c0.webp "Take A")
![The workshop at 4 seconds, framed as in the still: Isa polishes the lantern while Master Oren holds the blowpipe](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/1636dd04465218adfd5898efaf4616ebe80863256683425b77462b8585c5c45c.webp "Take B")
- [ ] Take A: it has more life, which a one-shot needs
- [x] Take B: the camera holds and nothing new enters the frame
- [ ] Either one: faces and the painterly texture hold in both
> Objects that appear are on the Reject list. Take A came from a prompt that asked for a push-in, a cat and moths; If it breaks says to remove anything that implies new content.
:::

## Make it repeatable

- **Animate a whole set of stills.** In the **Node Editor**: an **Image** node with the stills, a **Loop** over them (its **Input List** port), and a **Video Generator** on Minimax H3 with each still wired to both **First Frame** and **Last Frame**, the motion prompt in a fixed **Text** node. Add an **Approval** node after the first item to check the motion style before the batch runs.
- **Keep a motion prompt per art style.** The small motions change per image; the frame ("camera stays perfectly still", "keep the painterly 3D look and textures; no new objects, no text") stays.
- **Add sound later** if needed, with [Sound effects and foley](https://learn.scenario.com/audio/sound-effects-and-foley.md).
- **Reuse the clips.** Both takes appear as shots in the trailer of [Score, sound effects and mix](https://learn.scenario.com/playbooks/game-trailer-cinematic.md).

## Runs and time

| Step | Model | Runs | Wait |
|---|---|---|---|
| Source still, 2 outputs | GPT Image 2.5 Sunburst | 1 | about 47 s |
| Loop take, 5 s, 768P | Minimax H3 | 1 | about 2 min 40 s |
| One-shot take, 5 s, 768P | Minimax H3 | 1 | about 2 min 45 s, in parallel |
| Runner-up loop, 5 s, 480p | Seedance 2.5 | 1 | about 3 min, in parallel |
| Measurements | ffmpeg, ImageMagick | 0 | seconds |

About 4 minutes in all, with the takes in parallel. The video takes are almost all of the cost, each several times the still; once you know which behavior you want, run one take.

The price shows on the **Generate** button before you run; with the Scenario MCP, ask for a dry-run quote.

## Variations

- **Product image:** steam from a cup, a light sweep across a label; lock the camera and forbid any change to the label.
- **For compositing:** animate the subject alone on a plain or green background, then key it.
- **Learning:** a diagram where only the arrows or wind lines move,, as a lesson opener.
- **Games:** a menu background with drifting clouds and a flickering lantern, as a loop.
- **Social:** a 9:16 crop animated as a one-shot, title added in the edit.

## If it breaks

- **Things appear that were not in the image.** Remove anything that implies new content ("a cat jumps up"), and keep "no new objects".
- **The camera drifts.** Put "The camera stays perfectly still" in the first two sentences.
- **Hands deform during the action.** Ask for smaller hand motion ("two small slow circles and lifts") or choose a still where hands rest on a surface.
- **The style turns smooth or plastic.** Name the look to keep ("keep the painterly 3D look and textures").
- **Sound you did not ask for.** Minimax H3 always returns audio; strip it in the edit with `ffmpeg -an`.

Source: https://learn.scenario.com/playbooks/animate-a-still
