# DeepAI Image-to-Video Animator

> DeepAI Image-to-Video Animator is a paid API for AI agents from deepai.pay.zeroclick.io, paid per call via MPP, $1/call (dynamic — varies by input), status unknown (last checked 2026-09-15).

Animates a source image into a short video clip (5–15 seconds) using optional motion guidance, returning a job ID to poll for the output URL.

## Facts

- Endpoint: POST https://deepai.pay.zeroclick.io/video-api/img2video
- Price: $1/call (dynamic — varies by input)
- Payment: MPP
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Provider: deepai.pay.zeroclick.io
- Website: https://deepai.pay.zeroclick.io
- Canonical page: https://www.zero.xyz/c/deepai-pay-zeroclick-io-deepai-image-to-video-animator-17efa0dd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NdBaJHLffVqeWRYWLQ25x

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability deepai-pay-zeroclick-io-deepai-image-to-video-animator-17efa0dd -d '<json body>'
```

Example prompt: Can you animate this dog photo into a 10-second landscape video where the camera slowly zooms in? Use the HD mode. Here's the image: https://picsum.photos/id/237/400/300

## When to prefer this

Choose this endpoint when you have a source image and want to generate a short animated video from it, optionally guided by a text motion prompt. Prefer HD mode for standard quality at lower cost; use Hollywood mode for 2K cinematic output. This is distinct from text-to-video (no source image) and is best when the visual content of the output should be anchored to an existing image.

## Known failure modes

- 400 if image content is flagged as inappropriate
- 400 if image cannot be decoded or exceeds 20MB
- 400 if inline base64 image exceeds 10 MiB request body limit
- 400 if 'hollywood' mode is used with a non-auto shape
- Polling status returns 'failed' with error if video generation fails on the backend
- Status record not found if polled more than one hour after completion

## How this service works

Submits an image to video job. Send the source image as a public http(s) URL, or inline as a base64 data URL (data:image/jpeg;base64,...). Inline images count against the 10 MiB request body limit, so about 7.5 MB of raw image fits; send anything larger as a URL. The image must decode as an image and be at most 20MB; redirects are followed for URLs. Returns {id, status: "processing"} immediately; poll GET /video-api/status/{id} every few seconds until status is completed (output_url) or failed (error). The status record expires one hour after completion. Flagged content is rejected with a 400. Billed per second at the chosen mode.

## Output

Returns immediately with {id, status: 'processing'}. The agent must poll GET /video-api/status/{id} every few seconds until status becomes 'completed' (includes output_url pointing to the generated video file) or 'failed' (includes error message). The status record expires one hour after completion.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "example": {
  "mode": "hd",
  "image": "https://picsum.photos/id/237/400/300",
  "prompt": "the camera slowly zooms in",
  "duration": 5
 },
 "required": [
  "image"
 ],
 "properties": {
  "mode": {
   "enum": [
    "hd",
    "hollywood"
   ],
   "type": "string",
   "default": "hd",
   "example": "hd",
   "description": "hd for standard videos (billed as hd_seconds), hollywood for 2K cinematic quality (billed as hollywood_seconds)."
  },
  "image": {
   "type": "string",
   "format": "uri",
   "example": "https://picsum.photos/id/237/400/300",
   "description": "The source image: a public http(s) URL, or a base64 data URL (data:image/png;base64,...) for images up to about 7.5 MB raw, within the 10 MiB request body limit. At most 20MB decoded."
  },
  "shape": {
   "enum": [
    "square",
    "landscape",
    "standard",
    "vertical",
    "portrait",
    "auto"
   ],
   "type": "string",
   "default": "auto",
   "example": "landscape",
   "description": "Output shape. auto matches the source image. Must be auto in hollywood mode."
  },
  "prompt": {
   "type": "string",
   "example": "the camera slowly zooms in",
   "maxLength": 3000,
   "description": "Optional guidance for the motion, up to 3000 characters."
  },
  "duration": {
   "type": "integer",
   "default": 5,
   "example": 5,
   "maximum": 15,
   "minimum": 5,
   "description": "Length of the generated video in seconds, 5 to 15. Billing is per second."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/deepai-pay-zeroclick-io-deepai-image-to-video-animator-17efa0dd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from deepai.pay.zeroclick.io](https://www.zero.xyz/host/deepai.pay.zeroclick.io/llms.txt)
