Spicy API
Generación de imágenes sin censura, de imagen a video y chat para aplicaciones para adultos (18+). API REST compatible con OpenAI más 15 herramientas MCP: precios de modelos, estimaciones de costos, generación con aprobación por gasto, trabajos, uso, enlaces de recarga y un límite de gasto mensual. Las indicaciones se revisan antes de facturar y las claves de sandbox no generan cargos.
Servidor MCP alojado
npx add-mcp 'https://www.spicyapi.com/api/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Documentación de Spicy API
Spicy API es una API REST para generación sin censura de imágenes, edición de imágenes, video y chat, vendida por generación desde un saldo prepagado en dólares estadounidenses: sin suscripción, sin GPUs que ejecutar. Es compatible con OpenAI (apunta el SDK de OpenAI a https://api.spicyapi.com/v1 con una clave de Spicy API) e incluye nuestros propios fine-tunes de video POV. No confundir con spicyapi.ai, un agregador de modelos no relacionado.
URL base https://api.spicyapi.com. Autentícate con Authorization: Bearer sk-spicy-... (las claves de https://www.spicyapi.com/dashboard/api-keys, se muestran una vez, se almacenan con hash). Consulta tu saldo con GET /v1/account.
Inicio rápido
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)
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": "<a URL from /v1/images/generations>", "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"
Modelos
| Modelo | Tipo | Precio | Límites |
|---|---|---|---|
spicy-pov-missionary-1 | video | $0.175 por segundo a 720P, $0.29 por segundo a 1080P | resoluciones 720P, 1080P; 2 a 15 segundos; requiere image_url (una de tus imágenes generadas) |
spicy-pov-doggystyle-1 | video | $0.175 por segundo a 720P, $0.29 por segundo a 1080P | resoluciones 720P, 1080P; 2 a 15 segundos; requiere image_url (una de tus imágenes generadas) |
spicy-pov-blowjob-1 | video | $0.175 por segundo a 720P, $0.29 por segundo a 1080P | resoluciones 720P, 1080P; 2 a 15 segundos; requiere image_url (una de tus imágenes generadas) |
spicy-image-1 | imagen | $0.06 por imagen | tamaños 10241024, 8321216, 1216*832; hasta 4 salidas por llamada |
spicy-image-1-pro | imagen | $0.09 por imagen | tamaños 10241024, 8321216, 1216*832; hasta 2 salidas por llamada |
spicy-image-edit-1 | edición de imagen | $0.15 por imagen | tamaños 10241024, 8321216, 1216*832; hasta 1 salida por llamada; requiere image_url (una de tus imágenes generadas) |
spicy-motion-1 | video | $0.175 por segundo a 720P, $0.29 por segundo a 1080P | resoluciones 720P, 1080P; 2 a 10 segundos; requiere image_url (una de tus imágenes generadas) |
spicy-motion-2 | video | $0.175 por segundo a 720P, $0.29 por segundo a 1080P | resoluciones 720P, 1080P; 2 a 15 segundos; requiere image_url (una de tus imágenes generadas) |
spicy-video-1 | video | $0.175 por segundo a 720P, $0.29 por segundo a 1080P | resoluciones 720P, 1080P; 2 a 15 segundos |
spicy-motion-3 | video | $0.1 por segundo a 480P, $0.2 por segundo a 720P, $0.4 por segundo a 1080P | resoluciones 480P, 720P, 1080P; 2 a 30 segundos; image_url opcional (texto a video sin ella) |
spicy-motion-3-fast | video | $0.14 por segundo a 480P, $0.28 por segundo a 720P, $0.56 por segundo a 1080P | resoluciones 480P, 720P, 1080P; 2 a 30 segundos; image_url opcional (texto a video sin ella) |
spicy-chat-1 | chat | $0.575 por 1M de tokens (mínimo $0.0005 por solicitud) |
Endpoints
Núcleo
GET /v1/models: Lista todos los modelos disponibles para tu cuenta. Referencia: https://www.spicyapi.com/docs/api/list-models.mdGET /v1/account: Lee tu saldo y estado de cuenta. Referencia: https://www.spicyapi.com/docs/api/get-account.md
Imágenes
POST /v1/images/generations: Genera una o más imágenes a partir de un prompt de texto. Referencia: https://www.spicyapi.com/docs/api/create-image.mdPOST /v1/images/edits: Edita una imagen que generaste antes, guiado por un prompt. Referencia: https://www.spicyapi.com/docs/api/edit-image.mdGET /v1/images: Lista las imágenes que tu cuenta ha generado. Referencia: https://www.spicyapi.com/docs/api/list-images.md
Moderación
POST /v1/moderations: Ejecuta un prompt o conversación a través del mismo filtro que usan los endpoints de generación, sin generar. Referencia: https://www.spicyapi.com/docs/api/moderations.md
Video
POST /v1/videos/generations: Inicia una generación de video. Devuelve una tarea para consultar. Referencia: https://www.spicyapi.com/docs/api/create-video.mdGET /v1/videos/tasks/{id}: Verifica una tarea de video y recoge el clip terminado. Referencia: https://www.spicyapi.com/docs/api/get-video-task.md
Chat
POST /v1/chat/completions: Chat sin censura compatible con OpenAI, con streaming. Referencia: https://www.spicyapi.com/docs/api/chat-completions.md
Imágenes de entrada: sin subidas, por diseño
La edición de imágenes y la conversión de imagen a video solo aceptan URLs devueltas por /v1/images/generations o /v1/images/edits en la misma cuenta (GET /v1/images las lista). Las subidas y URLs de terceros se rechazan antes de cualquier cargo. Esto mantiene imágenes de personas reales y menores fuera del pipeline y es un requisito de cumplimiento legal, no una limitación que planeemos eliminar.
El video es asíncrono
POST /v1/videos/generations devuelve 202 con un id de tarea y el precio ya debitado. Consulta GET /v1/videos/tasks/{id} cada 10 a 15 segundos hasta que status sea succeeded (entonces output.video_url) o failed (reembolsado). O configura una URL de webhook en el panel: enviamos un POST a {"event": "task.succeeded" | "task.failed", "data": {...}} con un encabezado X-SpicyAPI-Signature (HMAC-SHA256 hexadecimal del cuerpo crudo con tu secreto de firma).
Fine-tunes POV
spicy-pov-missionary-1, spicy-pov-doggystyle-1 y spicy-pov-blowjob-1 son nuestros propios fine-tunes de imagen a video. Dales un primer fotograma ya en posición; el token de activación se inyecta por ti. Mismo precio que spicy-motion-2.
Errores y límites
401 clave incorrecta, 402 saldo insuficiente (recarga en https://www.spicyapi.com/dashboard/account), 400 parámetros inválidos, 422 prompt bloqueado por moderación (nunca se cobra), 429 modelo a capacidad (reintenta en unos segundos), 502 upstream no disponible (reembolsado). Forma: {"error": {"message": "...", "type": "insufficient_balance"}}. Uso aceptable: https://www.spicyapi.com/acceptable-use.
Sandbox
Crea una clave con Sandbox marcado: cada endpoint devuelve salida de fixture marcada con sandbox: true después de la misma validación y filtrado de palabras clave, nada se cobra, las tareas de video reportan processing por unos segundos y luego succeeded con un clip de ejemplo.
Para agentes de IA
Resumen legible por máquina: https://www.spicyapi.com/llms.txt. OpenAPI: https://www.spicyapi.com/openapi.json. Endpoint MCP: 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-..."; los clientes OAuth solo necesitan la URL; guía: https://www.spicyapi.com/docs/mcp). Habilidades: https://www.spicyapi.com/skills/index.json. Una clave de sandbox responde todo desde fixtures sin cobrar nada.
Referencia completa en un archivo: https://www.spicyapi.com/llms-full.txt.