Developer-first video API · live · 18+ only

API Image to Video

A clean REST API for image to video: predictable JSON, signed webhooks, sandbox keys and the exact cost_usd on every response. Built for developers, from $0.05 per second.

from $0.05 / secondup to 1080p · 30sSigned webhooksCard & crypto
Safe-for-work source still generated with the SpicyAPI image endpoint
spicy-motion-3source still · SFW sample
TASKPROCESSING
● queued● processing · 1080P○ succeeded
GET /v1/videos/tasks/:id200
{
  "status": "succeeded",
  "output": {"video_url":"…/gen_8f3k2m.mp4"},
  "cost_usd": 1
}
How it works

Request, poll, deliver

01
Generate a still
POST /v1/images/generations returns a CDN URL, 12s 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: poll it every 10 to 15 seconds, or take the webhookcurl https://api.spicyapi.com/v1/videos/tasks/<id> \  -H "Authorization: Bearer $SPICYAPI_KEY"
Models

Video models

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

API image to video examples

Raw outputs, no retouching. Blurred until you confirm you are 18 or older. More on the examples page.

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

Developer-first API design

REST

Predictable endpoints

Standard HTTP methods, consistent JSON and error messages that name the field at fault.

SIGNED

Webhooks with retries

task.succeeded and task.failed, HMAC-signed, retried for about five hours if your endpoint is down.

LIVE · SANDBOX

Keys per environment

Name a key per app or customer, revoke any key at once, and cap spend with a monthly limit.

SANDBOX

Build before you pay

Sandbox keys return fixture output from every endpoint at no cost.

OBSERVABLE

Request log with cost

Every call with its status, latency and cost in the dashboard, filterable by type and status, exportable as CSV.

SDKS

Node, Python and MCP

The spicyapi package on npm, porn-api on PyPI, plus an MCP server so coding agents can integrate for you.

Pricing

Pricing

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
Lowest resolution shown. Higher resolutions cost more per second.
FAQ

Common questions

How do I call the image to video API?

POST /v1/videos/generations with model, prompt, image_url, resolution and duration. The image_url must be an image your account generated with SpicyAPI. You get a task id back; poll GET /v1/videos/tasks/{id} or receive a webhook.

What platforms is it built for?

AI girlfriend and companion apps, adult content platforms, Telegram and Discord bots, and interactive entertainment.

Is there a sandbox?

Yes. Sandbox keys answer every endpoint with sample output so you can build the full integration before topping up.

What are the rate limits?

There is no fixed cap on video jobs per key. If a model is at capacity the API answers 429 and you retry after a few seconds. Agent tool calls (MCP and /v1/tools) are limited to 60 requests per minute per key.

How am I billed?

Per second of output at the model and resolution rate, from a prepaid balance. The price is debited when the task is created and refunded automatically if the job fails.

Start building with our API

Sign up, grab a sandbox key and wire the whole flow before spending a cent.