# vidmoat-image-live-1

> Model card for vidmoat-image-live-1: bring a still to life without adding anything to it. Tiers, inputs, output, prices, speed, safety checks and known limits.

`vidmoat-image-live-1` moves what a picture already shows. Give it a still and a sentence ("slow push-in", "the waterfall flows", "she breathes and blinks") and it returns a short clip of that picture in motion. It is built for product shots, thumbnails, slides, memories and b-roll: the cases where a full text-to-video model would reinvent the scene.

## What it does

A router reads the request and picks the cheapest tier that can do it. A quote always tells you which one you will get.

| Tier | Motion | Engine | Price | Length |
| --- | --- | --- | --- | --- |
| Camera | Push in, pull out, drift, orbit, pan, with real depth parallax | Depth estimation and parallax rendering | 8 credits a second | 2 to 10 s |
| Cinemagraph | One region moves, everything else stays still: water, waves, clouds, smoke, steam, fire, leaves, grass, hair, flags | Masked flow on the region | 8 credits a second | 2 to 10 s, can loop |
| Object | A cut-out subject floats, bobs, sways or tilts | Subject cut-out and motion | 8 credits a second | 2 to 10 s |
| Generative | Faces breathing or blinking, people moving, vehicles driving, turning objects, any motion described in words | Our own deployment of Wan 2.2 TI2V-5B (Apache 2.0) on our GPU | 24 credits a second | 4 or 5 s, no loop |

Setting `move`, `region`, `motion`, `box`, `strength` or `direction` keeps a request on the first three tiers, which implement those controls exactly. Leave them out and describe the motion in words to reach the generative tier.

## Output

- MP4 (H.264), 24 frames a second, 720p on the short side, no audio track.
- Aspect: the source's, or `16:9`, `9:16`, `1:1` (and `4:5`, `5:4`, `4:3`, `3:4` on the first three tiers).
- Delivered at a URL in your account, ready to use as an `addClip` source in a project.

## Price

You pay for exactly the seconds you ask for, at the tier's rate: a 5-second camera move is 40 credits, a 5-second generative clip is 120. `quoteOnly: true` returns the price without charging, and `maxCredits` refuses anything above your ceiling before it starts. A clip that fails its checks is refunded in full, automatically.

## Speed

| Tier | Typical time to a finished clip |
| --- | --- |
| Camera, cinemagraph, object | Under a minute |
| Generative | About 2 to 5 minutes. The GPU starts for each burst of work, so the first clip after a quiet spell takes longest. |

One living image runs at a time per account; a second request while one is running gets `402 quota_exceeded`.

## What it will not do

- **Add things.** Anything appearing, pouring, breaking or transforming is refused before charging with a `400` that points to [Generate a video](https://developer.vidmoat.com/developer/docs/api/generation/create-video), which is built for that.
- **Sound.** Clips are silent; add music or speech in the project.
- **Long clips.** 10 seconds on the first three tiers, 5 on the generative one.
- **Two kinds of motion at once.** A camera move and ambient motion together are refused today rather than half done.

## How each clip is checked

Every clip is measured before you get it, and one that fails is not delivered and is refunded:

- **Nothing new appears.** On the generative tier a detector counts the people, animals and vehicles in your still and in the clip. If one appears that the still does not have (the base model invents a subject about 1 time in 7), the clip is rejected, retried once with a new seed, then failed and refunded.
- **It actually moves**, and on the cinemagraph tier only inside its region.
- **No cuts and no drift** away from your picture.
- Prompts pass the same safety screen as every Vidmoat generation; a refused prompt is a `422 prompt_rejected` and costs nothing.

## Known limits

- Faces are animated gently; expressions and speech are out of scope.
- The generative tier has a monthly GPU allowance. When it is used up, generative requests get `503 unavailable` until the 1st and are not charged, while camera moves and cinemagraphs keep working.

## Calling it

```bash curl
curl -X POST https://api.vidmoat.com/v1/ai/live-images \
  -H "Authorization: Bearer $VIDMOAT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image":{"url":"https://example.com/portrait.jpg"},"prompt":"she breathes and blinks, hair moves in the breeze","durationSec":5,"aspectRatio":"9:16"}'

# then, every five seconds:
curl https://api.vidmoat.com/v1/ai/jobs/$JOB_ID -H "Authorization: Bearer $VIDMOAT_KEY"
```

```js TypeScript
const headers = { Authorization: `Bearer ${process.env.VIDMOAT_KEY}`, 'Content-Type': 'application/json' };

const start = await fetch('https://api.vidmoat.com/v1/ai/live-images', {
  method: 'POST', headers,
  body: JSON.stringify({ image: { url: 'https://example.com/lake.jpg' }, prompt: 'slow push-in', durationSec: 5, maxCredits: 60 }),
}).then(r => r.json());

let job;
do {
  await new Promise(r => setTimeout(r, 5000));
  ({ job } = await fetch(`https://api.vidmoat.com/v1/ai/jobs/${start.id}`, { headers }).then(r => r.json()));
} while (job.status === 'PROCESSING');

console.log(job.status, job.outputUrl ?? job.error);
```

```python Python
import os, time, requests

h = {"Authorization": f"Bearer {os.environ['VIDMOAT_KEY']}"}
start = requests.post("https://api.vidmoat.com/v1/ai/live-images", headers=h, json={
    "image": {"url": "https://example.com/waterfall.jpg"},
    "prompt": "the waterfall flows",
    "durationSec": 6,
    "loop": True,
}).json()

while True:
    time.sleep(5)
    job = requests.get(f"https://api.vidmoat.com/v1/ai/jobs/{start['id']}", headers=h).json()["job"]
    if job["status"] != "PROCESSING":
        break
print(job["status"], job.get("outputUrl") or job.get("error"))
```

Every parameter and error is in the [API reference](https://developer.vidmoat.com/developer/docs/api/generation/create-live-image). Over MCP the same model is the `generate_live_image` tool, polled with `get_generation_status`.

## Model details

| | |
| --- | --- |
| Name | `vidmoat-image-live-1` |
| Released | October 2026 |
| Generative base | Wan 2.2 TI2V-5B (Apache 2.0), run by Vidmoat at 12 steps and upscaled to 720p |
| Other tiers | Vidmoat's depth parallax, masked cinemagraph and object motion pipelines |
| Weights | Not published. Available through the API, MCP and the Vidmoat apps. |

---

Source: https://developer.vidmoat.com/developer/docs/models/vidmoat-image-live-1
Previous: [Vidmoat models](https://developer.vidmoat.com/developer/docs/models.md)
Next: [Telegram bots](https://developer.vidmoat.com/developer/docs/telegram.md)
All documentation: https://developer.vidmoat.com/llms-full.txt
