Every generative model worth using lives behind a different account, a different contract and a different client library. We put one endpoint in front of all of them — so switching from one video model to another is a string change, not a migration.
Two things here work differently from the rest of the category, and both are deliberate.
What a model produces is decided by the model you pick — not by a flag you have to set, an approval queue, or a classifier sitting between you and the thing you paid for.
We measured how every route actually behaves and put the result on its model page, so you know what you are buying before the bill arrives. That includes the uncomfortable cases: a model that quietly returns something tamer than you asked for is worse than one that refuses outright, and we label both rather than pretending the difference does not exist.
A sizeable part of the catalogue is LoRA-tuned for uncensored work. Those models live in their own families with their own pricing and docs.
Prices are plain USD per request. Ask what a specific call will cost, get a number, and that number is what gets held — then you are charged the real cost when it settles, never more than the hold.
No expiring balance. No conversion rate to reason about. No minimum top-up.
Media generation is asynchronous everywhere, so it behaves the same everywhere: create a task, get a
202, then poll or take a webhook. Text models speak the OpenAI, Anthropic and Gemini wire formats
— point an existing client at our base URL and it keeps working.
| 🎬 Video | Text-to-video, image-to-video, reference-to-video, editing, lip-sync and talking avatars, up to 4K Seedance 2.5 · Kling 3.0 · MiniMax H3 · Wan 3.0 · HappyHorse 1.1 · LTX 2.5 · Vidu Q3 |
| 🎨 Image | Generation, editing, LoRA, upscaling, face and head swap GPT Image 2.5 · Nano Banana Pro · Seedream 5.0 Pro · Qwen Image 3.0 · Krea 2 · Z-Image · FLUX.1 Dev LoRA |
| 💬 Text | Chat and reasoning through compatible wire formats, with image, video and audio input on supported models Claude Opus 5.5 · Claude Sonnet 5.5 · Grok 4.7 · Gemini 3.7 Flash · DeepSeek V4 Pro · Kimi K3 · GLM 5.3 |
| 🎧 Audio | Text-to-speech, music and transcription Gemini 3.8 TTS · Suno v6 · MiniMax Music 3.0 · Seed Speech 2.0 · MiniMax Speech 2.8 · HeartMuLa Transcribe |
curl https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2.5/text-to-video",
"input": { "prompt": "a lantern drifting through fog" }
}'A 202 means accepted, not finished. Read the task back until it reaches a terminal state, or hand
us a callBackUrl and we will tell you.
| Language | Install | Source |
|---|---|---|
| TypeScript | npm i @spicyapi/sdk |
spicy-sdk |
| Go | go get github.com/spicyapi-ai/spicy-go |
spicy-go |
| Python | pip install spicyapi |
spicy-python |
| PHP | from source for now | spicy-php |
| Java | Maven ai.spicyapi:spicyapi-java |
spicy-java |
| Source | ||
|---|---|---|
| CLI | npx @spicyapi/cli status — no key required |
spicy-cli |
| MCP server | lets an agent inspect models and generate media itself | spicy-mcp |
| Agent Skill | teaches Claude to drive any of the above | spicy-skill |
| Proxy | call us from a browser app without shipping your key | spicy-proxy |
| Source | ||
|---|---|---|
| ComfyUI | every image, video and audio model as a ComfyUI node, no GPU needed | comfyui-spicyapi |