Image to video API · live · 18+ only

Transform Images into Dynamic Videos

Animate any image you generated into a 480p to 1080p clip, with native audio on Motion 3. One POST /v1/videos/generations call, from $0.05 per second, and failed renders are refunded.

from $0.05 / secondup to 1080p · 30sWebhooks or pollingCard & crypto
Safe-for-work sample generated with SpicyAPI
spicy-motion-3 · source stillSFW sample
TASKPROCESSING
● queued● processing · 1080P○ succeeded
GET /v1/videos/tasks/{id}200
{
  "status": "succeeded",
  "output": {"video_url":"…/gen_8f3k2m.mp4"},
  "cost_usd": 1
}
How it works

From still to video in two calls

01
Generate a still
POST /v1/images/generations returns a CDN URL in about 12 seconds (median).
02
Animate it
Pass that URL to POST /v1/videos/generations with a prompt, resolution and duration.
03
Receive the MP4
Poll GET /v1/videos/tasks/{id} or receive a signed task.succeeded webhook.
POST /v1/videos/generations
curl https://api.spicyapi.com/v1/videos/generations \  -H "Authorization: Bearer $SPICYAPI_KEY" \  -H "Content-Type: application/json" \  -d '{    "model": "spicy-motion-3",    "prompt": "slow push-in, she turns toward the camera",    "image_url": "<a URL from /v1/images/generations>",    "resolution": "720P",    "duration": 5  }'# 202 returns a task id, then poll it or take the webhook:curl https://api.spicyapi.com/v1/videos/tasks/<id> \  -H "Authorization: Bearer $SPICYAPI_KEY"
Models

Video models, one endpoint

spicy-motion-3Image or text to video, native audio, up to 30s, 64 ready-made sex actions$0.10 / s at 480pTry it
spicy-motion-3-fastMotion 3 on a faster backbone, same quality tier$0.14 / s at 480pTry it
spicy-motion-2Image to video, up to 1080p and 15s$0.20 / s at 720pTry it
spicy-video-1Text to video, no source image$0.20 / s at 720pTry it
Examples

Real results from our API

Raw outputs, no retouching. Blurred until you confirm you are 18 or older.

Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Example clip generated with the SpicyAPI video endpoint
VIDEO
Why SpicyAPI

Why developers choose this image to video API

UP TO 1080P

480p, 720p or 1080p

Pick the resolution per request and the per-second rate scales with it. Motion 3 renders 480p, 720p or 1080p; Motion 2 720p or 1080p.

2 TO 30S

Clips from 2 to 30 seconds

Motion 3 goes to 30s with native dialogue, music and sound effects, or pass duration -1 and let the model choose the length.

64 ACTIONS

Custom sex acts, no prompt engineering

Pick one of 64 ready-made sex acts as action on Spicy Motion 3 and pass an image of your character: she performs it in a realistic 8 second clip with sound.

ASYNC

Webhooks or polling

Poll the task or receive a signed task.succeeded webhook with the MP4 URL.

COMPLIANT

Your own generations only

Source images must be generated under your account, so real photos of real people cannot be animated.

FAILED = FREE

Refunded automatically

Blocked prompts cost nothing and failed renders are refunded to your balance.

Pricing

Pay per second of video

Prepaid credits in USD, spent at each model's rate when a job succeeds. Failed or blocked generations are never billed and the balance never expires. Top up from $50 by card or crypto.

ModelUnit price10s clip
spicy-motion-3$0.10 / s at 480p$1.00
spicy-motion-3-fast$0.14 / s at 480p$1.40
spicy-motion-2$0.20 / s at 720p$2.00
spicy-video-1$0.20 / s at 720p$2.00
FAQ

Common questions

Is the image to video API live?

Yes. POST /v1/videos/generations is in production. Pass an image URL from your own generations as image_url, a prompt, a resolution and a duration. The call returns a task id straight away; poll GET /v1/videos/tasks/{id} or take the webhook.

How much does image to video cost?

From $0.10 per second at 480p on Motion 3. Motion 2 is $0.20 per second at 720p, and 1080p costs more on every model. A clip costs the resolution's rate times its duration; with duration -1 on Motion 3 you pay for the length actually rendered. Failed renders are refunded automatically.

What resolutions and lengths are supported?

Motion 3 and Motion 3 Fast render 480p, 720p or 1080p from 2 to 30 seconds, with native audio, or duration -1 to let the model pick the length. Motion 2 and Spicy Video 1 render 720p or 1080p from 2 to 15 seconds. Image to video keeps the shape of the source image; text to video takes an aspect_ratio (16:9, 9:16, 1:1, 4:3, 3:4, 21:9).

Can I set the last frame as well?

Yes on Motion 3, Motion 3 Fast and Motion 2: add last_frame_url and the clip moves from your first frame to it. On Motion 3 a first and last frame cannot be combined with reference images or audio in the same request.

Can I upload my own image?

No, by design. image_url and last_frame_url must be images generated under your account with /v1/images/generations or /v1/images/edits. This keeps real photos of real people off the platform.

How long does a video take?

Video is asynchronous: the request returns a task id at once and the clip renders in the background. Render time grows with duration and resolution. Poll every 10 to 15 seconds or set a webhook, and use Motion 3 Fast when turnaround matters more than price.

Ready to start converting images to videos?

Create a still, animate it, and ship the MP4 in the same afternoon.