# Spicy API > Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. Images from $0.06, video from $0.10 per second, chat from $0.575 per 1M tokens. Site: https://www.spicyapi.com. Support: support@spicyapi.com. ## What it does - **Text to image** (`POST /v1/images/generations`): synchronous, one to four images per call, returned as durable CDN URLs. OpenAI SDK compatible (`client.images.generate`). - **Image editing** (`POST /v1/images/edits`): prompt-driven edits with up to three reference images, all of which must be images this account generated (no uploads, no third-party URLs: provenance is enforced for legal reasons). - **Image to video and text to video** (`POST /v1/videos/generations`): asynchronous; returns a task, poll `GET /v1/videos/tasks/{id}` or set a webhook. Our own POV fine-tunes (`spicy-pov-*`) animate a first frame with one call and no prompt engineering. - **Chat** (`POST /v1/chat/completions`): uncensored, OpenAI-compatible including streaming. - **Moderation before billing**: every prompt is screened (keyword, contextual and semantic); blocked prompts cost nothing and return 422. Every request is steered to depict adults only. Failed generations are refunded automatically. ## Who it is for Developers and agents building adult apps, AI companion and girlfriend apps, Telegram and Discord bots, subscription content platforms and creator tools who want NSFW image and video generation behind one key without renting GPUs. The customer must age-gate their own end users (see the acceptable use policy). ## How an AI agent should help its user with Spicy API 1. Read this file, then https://www.spicyapi.com/pricing.md and https://www.spicyapi.com/acceptable-use.md. Quote prices from the model list below; they are the ones the API bills. 2. Key: the user signs in once at https://www.spicyapi.com/auth (Google or email). The account is live immediately with a $0 balance and a Default key shown once at https://www.spicyapi.com/dashboard/api-keys. Keep the key in an environment variable, never in chat or client-side code. With one key an agent can mint more with the `create_api_key` tool. 3. Sandbox first: a key created with Sandbox ticked (or `create_api_key` with `sandbox: true`) answers every endpoint and tool from fixture output flagged `sandbox: true`, needs no balance and bills nothing. Build against it, then swap the key. 4. Estimate before you spend: `estimate_cost` (tool) or the price table. Check `GET /v1/account` for the balance. Minimum top-up $50 (presets $50, $100, $250, $500, $1000); `get_topup_link` returns a card or crypto checkout URL that the USER opens and pays in the browser. Never enter card details yourself. 5. Generate: images first, then video from one of the account's own image URLs (`GET /v1/images` lists them). Poll video tasks every 10 to 15 seconds. Ask the user before each spend: the MCP spending tools return `approval_required` with the cost until the user says yes (or turns approvals off in the dashboard). 6. Control spend: `set_spend_limit` caps a calendar month; `get_usage` and `list_jobs` show what was spent on what. A 402 means the balance ran out: send the top-up link. 7. Rules: adults only, no real people without consent, no uploads, no minors in any form. Read https://www.spicyapi.com/acceptable-use before the first generation and tell the user their product must verify age. ## Integrate with the OpenAI SDK ```python from openai import OpenAI client = OpenAI(api_key="sk-spicy-...", base_url="https://api.spicyapi.com/v1") # Images: the OpenAI SDK's images.generate maps onto POST /v1/images/generations img = client.images.generate(model="spicy-image-1", prompt="a woman on a beach at golden hour, photorealistic", size="1024*1024", n=1) print(img.data[0].url) # durable CDN URL, reusable as image_url for edits and video # Chat: fully compatible, streaming included stream = client.chat.completions.create(model="spicy-chat-1", messages=[{"role": "user", "content": "hey"}], stream=True) ``` Video is not an OpenAI endpoint; call it over HTTP: ```bash curl https://api.spicyapi.com/v1/videos/generations \ -H "Authorization: Bearer $SPICYAPI_KEY" -H "Content-Type: application/json" \ -d '{"model": "spicy-motion-2", "prompt": "slow build, steady rhythm", "image_url": "", "resolution": "720P", "duration": 5}' # 202 {"id": "sj_...", "status": "queued", "cost_usd": 0.875} then poll every 10 to 15 seconds: curl https://api.spicyapi.com/v1/videos/tasks/sj_... -H "Authorization: Bearer $SPICYAPI_KEY" ``` Base URL https://api.spicyapi.com. Auth `Authorization: Bearer sk-spicy-...`. Errors: 401 bad key, 402 insufficient balance, 400 invalid parameters, 422 prompt blocked, 429 model at capacity, all as `{"error": {"message", "type"}}`. Webhooks: set a URL in the dashboard and we POST `task.succeeded` or `task.failed` with an `X-SpicyAPI-Signature` HMAC. ## Models and prices (USD, billed per generation) - `spicy-pov-missionary-1` (video, our own fine-tune): $0.175 per second at 720P, $0.29 per second at 1080P. Our own fine-tune for POV missionary motion: steady thrust rhythm and locked overhead framing. Best from a first frame already in position. resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images). - `spicy-pov-doggystyle-1` (video, our own fine-tune): $0.175 per second at 720P, $0.29 per second at 1080P. Our own fine-tune for rear-entry POV motion: accelerating thrust rhythm with the camera held fixed behind. resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images). - `spicy-pov-blowjob-1` (video, our own fine-tune): $0.175 per second at 720P, $0.29 per second at 1080P. Our own fine-tune for POV kneeling oral motion: building rhythm with the camera looking down and held still. resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images). - `spicy-image-1` (image): $0.06 per image. Fast, realistic NSFW text-to-image generation. Best price/speed balance. sizes 1024*1024, 832*1216, 1216*832; up to 4 outputs per call. - `spicy-image-1-pro` (image): $0.09 per image. Highest-quality NSFW text-to-image generation with stronger prompt adherence. sizes 1024*1024, 832*1216, 1216*832; up to 2 outputs per call. - `spicy-image-edit-1` (image-edit): $0.15 per image. Prompt-driven image editing with up to 3 reference images (outfit, pose, scene changes). sizes 1024*1024, 832*1216, 1216*832; up to 1 output per call; needs image_url (one of your generated images). - `spicy-motion-1` (video): $0.175 per second at 720P, $0.29 per second at 1080P. NSFW-tuned image-to-video with audio. Animates a source image from a prompt. resolutions 720P, 1080P; 2 to 10 seconds; needs image_url (one of your generated images). - `spicy-motion-2` (video): $0.175 per second at 720P, $0.29 per second at 1080P. Latest-generation image-to-video with native audio, up to 1080p and 15s. resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images). - `spicy-video-1` (video): $0.175 per second at 720P, $0.29 per second at 1080P. Text-to-video generation, no source image required. resolutions 720P, 1080P; 2 to 15 seconds. - `spicy-motion-3` (video): $0.1 per second at 480P, $0.2 per second at 720P, $0.4 per second at 1080P. Newest-generation video with native dialogue, music and sound effects. Up to 30s at 480p to 1080p. Works from a source image or from text alone. resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it). - `spicy-motion-3-fast` (video): $0.14 per second at 480P, $0.28 per second at 720P, $0.56 per second at 1080P. Spicy Motion 3 on the accelerated backbone: same inputs and quality tier, noticeably faster turnaround. Up to 30s at 480p to 1080p, native audio, source image optional. resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it). - `spicy-chat-1` (chat): $0.575 per 1M tokens (minimum $0.0005 per request). Uncensored roleplay-capable chat model. OpenAI-compatible request format. . Live catalog with limits: `GET /v1/models` (needs a key). What we charge is exactly `cost_usd` in every response. ## Connect an agent (MCP and REST tools) - MCP endpoint (Streamable HTTP, stateless): https://www.spicyapi.com/api/mcp, header `Authorization: Bearer sk-spicy-...`. Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`. Cursor, Codex and any URL-plus-headers client: same URL and header. OAuth is not available yet, so Claude.ai custom connectors and ChatGPT cannot connect until it ships. - Tools: list_models, estimate_cost, get_account, list_images, generate_image, edit_image, generate_video, get_job, list_jobs, get_usage, create_api_key, revoke_api_key, get_topup_link, set_spend_limit, read_acceptable_use. Spending tools are guarded: without `approval_token` they return `{error: "approval_required", summary, approval_token}`; show the summary, get a yes, call again with the token. The account can turn approvals off at https://www.spicyapi.com/dashboard/api-keys. - REST mirror: `POST https://www.spicyapi.com/api/v1/tools/{tool_name}` with the same header and a JSON body of arguments; `GET https://www.spicyapi.com/api/v1/tools` lists them with schemas. Also reachable as https://api.spicyapi.com/v1/tools/{tool_name}. - OpenAPI 3.1 for everything (OpenAI-compatible endpoints plus the tools): https://www.spicyapi.com/openapi.json - Skills (SKILL.md files with the whole workflow): https://www.spicyapi.com/skills/index.json - Rate limit on the agent surfaces: 60 requests per minute per key. ## Pages - Home: https://www.spicyapi.com - Pricing: https://www.spicyapi.com/pricing - Docs: https://www.spicyapi.com/docs, API reference https://www.spicyapi.com/docs/api - Examples: https://www.spicyapi.com/examples - Legal: https://www.spicyapi.com/acceptable-use, https://www.spicyapi.com/terms-of-service, https://www.spicyapi.com/privacy-policy, https://www.spicyapi.com/dmca, https://www.spicyapi.com/data-protection (terms version 2026.09.09) Every page above is also available as markdown: append `.md` to the path or send `Accept: text/markdown`. ## API reference (markdown) - [List Models](https://www.spicyapi.com/docs/api/list-models.md): `GET /v1/models`, List every model available to your account. - [Get Account](https://www.spicyapi.com/docs/api/get-account.md): `GET /v1/account`, Read your balance and account status. - [Create Image](https://www.spicyapi.com/docs/api/create-image.md): `POST /v1/images/generations`, Generate one or more images from a text prompt. - [Edit Image](https://www.spicyapi.com/docs/api/edit-image.md): `POST /v1/images/edits`, Edit an image you generated earlier, guided by a prompt. - [List Images](https://www.spicyapi.com/docs/api/list-images.md): `GET /v1/images`, List the images your account has generated. - [Create Video](https://www.spicyapi.com/docs/api/create-video.md): `POST /v1/videos/generations`, Start a video generation. Returns a task to poll. - [Get Video Task](https://www.spicyapi.com/docs/api/get-video-task.md): `GET /v1/videos/tasks/{id}`, Check a video task and collect the finished clip. - [Create Chat Completion](https://www.spicyapi.com/docs/api/chat-completions.md): `POST /v1/chat/completions`, OpenAI-compatible uncensored chat, with streaming. ## Optional - Everything in one file: https://www.spicyapi.com/llms-full.txt - OpenAPI: https://www.spicyapi.com/openapi.json - Sitemap: https://www.spicyapi.com/sitemap.xml --- # Uncensored image and video generation API Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. From $0.06 per image and $0.10 per second of video, chat from $0.575 per 1M tokens. No contracts, no minimums beyond the $50 first top-up, failed generations refunded. ## Why developers pick it - **One key, every modality**: images, image editing, image-to-video, text-to-video and chat behind the same bearer key, with outputs you can test in the dashboard playground. - **OpenAI-compatible**: the OpenAI SDK works with a base URL swap for images and chat; video is two plain HTTP calls. - **Our own POV video fine-tunes**: `spicy-pov-missionary-1`, `spicy-pov-doggystyle-1`, `spicy-pov-blowjob-1` animate a first frame with locked framing and no prompt engineering. - **Moderation and provenance built in**: prompts are screened before billing, every request depicts adults only, and edits and video accept only images the account generated, so there is no upload surface to police. - **Built for agents**: point a coding agent at https://www.spicyapi.com/llms.txt and it wires the API up; an MCP server and REST tool mirror let an agent quote, top up and generate on the user's behalf with per-spend approval. ## Models | Model | Kind | Price | Limits | |---|---|---|---| | `spicy-pov-missionary-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-doggystyle-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-blowjob-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-image-1` | image | $0.06 per image | sizes 1024*1024, 832*1216, 1216*832; up to 4 outputs per call | | `spicy-image-1-pro` | image | $0.09 per image | sizes 1024*1024, 832*1216, 1216*832; up to 2 outputs per call | | `spicy-image-edit-1` | image-edit | $0.15 per image | sizes 1024*1024, 832*1216, 1216*832; up to 1 output per call; needs image_url (one of your generated images) | | `spicy-motion-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 10 seconds; needs image_url (one of your generated images) | | `spicy-motion-2` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-video-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds | | `spicy-motion-3` | video | $0.1 per second at 480P, $0.2 per second at 720P, $0.4 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-motion-3-fast` | video | $0.14 per second at 480P, $0.28 per second at 720P, $0.56 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-chat-1` | chat | $0.575 per 1M tokens (minimum $0.0005 per request) | | ## Start 1. Sign in at https://www.spicyapi.com/auth (Google or email); the account is live with a Default key. 2. Try a sandbox key, or top up from $50 by card or crypto at https://www.spicyapi.com/dashboard/account. 3. `POST https://api.spicyapi.com/v1/images/generations` with `{"model": "spicy-image-1", "prompt": "..."}`. Docs: https://www.spicyapi.com/docs. Pricing: https://www.spicyapi.com/pricing. Examples: https://www.spicyapi.com/examples. Acceptable use: https://www.spicyapi.com/acceptable-use. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # Pricing Pay per generation from a prepaid US-dollar balance. No subscriptions, no monthly minimums, no hidden fees. Images from $0.06, video from $0.10 per second, chat from $0.575 per 1M tokens. What we charge is exactly the `cost_usd` field in every response; failed generations are refunded and blocked prompts are never charged. ## Per-model prices (USD) | Model | Kind | Price | Limits | |---|---|---|---| | `spicy-pov-missionary-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-doggystyle-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-blowjob-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-image-1` | image | $0.06 per image | sizes 1024*1024, 832*1216, 1216*832; up to 4 outputs per call | | `spicy-image-1-pro` | image | $0.09 per image | sizes 1024*1024, 832*1216, 1216*832; up to 2 outputs per call | | `spicy-image-edit-1` | image-edit | $0.15 per image | sizes 1024*1024, 832*1216, 1216*832; up to 1 output per call; needs image_url (one of your generated images) | | `spicy-motion-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 10 seconds; needs image_url (one of your generated images) | | `spicy-motion-2` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-video-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds | | `spicy-motion-3` | video | $0.1 per second at 480P, $0.2 per second at 720P, $0.4 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-motion-3-fast` | video | $0.14 per second at 480P, $0.28 per second at 720P, $0.56 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-chat-1` | chat | $0.575 per 1M tokens (minimum $0.0005 per request) | | ## Worked examples - 100 images on `spicy-image-1`: $6.00 - 20 five-second clips at 720P on `spicy-motion-2`: $17.50 - 10 ten-second clips at 720P on `spicy-pov-missionary-1`: $17.50 - 1M chat tokens on `spicy-chat-1`: $0.575 ## Top-ups Card (hosted checkout) or crypto (NOWPayments), presets $50, $100, $250, $500, $1000; minimum $50. Balance never expires. Bank transfer for larger accounts on request (sales@spicyapi.com). Agents: `get_topup_link` returns the checkout URL for the user to pay in the browser. ## Included with every account Every model, the dashboard playground, request logs and metrics, webhooks, the MCP server and REST tools, sandbox keys, 24/7 support. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # Examples Every image and video on https://www.spicyapi.com/examples came straight out of the API, with the prompt or scene description shown next to it. Clips include our POV fine-tunes and the general image-to-video and text-to-video models. The page is age-gated in the browser; the media files are on our CDN. Model example clips are also listed per model in `GET /v1/models` (`examples` field). Fine-tune examples: https://cdn.spicyapi.com/examples/poses/povmissionary.mp4, https://cdn.spicyapi.com/examples/poses/povdoggystyle.mp4, https://cdn.spicyapi.com/examples/poses/povblowjob.mp4. Generate your own: https://www.spicyapi.com/docs. --- # Spicy API documentation Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. Base URL `https://api.spicyapi.com`. Authenticate with `Authorization: Bearer sk-spicy-...` (keys from https://www.spicyapi.com/dashboard/api-keys, shown once, stored hashed). Check your balance with `GET /v1/account`. ## Quickstart ```python from openai import OpenAI client = OpenAI(api_key="sk-spicy-...", base_url="https://api.spicyapi.com/v1") # Images: the OpenAI SDK's images.generate maps onto POST /v1/images/generations img = client.images.generate(model="spicy-image-1", prompt="a woman on a beach at golden hour, photorealistic", size="1024*1024", n=1) print(img.data[0].url) # durable CDN URL, reusable as image_url for edits and video # Chat: fully compatible, streaming included stream = client.chat.completions.create(model="spicy-chat-1", messages=[{"role": "user", "content": "hey"}], stream=True) ``` ```bash curl https://api.spicyapi.com/v1/videos/generations \ -H "Authorization: Bearer $SPICYAPI_KEY" -H "Content-Type: application/json" \ -d '{"model": "spicy-motion-2", "prompt": "slow build, steady rhythm", "image_url": "", "resolution": "720P", "duration": 5}' # 202 {"id": "sj_...", "status": "queued", "cost_usd": 0.875} then poll every 10 to 15 seconds: curl https://api.spicyapi.com/v1/videos/tasks/sj_... -H "Authorization: Bearer $SPICYAPI_KEY" ``` ## Models | Model | Kind | Price | Limits | |---|---|---|---| | `spicy-pov-missionary-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-doggystyle-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-blowjob-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-image-1` | image | $0.06 per image | sizes 1024*1024, 832*1216, 1216*832; up to 4 outputs per call | | `spicy-image-1-pro` | image | $0.09 per image | sizes 1024*1024, 832*1216, 1216*832; up to 2 outputs per call | | `spicy-image-edit-1` | image-edit | $0.15 per image | sizes 1024*1024, 832*1216, 1216*832; up to 1 output per call; needs image_url (one of your generated images) | | `spicy-motion-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 10 seconds; needs image_url (one of your generated images) | | `spicy-motion-2` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-video-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds | | `spicy-motion-3` | video | $0.1 per second at 480P, $0.2 per second at 720P, $0.4 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-motion-3-fast` | video | $0.14 per second at 480P, $0.28 per second at 720P, $0.56 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-chat-1` | chat | $0.575 per 1M tokens (minimum $0.0005 per request) | | ## Endpoints ### Core - `GET /v1/models`: List every model available to your account. Reference: https://www.spicyapi.com/docs/api/list-models.md - `GET /v1/account`: Read your balance and account status. Reference: https://www.spicyapi.com/docs/api/get-account.md ### Images - `POST /v1/images/generations`: Generate one or more images from a text prompt. Reference: https://www.spicyapi.com/docs/api/create-image.md - `POST /v1/images/edits`: Edit an image you generated earlier, guided by a prompt. Reference: https://www.spicyapi.com/docs/api/edit-image.md - `GET /v1/images`: List the images your account has generated. Reference: https://www.spicyapi.com/docs/api/list-images.md ### Video - `POST /v1/videos/generations`: Start a video generation. Returns a task to poll. Reference: https://www.spicyapi.com/docs/api/create-video.md - `GET /v1/videos/tasks/{id}`: Check a video task and collect the finished clip. Reference: https://www.spicyapi.com/docs/api/get-video-task.md ### Chat - `POST /v1/chat/completions`: OpenAI-compatible uncensored chat, with streaming. Reference: https://www.spicyapi.com/docs/api/chat-completions.md ## Input images: no uploads, by design Image editing and image-to-video accept only URLs returned by `/v1/images/generations` or `/v1/images/edits` on the same account (`GET /v1/images` lists them). Uploads and third-party URLs are rejected before any charge. This keeps real-person and minor imagery out of the pipeline and is a legal-compliance requirement, not a limitation we plan to lift. ## Video is asynchronous `POST /v1/videos/generations` returns 202 with a task id and the price already debited. Poll `GET /v1/videos/tasks/{id}` every 10 to 15 seconds until `status` is `succeeded` (then `output.video_url`) or `failed` (refunded). Or set a webhook URL in the dashboard: we POST `{"event": "task.succeeded" | "task.failed", "data": {...}}` with an `X-SpicyAPI-Signature` header (hex HMAC-SHA256 of the raw body with your signing secret). ## POV fine-tunes `spicy-pov-missionary-1`, `spicy-pov-doggystyle-1` and `spicy-pov-blowjob-1` are our own image-to-video fine-tunes. Give them a first frame already in position; the activation token is injected for you. Same price as `spicy-motion-2`. ## Errors and limits 401 bad key, 402 insufficient balance (top up at https://www.spicyapi.com/dashboard/account), 400 invalid parameters, 422 prompt blocked by moderation (never charged), 429 model at capacity (retry in a few seconds), 502 upstream unavailable (refunded). Shape: `{"error": {"message": "...", "type": "insufficient_balance"}}`. Acceptable use: https://www.spicyapi.com/acceptable-use. ## Sandbox Create a key with Sandbox ticked: every endpoint returns fixture output flagged `sandbox: true` after the same validation and keyword screening, nothing is billed, video tasks report `processing` for a few seconds then `succeeded` with an example clip. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. Full reference as one file: https://www.spicyapi.com/llms-full.txt. --- # API reference ## Core - [List Models](https://www.spicyapi.com/docs/api/list-models.md): `GET /v1/models`, List every model available to your account. - [Get Account](https://www.spicyapi.com/docs/api/get-account.md): `GET /v1/account`, Read your balance and account status. ## Images - [Create Image](https://www.spicyapi.com/docs/api/create-image.md): `POST /v1/images/generations`, Generate one or more images from a text prompt. - [Edit Image](https://www.spicyapi.com/docs/api/edit-image.md): `POST /v1/images/edits`, Edit an image you generated earlier, guided by a prompt. - [List Images](https://www.spicyapi.com/docs/api/list-images.md): `GET /v1/images`, List the images your account has generated. ## Video - [Create Video](https://www.spicyapi.com/docs/api/create-video.md): `POST /v1/videos/generations`, Start a video generation. Returns a task to poll. - [Get Video Task](https://www.spicyapi.com/docs/api/get-video-task.md): `GET /v1/videos/tasks/{id}`, Check a video task and collect the finished clip. ## Chat - [Create Chat Completion](https://www.spicyapi.com/docs/api/chat-completions.md): `POST /v1/chat/completions`, OpenAI-compatible uncensored chat, with streaming. OpenAPI 3.1: https://www.spicyapi.com/openapi.json. Everything in one file: https://www.spicyapi.com/llms-full.txt. --- # Image to video API Turn a still into a short clip with one HTTP call. Image-to-video for adult platforms and companion apps, up to 1080p and 30 seconds, native audio on the newest models, our own POV fine-tunes included. Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. ## Video models | Model | Price | Limits | |---|---|---| | `spicy-pov-missionary-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-doggystyle-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-blowjob-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-motion-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 10 seconds; needs image_url (one of your generated images) | | `spicy-motion-2` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-video-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds | | `spicy-motion-3` | $0.1 per second at 480P, $0.2 per second at 720P, $0.4 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-motion-3-fast` | $0.14 per second at 480P, $0.28 per second at 720P, $0.56 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | ## How it works 1. Generate the first frame with `POST /v1/images/generations` (input images must be your own generated images; no uploads). 2. `POST /v1/videos/generations` with `model`, `prompt`, `image_url`, `resolution` and `duration`. The price (seconds times the per-second rate) is debited up front and shown as `cost_usd`. 3. Poll `GET /v1/videos/tasks/{id}` or receive a webhook. Failed tasks are refunded. ```bash curl https://api.spicyapi.com/v1/videos/generations \ -H "Authorization: Bearer $SPICYAPI_KEY" -H "Content-Type: application/json" \ -d '{"model": "spicy-motion-2", "prompt": "slow build, steady rhythm", "image_url": "", "resolution": "720P", "duration": 5}' # 202 {"id": "sj_...", "status": "queued", "cost_usd": 0.875} then poll every 10 to 15 seconds: curl https://api.spicyapi.com/v1/videos/tasks/sj_... -H "Authorization: Bearer $SPICYAPI_KEY" ``` ## Start Sign in at https://www.spicyapi.com/auth, take the Default key from https://www.spicyapi.com/dashboard/api-keys, top up from $50 at https://www.spicyapi.com/dashboard/account (or try a sandbox key first). Docs: https://www.spicyapi.com/docs. Pricing: https://www.spicyapi.com/pricing. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # Image to video AI API AI-driven motion from a single image: natural body movement, held framing, audio where the model supports it. Same endpoint for every video model, priced per output second. Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. ## Video models | Model | Price | Limits | |---|---|---| | `spicy-pov-missionary-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-doggystyle-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-blowjob-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-motion-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 10 seconds; needs image_url (one of your generated images) | | `spicy-motion-2` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-video-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds | | `spicy-motion-3` | $0.1 per second at 480P, $0.2 per second at 720P, $0.4 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-motion-3-fast` | $0.14 per second at 480P, $0.28 per second at 720P, $0.56 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | Start with `spicy-motion-2` for general scenes, `spicy-motion-3` for 480p to 1080p with dialogue and sound, and the `spicy-pov-*` fine-tunes for locked POV framing. ## Start Sign in at https://www.spicyapi.com/auth, take the Default key from https://www.spicyapi.com/dashboard/api-keys, top up from $50 at https://www.spicyapi.com/dashboard/account (or try a sandbox key first). Docs: https://www.spicyapi.com/docs. Pricing: https://www.spicyapi.com/pricing. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # API for image to video, developer reference A plain REST API for image-to-video: JSON in, task id out, durable CDN URL when done. Predictable errors, webhooks, an OpenAPI document and an MCP server for agents. Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. ## Endpoints - `POST /v1/videos/generations`: start a task (202). - `GET /v1/videos/tasks/{id}`: poll it. - `GET /v1/images`: the images you can animate. - `GET /v1/account`: balance. ## Video models | Model | Price | Limits | |---|---|---| | `spicy-pov-missionary-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-doggystyle-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-blowjob-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-motion-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 10 seconds; needs image_url (one of your generated images) | | `spicy-motion-2` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-video-1` | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds | | `spicy-motion-3` | $0.1 per second at 480P, $0.2 per second at 720P, $0.4 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-motion-3-fast` | $0.14 per second at 480P, $0.28 per second at 720P, $0.56 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | OpenAPI: https://www.spicyapi.com/openapi.json. ## Start Sign in at https://www.spicyapi.com/auth, take the Default key from https://www.spicyapi.com/dashboard/api-keys, top up from $50 at https://www.spicyapi.com/dashboard/account (or try a sandbox key first). Docs: https://www.spicyapi.com/docs. Pricing: https://www.spicyapi.com/pricing. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # Porn AI API Adult content generation for platforms: images, image editing and video behind one key, screened for adults-only content before billing, delivered as durable CDN URLs with webhooks. Use cases: dating and adult social apps, subscription content platforms, AI girlfriend and companion apps. Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. ## Prices Images from $0.06, video from $0.10 per second. | Model | Kind | Price | Limits | |---|---|---|---| | `spicy-pov-missionary-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-doggystyle-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-blowjob-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-image-1` | image | $0.06 per image | sizes 1024*1024, 832*1216, 1216*832; up to 4 outputs per call | | `spicy-image-1-pro` | image | $0.09 per image | sizes 1024*1024, 832*1216, 1216*832; up to 2 outputs per call | | `spicy-image-edit-1` | image-edit | $0.15 per image | sizes 1024*1024, 832*1216, 1216*832; up to 1 output per call; needs image_url (one of your generated images) | | `spicy-motion-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 10 seconds; needs image_url (one of your generated images) | | `spicy-motion-2` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-video-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds | | `spicy-motion-3` | video | $0.1 per second at 480P, $0.2 per second at 720P, $0.4 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-motion-3-fast` | video | $0.14 per second at 480P, $0.28 per second at 720P, $0.56 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-chat-1` | chat | $0.575 per 1M tokens (minimum $0.0005 per request) | | ## Compliance No uploads: every input image is one the account generated. Every prompt is screened for prohibited content (minors, non-consensual, real people without consent) before any charge. Customers must age-verify their end users. Policy: https://www.spicyapi.com/acceptable-use. ## Start Sign in at https://www.spicyapi.com/auth, take the Default key from https://www.spicyapi.com/dashboard/api-keys, top up from $50 at https://www.spicyapi.com/dashboard/account (or try a sandbox key first). Docs: https://www.spicyapi.com/docs. Pricing: https://www.spicyapi.com/pricing. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # Create AI porn API The full toolkit for building an adult content product: text-to-image, image editing with reference images, image-to-video and text-to-video, and an uncensored chat model, all OpenAI-style JSON over HTTPS. Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. ## Models | Model | Kind | Price | Limits | |---|---|---|---| | `spicy-pov-missionary-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-doggystyle-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-pov-blowjob-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-image-1` | image | $0.06 per image | sizes 1024*1024, 832*1216, 1216*832; up to 4 outputs per call | | `spicy-image-1-pro` | image | $0.09 per image | sizes 1024*1024, 832*1216, 1216*832; up to 2 outputs per call | | `spicy-image-edit-1` | image-edit | $0.15 per image | sizes 1024*1024, 832*1216, 1216*832; up to 1 output per call; needs image_url (one of your generated images) | | `spicy-motion-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 10 seconds; needs image_url (one of your generated images) | | `spicy-motion-2` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds; needs image_url (one of your generated images) | | `spicy-video-1` | video | $0.175 per second at 720P, $0.29 per second at 1080P | resolutions 720P, 1080P; 2 to 15 seconds | | `spicy-motion-3` | video | $0.1 per second at 480P, $0.2 per second at 720P, $0.4 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-motion-3-fast` | video | $0.14 per second at 480P, $0.28 per second at 720P, $0.56 per second at 1080P | resolutions 480P, 720P, 1080P; 2 to 30 seconds; image_url optional (text-to-video without it) | | `spicy-chat-1` | chat | $0.575 per 1M tokens (minimum $0.0005 per request) | | ## Integration ```python from openai import OpenAI client = OpenAI(api_key="sk-spicy-...", base_url="https://api.spicyapi.com/v1") # Images: the OpenAI SDK's images.generate maps onto POST /v1/images/generations img = client.images.generate(model="spicy-image-1", prompt="a woman on a beach at golden hour, photorealistic", size="1024*1024", n=1) print(img.data[0].url) # durable CDN URL, reusable as image_url for edits and video # Chat: fully compatible, streaming included stream = client.chat.completions.create(model="spicy-chat-1", messages=[{"role": "user", "content": "hey"}], stream=True) ``` ## Start Sign in at https://www.spicyapi.com/auth, take the Default key from https://www.spicyapi.com/dashboard/api-keys, top up from $50 at https://www.spicyapi.com/dashboard/account (or try a sandbox key first). Docs: https://www.spicyapi.com/docs. Pricing: https://www.spicyapi.com/pricing. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # Generate AI porn pics API Photorealistic adult images from a text prompt in about 10 to 30 seconds, one to four per call, at 1K sizes, with a seed for reproducibility and a negative prompt for control. Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. ## Image models | Model | Price | Limits | |---|---|---| | `spicy-image-1` | $0.06 per image | sizes 1024*1024, 832*1216, 1216*832; up to 4 outputs per call | | `spicy-image-1-pro` | $0.09 per image | sizes 1024*1024, 832*1216, 1216*832; up to 2 outputs per call | | `spicy-image-edit-1` | $0.15 per image | sizes 1024*1024, 832*1216, 1216*832; up to 1 output per call; needs image_url (one of your generated images) | ## Request `POST /v1/images/generations` with `{"model": "spicy-image-1", "prompt": "...", "size": "1024*1024", "n": 1, "seed": 42}`. Response: `data[].url` (durable CDN URLs) and `cost_usd`. ## Start Sign in at https://www.spicyapi.com/auth, take the Default key from https://www.spicyapi.com/dashboard/api-keys, top up from $50 at https://www.spicyapi.com/dashboard/account (or try a sandbox key first). Docs: https://www.spicyapi.com/docs. Pricing: https://www.spicyapi.com/pricing. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # Uncensored image generation API No arbitrary refusals on adult themes: the models are tuned for explicit content and the API does not block nudity or sex between adults. What it does block, before any charge, is the acceptable-use list (minors in any form, real people without consent, non-consensual scenarios, bestiality and the rest). Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. ## Image models | Model | Price | Limits | |---|---|---| | `spicy-image-1` | $0.06 per image | sizes 1024*1024, 832*1216, 1216*832; up to 4 outputs per call | | `spicy-image-1-pro` | $0.09 per image | sizes 1024*1024, 832*1216, 1216*832; up to 2 outputs per call | | `spicy-image-edit-1` | $0.15 per image | sizes 1024*1024, 832*1216, 1216*832; up to 1 output per call; needs image_url (one of your generated images) | ## What "uncensored" means here - Explicit adult content between consenting adults: allowed. - Anything on the prohibited list at https://www.spicyapi.com/acceptable-use: blocked at the prompt, never charged, repeated attempts terminate the account. - Every request is steered to depict adults only. ## Start Sign in at https://www.spicyapi.com/auth, take the Default key from https://www.spicyapi.com/dashboard/api-keys, top up from $50 at https://www.spicyapi.com/dashboard/account (or try a sandbox key first). Docs: https://www.spicyapi.com/docs. Pricing: https://www.spicyapi.com/pricing. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # Cheap realistic uncensored image generation API From $0.06 per realistic uncensored image, pay only for successful generations, no subscription, no minimum beyond the $50 first top-up. `spicy-image-1` is the price and speed pick; `spicy-image-1-pro` for the strongest prompt adherence. Spicy API is one REST API for uncensored image, image-editing, video and chat generation, sold per generation from a prepaid US-dollar balance: no subscription, no GPUs to run. It is OpenAI-compatible (point the OpenAI SDK at https://api.spicyapi.com/v1 with a Spicy API key) and includes our own POV video fine-tunes. Not to be confused with spicyapi.ai, an unrelated model aggregator. ## Image models | Model | Price | Limits | |---|---|---| | `spicy-image-1` | $0.06 per image | sizes 1024*1024, 832*1216, 1216*832; up to 4 outputs per call | | `spicy-image-1-pro` | $0.09 per image | sizes 1024*1024, 832*1216, 1216*832; up to 2 outputs per call | | `spicy-image-edit-1` | $0.15 per image | sizes 1024*1024, 832*1216, 1216*832; up to 1 output per call; needs image_url (one of your generated images) | ## Cost examples - 1,000 images on `spicy-image-1`: $60.00 - 1,000 images on `spicy-image-1-pro`: $90.00 ## Start Sign in at https://www.spicyapi.com/auth, take the Default key from https://www.spicyapi.com/dashboard/api-keys, top up from $50 at https://www.spicyapi.com/dashboard/account (or try a sandbox key first). Docs: https://www.spicyapi.com/docs. Pricing: https://www.spicyapi.com/pricing. ## For AI agents Machine-readable overview: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. MCP endpoint: https://www.spicyapi.com/api/mcp (Claude Code: `claude mcp add --transport http spicyapi https://www.spicyapi.com/api/mcp --header "Authorization: Bearer sk-spicy-..."`). Skills: https://www.spicyapi.com/skills/index.json. A sandbox key answers everything from fixtures with nothing billed. --- # Acceptable Use Policy Last updated: 9 September 2026 | Version: 2026.09.09 ## ⚠️ ZERO TOLERANCE POLICY Violations of this Acceptable Use Policy will result in immediate account termination, permanent ban, and potential reporting to law enforcement authorities. We maintain comprehensive logs and will cooperate fully with legal investigations. ## 1. Scope and Application This Acceptable Use Policy ("AUP") forms an integral part of the SpicyAPI Terms of Service and applies to all users of our Services. By using SpicyAPI, you agree to comply with this AUP in its entirety. This policy may be updated at any time, and continued use after updates constitutes acceptance of the revised terms. The Services do not accept uploaded images or video. Every image is generated from a text prompt, and video or edits can only be made from images the Services generated under your account. This policy therefore governs the prompts you and your end users submit and all content generated from them. A prohibition on a type of content applies equally to describing, requesting, or attempting to obtain it through a prompt. ## 2. Absolutely Prohibited Content The following content is strictly prohibited and will result in immediate termination: ### 2.1 Minor-Related Content (ZERO TOLERANCE) - Any content depicting, suggesting, or appearing to depict individuals under 18 years of age in ANY context - "Young-looking" content - any content that could reasonably be perceived as depicting minors, regardless of stated age - Youth-coded content including but not limited to: school uniforms in sexual contexts, "teen" references, ageplay, infantilization, or childlike characteristics - Content involving fictional minors, animated minors, or age-regressed characters - Any attempt to circumvent these restrictions through euphemisms, coded language, or technical workarounds ### 2.2 Non-Consensual Content - Deepfakes or synthetic media of real individuals without documented, verifiable written consent - Non-consensual intimate imagery ("revenge porn") - Content depicting or promoting sexual violence, rape, or assault - Voyeuristic content or hidden camera scenarios - Content created for harassment, intimidation, or blackmail ### 2.3 Illegal and Harmful Content - Bestiality, zoophilia, or any sexual content involving animals - Necrophilia or content depicting deceased individuals - Incest or content promoting familial sexual relationships - Content promoting human trafficking, sexual slavery, or exploitation - Content facilitating or promoting illegal activities - Extreme violence, gore, mutilation, or torture in sexual contexts ### 2.4 Intellectual Property Violations - Copyrighted characters or content without authorization - Trademarked brands or logos in sexual contexts - Celebrity likenesses without explicit written consent - Content that infringes on publicity or privacy rights ## 3. Real Person Likeness Policy **3.1 Consent Requirements:** Any generation of content depicting or intended to depict real individuals requires: - Written, verifiable consent from the depicted individual - Proof of identity of the consenting party - Clear scope of permitted use in the consent document - Consent must be dated within the last 12 months **3.2 Verification:** We reserve the right to request proof of consent at any time. Failure to provide satisfactory proof within 24 hours will result in immediate account suspension. **3.3 Public Figures:** Public figure status does not waive consent requirements. All real person depictions require explicit consent. ## 4. Age Verification Requirements **4.1 Customer Obligations:** You MUST implement and maintain robust age verification systems that: - Verify all end-users are 18+ before accessing any generated content - Comply with jurisdiction-specific requirements (UK Online Safety Act, US state laws, EU regulations) - Use industry-standard age verification methods appropriate to your market - Maintain audit logs of age verification processes **4.2 Audit Rights:** We reserve the right to audit your age verification implementation and request proof of compliance. Non-compliance will result in immediate service termination. **4.3 Liability:** You are solely responsible for any failure to properly age-gate content, including all resulting legal consequences, fines, and damages. ## 5. Geographic and Sanctions Compliance **5.1 Prohibited Jurisdictions:** Services may not be used in or from countries subject to UK, US (OFAC), or EU sanctions, including but not limited to: North Korea, Iran, Syria, Cuba, and Crimea region. **5.2 Restricted Parties:** Services may not be used by individuals or entities on sanctions lists including SDN, UK HMT Consolidated List, or EU Consolidated List. **5.3 Export Controls:** You agree not to use the Services for any export-controlled applications or military end uses. **5.4 Geo-Blocking:** We reserve the right to implement geographic restrictions or blocking at our discretion to ensure compliance with local laws. ## 6. Content Moderation and Safety Requirements **6.1 Customer Moderation Obligations:** You must: - Implement pre-generation prompt filtering for prohibited content - Deploy post-generation content review before distribution - Maintain a content moderation team or automated systems - Provide clear content reporting mechanisms for end-users - Respond to abuse reports within 24 hours **6.2 Transparency:** Clearly disclose to end-users that content is AI-generated and not real. **6.3 Watermarking:** You must maintain any AI-generation watermarks or metadata we include and may not attempt to remove them. ## 7. Monitoring and Enforcement **7.1 Automated Monitoring:** We employ automated systems to scan prompts and outputs for policy violations. This includes keyword detection, image analysis, and pattern recognition. **7.2 Manual Review:** Suspicious activity may be flagged for manual review by our Trust & Safety team. **7.3 No Obligation to Monitor:** While we maintain monitoring capabilities, we are not obligated to monitor all content and do not assume liability for user-generated content. **7.4 Logging:** We maintain comprehensive logs of all API usage for a minimum of 6 years for legal compliance and investigation purposes. ## 8. Enforcement Actions Violations will result in one or more of the following actions: - **Warning:** First minor violation may result in a warning (except zero-tolerance violations) - **Temporary Suspension:** 24-hour to 7-day suspension for moderate violations - **Permanent Ban:** Immediate termination for severe or repeated violations - **Legal Action:** Referral to law enforcement for illegal content - **Financial Penalties:** Forfeiture of account balance and potential damages claims **Appeals:** Enforcement decisions may be appealed within 14 days by contacting contact@spicyapi.com with supporting evidence. Zero-tolerance violations are not eligible for appeal. ## 9. Reporting Violations **9.1 Abuse Reports:** Report violations to [contact@spicyapi.com](mailto:contact@spicyapi.com) **9.2 DMCA/Copyright:** Submit copyright claims to [contact@spicyapi.com](mailto:contact@spicyapi.com) **9.3 Law Enforcement:** Legal requests should be sent to [contact@spicyapi.com](mailto:contact@spicyapi.com) **9.4 Response Time:** We aim to acknowledge reports within 24 hours and take action within 48 hours for valid violations. ## 10. Cooperation with Authorities We cooperate fully with law enforcement agencies and will provide information as required by law or court order. We proactively report suspected CSAM and other serious crimes to appropriate authorities including NCMEC (US) and NCA (UK). ## 11. Modifications to This Policy We reserve the right to modify this AUP at any time. Changes will be effective immediately upon posting. Continued use of the Services after changes constitutes acceptance. For material changes, we will attempt to provide notice via email or dashboard notification. FINAL WARNING: This policy is strictly enforced. We maintain zero tolerance for violations involving minors, non-consensual content, or illegal activities. Your use of SpicyAPI constitutes acceptance of these terms and acknowledgment of the severe consequences for violations. When in doubt, don't generate it. Canonical page: https://www.spicyapi.com/acceptable-use --- # Terms of Service Last updated: 9 September 2026 | Version: 2026.09.09 ## ⚠️ ADULT CONTENT WARNING This service is intended exclusively for users 18 years of age or older. By using SpicyAPI, you confirm that you are at least 18 years old and legally permitted to access adult content in your jurisdiction. ## 1. Acceptance of Terms These Terms of Service ("Terms") constitute a legally binding agreement between you ("User", "Customer", "You") and SpicyAPI.com ("Company", "We", "Us", "SpicyAPI"). By accessing, using, creating an account, or integrating with our API services ("Services"), you acknowledge that you have read, understood, and agree to be bound by these Terms, our [Privacy Policy](/privacy-policy), [Acceptable Use Policy](/acceptable-use), [Data Protection Addendum](/data-protection), [DMCA Policy](/dmca), and all applicable laws and regulations. If you do not agree with these Terms, you must not use our Services. ## 2. Service Description SpicyAPI provides artificial intelligence-powered application programming interfaces (APIs) for generating adult content, including but not limited to images, videos, and other multimedia content of an explicit sexual nature ("Adult Content"). Our services are designed exclusively for integration into adult platforms, applications, and websites that serve users who are 18 years of age or older. **2.1 No Uploads:** The Services do not accept uploaded images, video, or other media from you or your end users. All images are generated by the Services from text prompts. Image-to-video and image-edit features operate only on images that were previously generated by the Services under your account; any other image reference is rejected. Your obligations under these Terms and the Acceptable Use Policy apply in full to the prompts you submit and to everything the Services generate from them. ## 3. User Eligibility and Age Verification **3.1 Age Requirement:** You must be at least 18 years of age (or the age of majority in your jurisdiction) to use our services. By using SpicyAPI, you represent and warrant that you meet this age requirement. **3.2 Legal Capacity:** You represent that you have the legal capacity to enter into this agreement and that your use of our services will not violate any applicable laws or regulations in your jurisdiction. **3.3 Business Use:** Our services are intended for business and commercial use by developers, platforms, and applications serving adult content to verified adult users. ## 4. User Accounts and Security **4.1 Account Creation:** To access our Services, you must create an account and provide accurate, current, and complete information. You are responsible for maintaining the accuracy of your account information. **4.2 API Key Security:** You are responsible for safeguarding your API key and any other credentials used to access the Services. You must not share your credentials with any third party. You are fully responsible for all activities that occur under your account, whether or not authorized by you. **4.3 Unauthorized Use:** You must notify us immediately of any unauthorized use of your account or any other breach of security. We will not be liable for any loss or damage arising from your failure to comply with this section. ## 5. Fees, Payment, and Refunds **5.1 Payment:** You agree to pay all fees associated with your use of the Services as described on our Pricing page. We reserve the right to change our prices at any time, but will provide you with reasonable notice. **5.2 Billing:** Services may be billed on a subscription or pay-as-you-go basis. You must provide a valid payment method. By providing a payment method, you authorize us to charge you for the Services. **5.3 No Refunds:** All payments are non-refundable, except as required by law or as otherwise stated on our Pricing page. **5.4 Taxes:** You are responsible for paying all applicable taxes, duties, and governmental assessments associated with your purchases. **5.5 Output Storage and Delivery (Fair Use):** Generated outputs are stored by us and remain available to your account at no additional charge. Output URLs are provided for retrieval and for reuse as generation inputs, not as a hosting or content-delivery service for your end users. You agree to download outputs and serve them to your own users from your own infrastructure. We reserve the right to rate-limit, throttle, or charge for sustained high-volume delivery (for example, embedding our output URLs directly in consumer-facing applications), with reasonable notice where practicable. We may remove specific stored outputs where required by law or by our Acceptable Use Policy; removed outputs can no longer be used as generation inputs. ## 6. User Responsibility and Liability BY USING SPICYAPI, YOU ACKNOWLEDGE AND AGREE THAT: **6.1 Sole Responsibility:** You are SOLELY and EXCLUSIVELY responsible for all content generated using your API key, including its creation, distribution, moderation, and compliance with applicable laws. **6.2 Content Moderation:** You are SOLELY responsible for implementing robust content moderation systems, age verification mechanisms, and safety measures when serving generated content to end users. **6.3 Legal Compliance:** You are SOLELY responsible for ensuring that all generated content and its distribution complies with all applicable local, state, national, and international laws, including but not limited to those concerning deepfakes, synthetic media, child protection, non-consensual intimate imagery, revenge porn, bestiality, privacy, and intellectual property. ## 7. Prohibited Content and Acceptable Use IMPORTANT: Detailed prohibited content and use restrictions are specified in our [Acceptable Use Policy](/acceptable-use), which forms an integral part of these Terms. Key prohibitions include but are not limited to: - Any content depicting, suggesting, or appearing to depict minors or "young-looking" individuals - Real person depictions without documented written consent - Non-consensual content, deepfakes, or revenge porn - Bestiality, incest, necrophilia, or extreme violence - Copyright or trademark infringement Violations result in immediate termination, permanent ban, and potential law enforcement referral. We employ automated monitoring and maintain comprehensive logs for legal compliance. ## 8. Geographic Restrictions and Sanctions **8.1 Prohibited Jurisdictions:** You may not use our Services from countries subject to UK, US (OFAC), or EU sanctions, including North Korea, Iran, Syria, Cuba, and Crimea. **8.2 Restricted Parties:** You represent that you are not on any sanctions list including SDN, UK HMT Consolidated List, or EU Consolidated List. **8.3 Export Controls:** You agree not to use the Services for export-controlled applications or military end uses. **8.4 Geo-Blocking:** We reserve the right to implement geographic restrictions to ensure compliance with local laws. ## 9. Monitoring Rights **9.1 Automated Scanning:** We may employ automated systems to scan prompts and outputs for policy violations, safety enforcement, and legal compliance. **9.2 No Duty to Monitor:** We are not obligated to monitor all content and do not assume liability for user-generated content. **9.3 Logging:** We maintain comprehensive logs for a minimum of 6 years for legal compliance and investigation purposes. ## 10. Intellectual Property **10.1 Our IP:** We and our licensors own all right, title, and interest in and to the Services, including all related technology, software, and documentation. These Terms do not grant you any rights to our trademarks or other intellectual property. **10.2 Your Content:**You retain any ownership rights you have in the text prompts and parameters you submit to the Services ("Input"). Because the Services do not accept uploads, Input never includes images or other media of your own; previously generated Output reused as a generation reference remains Output. **10.3 Generated Content:**Subject to your compliance with these Terms, we grant you a worldwide, perpetual, non-exclusive, royalty-free license to use, reproduce, display, and distribute the Adult Content you generate using the Services ("Output") for any legal purpose. You acknowledge that due to the nature of AI, the Output may not be unique and other users may generate similar or identical content. **10.4 Our Right to Use Content:** You grant us a worldwide, non-exclusive, royalty-free license to use your Input and Output to provide, maintain, and improve the Services, and to comply with applicable law. This license survives termination. **10.5 Copyright Status:** You acknowledge that AI-generated content may not be eligible for copyright protection in all jurisdictions and you are responsible for assessing its legal status. **10.6 DMCA Compliance:** We respect intellectual property rights. Copyright infringement claims should be submitted according to our [DMCA Policy](/dmca). We maintain a repeat infringer policy. ## 11. Limitation of Liability and Indemnification **11.1 Limitation of Liability:** TO THE MAXIMUM EXTENT PERMITTED BY LAW, SPICYAPI, ITS AFFILIATES, AND PERSONNEL SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, OR ANY LOSS OF PROFITS OR REVENUES, WHETHER INCURRED DIRECTLY OR INDIRECTLY, ARISING FROM OR RELATED TO YOUR USE OF OUR SERVICES OR ANY CONTENT GENERATED THROUGH OUR API. **11.2 Indemnification:**You agree to indemnify, defend, and hold harmless SpicyAPI and its officers, directors, employees, and agents from and against any and all claims, damages, losses, liabilities, costs, and expenses (including reasonable attorneys' fees) arising from or related to: (a) your use of the Services; (b) your violation of these Terms or any applicable policies; (c) your violation of any applicable laws or regulations; (d) any content you generate, distribute, or display; (e) any claims by third parties related to your content including privacy, publicity, intellectual property, or defamation claims; (f) regulatory fines or assessments resulting from your use. **11.3 Maximum Liability:** In no event shall our aggregate liability for all claims relating to the Services exceed the greater of (a) the amount paid by you for the Services in the 12 months preceding the claim or (b) one hundred British Pounds (£100). This limitation does not apply to liability for willful misconduct or gross negligence where such limitations are prohibited by law. ## 12. Disclaimer of Warranties THE SERVICES ARE PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. WE DO NOT WARRANT THAT THE SERVICES WILL BE UNINTERRUPTED, SECURE, OR ERROR-FREE, OR THAT THE GENERATED CONTENT WILL BE ACCURATE, COMPLETE, OR RELIABLE. ## 13. Data and Privacy We process data in accordance with our [Privacy Policy](/privacy-policy) and [Data Protection Addendum](/data-protection). You act as the data controller for all personal data submitted through the Services and are responsible for obtaining all necessary consents and complying with applicable data protection laws. ## 14. Service Modifications and Updates to Terms **14.1 Service Changes:** We reserve the right to modify, suspend, or discontinue our Services at any time, with or without notice. **14.2 Term Updates:** We may update these Terms from time to time by posting the revised version on our website. Material changes will require re-acceptance. Your continued use of the Services after the effective date of revised Terms constitutes acceptance of the changes. ## 15. Termination **15.1 Termination by You:** You may terminate this agreement at any time by closing your account and ceasing to use the Services. **15.2 Termination by Us:** We may immediately suspend or terminate your access to the Services for any reason, including violation of these Terms, the Acceptable Use Policy, applicable laws, or if we reasonably believe your use poses a safety, legal, or reputational risk. **15.3 Effect of Termination:** Upon termination, your right to use our Services ceases immediately. Account balances are non-refundable. Provisions that by their nature should survive termination shall survive, including ownership provisions, warranty disclaimers, indemnity, and limitations of liability. ## 16. Governing Law and Dispute Resolution **16.1 Governing Law:** These Terms shall be governed by and construed in accordance with the laws of England and Wales, without regard to its conflict of law principles. **16.2 Jurisdiction:** Any legal action or proceeding arising under these Terms will be brought exclusively in the courts of England and Wales, and the parties irrevocably consent to the personal jurisdiction and venue therein. **16.3 Informal Resolution:** We encourage you to contact us at [contact@spicyapi.com](mailto:contact@spicyapi.com) to resolve any dispute before resorting to formal legal action. ## 17. General Provisions **17.1 Severability:** If any provision of these Terms is found to be unenforceable or invalid, that provision will be limited or eliminated to the minimum extent necessary so that the Terms will otherwise remain in full force and effect. **17.2 Entire Agreement:** These Terms, together with our Privacy Policy, Acceptable Use Policy, Data Protection Addendum, and DMCA Policy, constitute the entire and exclusive understanding and agreement between you and us regarding your use of the Services. **17.3 No Waiver:** Our failure to enforce any right or provision of these Terms will not be considered a waiver of such right or provision. **17.4 Assignment:** You may not assign or transfer these Terms, by operation of law or otherwise, without our prior written consent. We may freely assign or transfer these Terms without restriction. ## 18. Contact Information **Service:** SpicyAPI.com **General Inquiries:** [contact@spicyapi.com](mailto:contact@spicyapi.com) **Legal:** [contact@spicyapi.com](mailto:contact@spicyapi.com) **Abuse Reports:** [contact@spicyapi.com](mailto:contact@spicyapi.com) **DMCA:** [contact@spicyapi.com](mailto:contact@spicyapi.com) IMPORTANT LEGAL NOTICE: By using SpicyAPI, you acknowledge that you have read, understood, and agree to be bound by these Terms of Service. You further acknowledge that you are solely responsible for all content generated using our services and its compliance with applicable laws. SpicyAPI disclaims all liability for user-generated content and its distribution. Canonical page: https://www.spicyapi.com/terms-of-service --- # Privacy Policy Last updated: 27 June 2025 ## 🔒 Privacy Commitment SpicyAPI.com ("SpicyAPI", "we", "us", "our") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our API services (the "Services"). ## 1. Data Controller The data controller responsible for your personal information is: **Service:** SpicyAPI.com **Contact Email:** [contact@spicyapi.com](mailto:contact@spicyapi.com) ## 2. Information We Collect ### 2.1 Information You Provide to Us - **Account Information:** When you register for an account, we collect your email address and account credentials (such as a hashed password). - **Payment Information:** We use third-party payment processors (e.g., Stripe). We do not store your full credit card details, but we may receive transaction identifiers and summary information. - **Communications:** If you contact us directly, we may receive additional information such as your name, the contents of your message, and any other information you may choose to provide. ### 2.2 Information We Collect Automatically - **Usage Data:** We collect information about your use of the Services, such as API requests, the endpoints you access, IP addresses, timestamps, and API usage statistics. - **Device and Technical Information:** We may collect information about the device and software you use to access our Services, including browser type and version. - **Cookies:** We use essential cookies for authentication, security, and basic site functionality. We do not use tracking or advertising cookies. ### 2.3 Content Data - **API Inputs:** We process the text prompts and parameters you submit through the API ("Input") to generate the requested content. The Services do not accept uploaded images or other media. - **Generated Content:** We temporarily store the generated images or videos ("Output") to deliver them to you. ## 3. How We Use Your Information We use the information we collect for the following purposes: - **To Provide and Maintain the Services:** To operate our API, process your requests, manage your account, and process payments. - **To Improve and Analyze the Services:** To understand usage patterns, diagnose technical issues, and improve the performance and safety of our API. We may use Input and Output for these purposes. - **To Communicate with You:** To send you service-related announcements, technical notices, security alerts, and support messages. - **For Security and Fraud Prevention:** To monitor for malicious or prohibited activity and to enforce our Terms of Service. - **To Comply with Legal Obligations:** To comply with applicable laws, regulations, and legal processes, such as responding to lawful requests from public authorities. ## 4. Legal Basis for Processing (for EEA/UK Users) If you are in the European Economic Area (EEA) or the UK, our legal basis for collecting and using the personal information described above will depend on the personal information concerned and the specific context in which we collect it. We process your data based on: - **Contractual Necessity:** To fulfill our contract with you to provide the Services. - **Legitimate Interests:** For our legitimate interests, such as improving the Service, security, and fraud prevention, provided these are not overridden by your data protection interests. - **Legal Obligation:** To comply with our legal duties. - **Consent:** Where we specifically ask for your consent for a processing activity. ## 5. Data Sharing and Disclosure We do not sell your personal information. We may share your information with the following third parties: - **Service Providers:** We use third-party vendors for hosting, payment processing (e.g., Stripe), and analytics. These providers only have access to the information necessary to perform their functions and are obligated to protect it. - **Legal Requirements:** We may disclose your information if required by law, subpoena, or other legal process, or if we have a good faith belief that disclosure is necessary to protect our rights, your safety, or the safety of others. - **Business Transfers:** In the event of a merger, acquisition, or sale of all or a portion of our assets, your information may be transferred as part of that transaction. ## 6. Data Retention and Deletion **6.1 Account Data:** We retain your account information for as long as your account is active and for a reasonable period thereafter for legal or business purposes. **6.2 Content Data:** API Inputs and Outputs are retained for a maximum of 30 days for service delivery, troubleshooting, and to monitor for abuse, after which they are automatically deleted from our systems. We do not use this data to train our AI models. **6.3 Log Data:** Technical logs are retained for up to 12 months for security analysis and service improvement. **6.4 Deletion:** You can request the deletion of your account and associated personal data by contacting us. Please note that we may need to retain certain information for legal or legitimate business purposes, such as transaction records. ## 7. Data Security We implement industry-standard technical and organizational measures to protect your information. This includes using encryption for data in transit (TLS) and at rest, access controls, and regular security reviews. However, no method of transmission or storage is 100% secure, and we cannot guarantee absolute security. ## 8. International Data Transfers Your information may be transferred to, and processed in, countries other than the country in which you are resident. These countries may have data protection laws that are different from the laws of your country. We ensure that for any transfers of data to countries outside the UK/EEA, we put in place appropriate safeguards, such as Standard Contractual Clauses, to protect your data. ## 9. Your Data Protection Rights Depending on your location, you may have the following rights regarding your personal information: - The right to **access**, **update**, or **delete** the information we have on you. - The right of **rectification**. - The right to **object** to our processing. - The right of **restriction**. - The right to **data portability**. - The right to **withdraw consent** at any time. To exercise these rights, please contact us at [contact@spicyapi.com](mailto:contact@spicyapi.com). We will respond to your request in accordance with applicable law. ## 10. Age Restrictions Our Services are intended exclusively for users who are 18 years of age or older. We do not knowingly collect personal information from individuals under 18. If we become aware that we have collected such information, we will take steps to delete it promptly. ## 11. Supervisory Authority If you have concerns about our data practices, we encourage you to contact us first. However, you have the right to lodge a complaint with a data protection supervisory authority. For UK residents, the relevant authority is the Information Commissioner's Office (ICO). ## 12. Changes to This Privacy Policy We may update this Privacy Policy from time to time. We will notify you of any material changes by posting the new policy on this page and updating the "Last updated" date. We encourage you to review this Privacy Policy periodically. ## 13. Contact Us If you have any questions about this Privacy Policy, please contact us at: [contact@spicyapi.com](mailto:contact@spicyapi.com) Canonical page: https://www.spicyapi.com/privacy-policy --- # DMCA and intellectual property policy How to report generated content that infringes copyright, trademark or a person's likeness, and what happens next. A valid notice identifies the work and the infringing material, gives contact details, a good-faith statement and a signature, and goes to contact@spicyapi.com (copyright notices only). Counter-notifications may restore material within 10 to 14 business days unless the complainant files a court action within 10. Repeat infringers: warning, then a 7-day suspension, then permanent termination; egregious cases are terminated at once. Trademark and trade dress, publicity rights (celebrity status does not waive them; every real-person depiction needs consent under the acceptable use policy), fair use factors, technical prevention (scanning for copyrighted character names, blocking of trademarked terms, logo and brand detection, a database of reported content), liability for false claims under DMCA 512(f), six-year retention of notices, and compliance with EU, UK and WIPO frameworks. Full text: https://www.spicyapi.com/dmca --- # Data Protection Addendum The GDPR and UK GDPR processing terms between Spicy API (processor) and the customer (controller): purposes of processing (content generation from prompts, request processing, security monitoring, legal compliance), customer obligations (lawful basis, consents, privacy notices, data subject requests), sub-processors (storage, CDN, payments, email), international transfers under the UK IDTA and EU SCCs, retention (account data for the account's life plus 30 days), security measures and breach notification. Full text: https://www.spicyapi.com/data-protection --- # Affiliate program terms Terms for the Spicy API referral program. Eligibility: 18 or over, an account in good standing, legally allowed to promote adult-content services where you promote. Commissions are a share of purchases by customers you refer, recurring; a visitor is attributed to you when they sign up within 90 days of clicking your link (first-touch). Prohibited: self-referral, spam, bidding on the brand in paid search or impersonating it, cookie stuffing, forced clicks, iframes, typosquatting, unauthorized rebates or incentives, false or unlawful claims, promotion to minors or in venues that violate the acceptable use policy. Payouts monthly in USD above a minimum balance to PayPal or bank; commissions on refunded, charged-back or fraudulent transactions are clawed back. Independent contractor status, termination at any time, as-is disclaimer, changes by posting, governing law as in the Terms of Service. Full text: https://www.spicyapi.com/affiliate-terms --- # List Models `GET /v1/models` List every model available to your account. Returns the live catalogue: ids, pricing, limits, and, for our own fine-tunes, the trigger word the gateway injects for you. Base URL: `https://api.spicyapi.com` ## Authorizations - `Authorization` (string, header, required): Bearer authentication header of the form `Bearer `, where `` is your SpicyAPI key (`sk-spicy-…`). Create one in the dashboard under API Keys. ## Request ```bash curl --request GET \ --url https://api.spicyapi.com/v1/models \ --header 'Authorization: Bearer $SPICYAPI_KEY' ``` ## Response: 200 application/json Successful Response The models your key can call. - `data` (Model · object[], required): Every model available to you. - `id` (string, required): The model id you pass as `model`. - `kind` (string, required): One of `image`, `image-edit`, `video`, `chat`. - `label` (string, required): Human-readable name. - `description` (string, required): What the model is good for. - `featured` (boolean, required): True for our own fine-tunes. - `requires_image` (boolean, required): True when the model needs an `image_url` input. - `accepts_image` (boolean, required): True when `image_url` is allowed. False on pure text-to-video models, which reject one. - `pricing` (object, required): Unit and USD rate. Video models price per second, by resolution. - `lora_trigger` (string | null, optional): Trigger word for a fine-tune. Injected automatically, you do not need to include it. - `limits` (object, optional): Sizes, resolutions, max duration, max outputs. - `examples` (string[], optional): Example output URLs for this model. ```json { "data": [ { "id": "spicy-pov-missionary-1", "kind": "video", "label": "Spicy POV Missionary", "featured": true, "requires_image": true, "accepts_image": true, "pricing": { "unit": "second", "usd_by_resolution": { "720P": 0.175, "1080P": 0.29 } }, "lora_trigger": "sg_povmis1", "limits": { "resolutions": ["720P", "1080P"], "maxDuration": 15 } } ] } ``` --- # Get Account `GET /v1/account` Read your balance and account status. Base URL: `https://api.spicyapi.com` ## Authorizations - `Authorization` (string, header, required): Bearer authentication header of the form `Bearer `, where `` is your SpicyAPI key (`sk-spicy-…`). Create one in the dashboard under API Keys. ## Request ```bash curl --request GET \ --url https://api.spicyapi.com/v1/account \ --header 'Authorization: Bearer $SPICYAPI_KEY' ``` ## Response: 200 application/json Successful Response - `email` (string, required): The account this key belongs to. - `balance_usd` (number, required): Remaining balance in US dollars. ```json { "email": "you@example.com", "balance_usd": 42.75 } ``` --- # Create Image `POST /v1/images/generations` Generate one or more images from a text prompt. Billed per output image. Prompts are screened before anything is charged, and every request is steered to depict adults only. Base URL: `https://api.spicyapi.com` ## Authorizations - `Authorization` (string, header, required): Bearer authentication header of the form `Bearer `, where `` is your SpicyAPI key (`sk-spicy-…`). Create one in the dashboard under API Keys. ## Body (application/json) Outputs are persisted to our CDN and returned as durable URLs. Those URLs are the only images accepted as inputs to `/v1/images/edits` and `/v1/videos/generations`. - `model` (string, required): A model id from `GET /v1/models`, e.g. `spicy-image-1`. - `prompt` (string, required): What to generate. - `negative_prompt` (string, optional): What to avoid. Our own safety terms are always appended. - `size` (string, optional): `width*height`, e.g. `1024*1024`. Defaults to the model's first supported size. - `n` (integer, optional): How many images to return. Clamped to the model's maximum. Defaults to 1. - `seed` (integer, optional): Reuse a seed to reproduce a result. Random when omitted. ## Request ```bash curl --request POST \ --url https://api.spicyapi.com/v1/images/generations \ --header 'Authorization: Bearer $SPICYAPI_KEY' \ --header 'Content-Type: application/json' \ --data '{ "model": "spicy-image-1", "prompt": "a woman on a beach at golden hour, photorealistic", "size": "1024*1024", "n": 1 }' ``` ## Response: 200 application/json Successful Response - `id` (string, required): Request id, useful for support. - `object` (string, required): Always `image.generation`. - `model` (string, required): The model that produced the images. - `created` (integer, required): Unix timestamp. - `data` (Image · object[], required): One entry per generated image. - `url` (string, required): Durable CDN URL. Reusable as an input to edits and video. - `cost_usd` (number, required): What this request cost, in US dollars, already debited from your balance. ```json { "id": "req_8f2a91c4", "object": "image.generation", "model": "spicy-image-1", "created": 1755950400, "data": [ { "url": "https://cdn.spicyapi.com/outputs/a1b2/req_8f2a91c4-0.png" } ], "cost_usd": 0.06 } ``` --- # Edit Image `POST /v1/images/edits` Edit an image you generated earlier, guided by a prompt. Every `image_url` must be an image your own account generated. Uploads and external URLs are rejected before you are charged. Base URL: `https://api.spicyapi.com` ## Authorizations - `Authorization` (string, header, required): Bearer authentication header of the form `Bearer `, where `` is your SpicyAPI key (`sk-spicy-…`). Create one in the dashboard under API Keys. ## Body (application/json) - `model` (string, required): An image-edit model id, e.g. `spicy-image-edit-1`. - `prompt` (string, required): The change to make. - `image_url` (string, optional): A single source image. Use this or `image_urls`. - `image_urls` (string[], optional): Up to 3 source images, all owned by your account. - `negative_prompt` (string, optional): What to avoid. - `size` (string, optional): Output size as `width*height`. - `seed` (integer, optional): Reproducibility seed. ## Request ```bash curl --request POST \ --url https://api.spicyapi.com/v1/images/edits \ --header 'Authorization: Bearer $SPICYAPI_KEY' \ --header 'Content-Type: application/json' \ --data '{ "model": "spicy-image-edit-1", "prompt": "change the background to a hotel suite", "image_url": "https://cdn.spicyapi.com/outputs/a1b2/req_8f2a91c4-0.png" }' ``` ## Response: 200 application/json Successful Response - `id` (string, required): Request id. - `object` (string, required): Always `image.edit`. - `data` (Image · object[], required): The edited image. - `url` (string, required): Durable CDN URL. - `cost_usd` (number, required): What this request cost, in US dollars, already debited from your balance. ```json { "id": "req_31c7de05", "object": "image.edit", "data": [ { "url": "https://cdn.spicyapi.com/outputs/a1b2/req_31c7de05-0.png" } ], "cost_usd": 0.15 } ``` --- # List Images `GET /v1/images` List the images your account has generated. These are exactly the URLs accepted as inputs elsewhere in the API. Use this to look up what you can edit or animate. Base URL: `https://api.spicyapi.com` ## Authorizations - `Authorization` (string, header, required): Bearer authentication header of the form `Bearer `, where `` is your SpicyAPI key (`sk-spicy-…`). Create one in the dashboard under API Keys. ## Query parameters - `limit` (integer, optional): How many to return, newest first. Defaults to 50. ## Request ```bash curl --request GET \ --url 'https://api.spicyapi.com/v1/images?limit=50' \ --header 'Authorization: Bearer $SPICYAPI_KEY' ``` ## Response: 200 application/json Successful Response - `data` (Asset · object[], required): Your generated images, newest first. - `url` (string, required): Durable CDN URL. - `source` (string, required): `image` or `image-edit`. - `created_at` (string | null, optional): ISO 8601 timestamp. ```json { "data": [ { "url": "https://cdn.spicyapi.com/outputs/a1b2/req_8f2a91c4-0.png", "source": "image", "created_at": "2026-08-23T10:14:02.000Z" } ] } ``` --- # Create Video `POST /v1/videos/generations` Start a video generation. Returns a task to poll. Video is asynchronous: this call returns immediately with a task id, and you poll `GET /v1/videos/tasks/{id}` until it succeeds or fails. Image-to-video models need an `image_url` your account generated. Failed generations are refunded automatically. Base URL: `https://api.spicyapi.com` ## Authorizations - `Authorization` (string, header, required): Bearer authentication header of the form `Bearer `, where `` is your SpicyAPI key (`sk-spicy-…`). Create one in the dashboard under API Keys. ## Body (application/json) - `model` (string, required): A video model id, e.g. `spicy-pov-missionary-1`. - `prompt` (string, required): What should happen in the clip. - `image_url` (string, optional): First frame; must be one of your generated images. Required where `requires_image` is true. Optional on `spicy-motion-3` and `spicy-motion-3-fast`, which generate from text alone when it is omitted. - `resolution` (string, optional): One of the model's `limits.resolutions` from `GET /v1/models`: `720P` or `1080P` on the wan2.x models, `480P`, `720P` or `1080P` on `spicy-motion-3` and `spicy-motion-3-fast`. Defaults to `720P`. - `duration` (integer, optional): Seconds, between the model's `minDuration` and `maxDuration` (2 to 15 on the wan2.x models, 2 to 30 on `spicy-motion-3` and `spicy-motion-3-fast`). Defaults to 5. - `negative_prompt` (string, optional): What to avoid. - `audio` (boolean, optional): Generate audio where the model supports it. - `seed` (integer, optional): Reproducibility seed. ## Request ```bash curl --request POST \ --url https://api.spicyapi.com/v1/videos/generations \ --header 'Authorization: Bearer $SPICYAPI_KEY' \ --header 'Content-Type: application/json' \ --data '{ "model": "spicy-pov-missionary-1", "prompt": "slow build, steady rhythm", "image_url": "https://cdn.spicyapi.com/outputs/a1b2/req_8f2a91c4-0.png", "resolution": "720P", "duration": 5 }' ``` ## Response: 200 application/json Successful Response A task you can poll. - `id` (string, required): Task id. Pass it to `GET /v1/videos/tasks/{id}`. - `object` (string, required): Always `task`. - `type` (string, required): Always `video`. - `model` (string, required): The model generating the clip. - `status` (string, required): `queued`, `processing`, `finalizing`, `succeeded`, or `failed`. - `output` (object | null, optional): Null until the task succeeds. - `video_url` (string, required): Durable CDN URL of the finished clip. - `error` (string | null, optional): Why the task failed, when it did. - `cost_usd` (number, required): What this request cost, in US dollars, already debited from your balance. ```json { "id": "task_5d9e2f10", "object": "task", "type": "video", "model": "spicy-pov-missionary-1", "status": "queued", "output": null, "error": null, "cost_usd": 0.875 } ``` --- # Get Video Task `GET /v1/videos/tasks/{id}` Check a video task and collect the finished clip. Poll every 10 to 15 seconds. When `status` is `succeeded`, `output.video_url` holds a durable CDN URL. Base URL: `https://api.spicyapi.com` ## Authorizations - `Authorization` (string, header, required): Bearer authentication header of the form `Bearer `, where `` is your SpicyAPI key (`sk-spicy-…`). Create one in the dashboard under API Keys. ## Request ```bash curl --request GET \ --url https://api.spicyapi.com/v1/videos/tasks/task_5d9e2f10 \ --header 'Authorization: Bearer $SPICYAPI_KEY' ``` ## Response: 200 application/json Successful Response - `id` (string, required): The task id. - `status` (string, required): `queued`, `processing`, `finalizing`, `succeeded`, or `failed`. - `output` (object | null, optional): Present once finished. - `video_url` (string, required): Durable CDN URL of the clip. - `error` (string | null, optional): Failure reason, if any. Failed tasks are refunded. - `cost_usd` (number, required): What this request cost, in US dollars, already debited from your balance. ```json { "id": "task_5d9e2f10", "object": "task", "type": "video", "model": "spicy-pov-missionary-1", "status": "succeeded", "output": { "video_url": "https://cdn.spicyapi.com/outputs/a1b2/task_5d9e2f10.mp4" }, "error": null, "cost_usd": 0.875 } ``` --- # Create Chat Completion `POST /v1/chat/completions` OpenAI-compatible uncensored chat, with streaming. Drop-in compatible with the OpenAI SDK: point `baseURL` at `https://api.spicyapi.com/v1` and pass your SpicyAPI key. Billed on total tokens. Base URL: `https://api.spicyapi.com` ## Authorizations - `Authorization` (string, header, required): Bearer authentication header of the form `Bearer `, where `` is your SpicyAPI key (`sk-spicy-…`). Create one in the dashboard under API Keys. ## Body (application/json) - `model` (string, required): A chat model id, e.g. `spicy-chat-1`. - `messages` (Message · object[], required): The conversation so far. - `role` (string, required): `system`, `user`, or `assistant`. - `content` (string, required): Message text. - `temperature` (number, optional): Sampling temperature, 0 to 2. - `max_tokens` (integer, optional): Cap on generated tokens. - `stream` (boolean, optional): Stream back server-sent events. Usage arrives in the final chunk. ## Request ```bash curl --request POST \ --url https://api.spicyapi.com/v1/chat/completions \ --header 'Authorization: Bearer $SPICYAPI_KEY' \ --header 'Content-Type: application/json' \ --data '{ "model": "spicy-chat-1", "messages": [ { "role": "user", "content": "Hey, how was your day?" } ], "temperature": 0.9 }' ``` ## Response: 200 application/json Successful Response - `id` (string, required): Completion id. - `choices` (Choice · object[], required): Generated replies. - `index` (integer, required): Position in the list. - `message` (object, required): The reply. - `role` (string, required): Always `assistant`. - `content` (string, required): Reply text. - `finish_reason` (string, optional): Why generation stopped. - `usage` (object, optional): Token counts. - `prompt_tokens` (integer, required): Tokens in the request. - `completion_tokens` (integer, required): Tokens generated. - `total_tokens` (integer, required): Sum, what you are billed on. - `cost_usd` (number, required): What this request cost, in US dollars, already debited from your balance. ```json { "id": "chatcmpl_7b3f", "object": "chat.completion", "model": "spicy-chat-1", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 12, "completion_tokens": 84, "total_tokens": 96 }, "cost_usd": 0.000055 } ```