Spicy API
Geração de imagens sem censura, imagem-para-vídeo e chat para aplicativos adultos (18+). API REST compatível com OpenAI, além de 15 ferramentas MCP: preços de modelos, estimativas de custo, geração com aprovação por gasto, trabalhos, uso, links de recarga e um limite mensal de gastos. Os prompts são verificados antes da cobrança e chaves de sandbox não geram cobrança.
Servidor MCP hospedado
npx add-mcp 'https://www.spicyapi.com/api/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Documentação da Spicy API
A Spicy API é uma API REST para geração sem censura de imagens, edição de imagens, vídeos e chat, vendida por geração a partir de um saldo pré-pago em dólares americanos: sem assinatura, sem necessidade de GPUs. É compatível com OpenAI (aponte o SDK da OpenAI para https://api.spicyapi.com/v1 com uma chave da Spicy API) e inclui nossos próprios fine-tunes de vídeo em POV. Não confundir com spicyapi.ai, um agregador de modelos sem relação.
URL base https://api.spicyapi.com. Autentique com Authorization: Bearer sk-spicy-... (chaves de https://www.spicyapi.com/dashboard/api-keys, mostradas uma única vez, armazenadas com hash). Verifique seu saldo com GET /v1/account.
Início 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 | Preço | Limites |
|---|---|---|---|
spicy-pov-missionary-1 | vídeo | $0,175 por segundo em 720P, $0,29 por segundo em 1080P | resoluções 720P, 1080P; 2 a 15 segundos; requer image_url (uma das suas imagens geradas) |
spicy-pov-doggystyle-1 | vídeo | $0,175 por segundo em 720P, $0,29 por segundo em 1080P | resoluções 720P, 1080P; 2 a 15 segundos; requer image_url (uma das suas imagens geradas) |
spicy-pov-blowjob-1 | vídeo | $0,175 por segundo em 720P, $0,29 por segundo em 1080P | resoluções 720P, 1080P; 2 a 15 segundos; requer image_url (uma das suas imagens geradas) |
spicy-image-1 | imagem | $0,06 por imagem | tamanhos 10241024, 8321216, 1216*832; até 4 saídas por chamada |
spicy-image-1-pro | imagem | $0,09 por imagem | tamanhos 10241024, 8321216, 1216*832; até 2 saídas por chamada |
spicy-image-edit-1 | edição de imagem | $0,15 por imagem | tamanhos 10241024, 8321216, 1216*832; até 1 saída por chamada; requer image_url (uma das suas imagens geradas) |
spicy-motion-1 | vídeo | $0,175 por segundo em 720P, $0,29 por segundo em 1080P | resoluções 720P, 1080P; 2 a 10 segundos; requer image_url (uma das suas imagens geradas) |
spicy-motion-2 | vídeo | $0,175 por segundo em 720P, $0,29 por segundo em 1080P | resoluções 720P, 1080P; 2 a 15 segundos; requer image_url (uma das suas imagens geradas) |
spicy-video-1 | vídeo | $0,175 por segundo em 720P, $0,29 por segundo em 1080P | resoluções 720P, 1080P; 2 a 15 segundos |
spicy-motion-3 | vídeo | $0,1 por segundo em 480P, $0,2 por segundo em 720P, $0,4 por segundo em 1080P | resoluções 480P, 720P, 1080P; 2 a 30 segundos; image_url opcional (texto para vídeo sem ele) |
spicy-motion-3-fast | vídeo | $0,14 por segundo em 480P, $0,28 por segundo em 720P, $0,56 por segundo em 1080P | resoluções 480P, 720P, 1080P; 2 a 30 segundos; image_url opcional (texto para vídeo sem ele) |
spicy-chat-1 | chat | $0,575 por 1M de tokens (mínimo $0,0005 por requisição) |
Endpoints
Principais
GET /v1/models: Lista todos os modelos disponíveis para sua conta. Referência: https://www.spicyapi.com/docs/api/list-models.mdGET /v1/account: Consulta seu saldo e status da conta. Referência: https://www.spicyapi.com/docs/api/get-account.md
Imagens
POST /v1/images/generations: Gera uma ou mais imagens a partir de um prompt de texto. Referência: https://www.spicyapi.com/docs/api/create-image.mdPOST /v1/images/edits: Edita uma imagem que você gerou anteriormente, guiado por um prompt. Referência: https://www.spicyapi.com/docs/api/edit-image.mdGET /v1/images: Lista as imagens que sua conta gerou. Referência: https://www.spicyapi.com/docs/api/list-images.md
Moderação
POST /v1/moderations: Executa um prompt ou conversa pelo mesmo filtro usado nos endpoints de geração, sem gerar nada. Referência: https://www.spicyapi.com/docs/api/moderations.md
Vídeo
POST /v1/videos/generations: Inicia uma geração de vídeo. Retorna uma tarefa para consultar. Referência: https://www.spicyapi.com/docs/api/create-video.mdGET /v1/videos/tasks/{id}: Verifica uma tarefa de vídeo e coleta o clipe finalizado. Referência: https://www.spicyapi.com/docs/api/get-video-task.md
Chat
POST /v1/chat/completions: Chat sem censura compatível com OpenAI, com streaming. Referência: https://www.spicyapi.com/docs/api/chat-completions.md
Imagens de entrada: sem uploads, por design
Edição de imagem e imagem para vídeo aceitam apenas URLs retornadas por /v1/images/generations ou /v1/images/edits na mesma conta (GET /v1/images as lista). Uploads e URLs de terceiros são rejeitados antes de qualquer cobrança. Isso mantém imagens de pessoas reais e menores fora do pipeline e é um requisito de conformidade legal, não uma limitação que planejamos remover.
Vídeo é assíncrono
POST /v1/videos/generations retorna 202 com um id de tarefa e o preço já debitado. Consulte GET /v1/videos/tasks/{id} a cada 10 a 15 segundos até que status seja succeeded (então output.video_url) ou failed (reembolsado). Ou defina uma URL de webhook no painel: enviamos um POST {"event": "task.succeeded" | "task.failed", "data": {...}} com um cabeçalho X-SpicyAPI-Signature (HMAC-SHA256 hex do corpo bruto com seu segredo de assinatura).
Fine-tunes POV
spicy-pov-missionary-1, spicy-pov-doggystyle-1 e spicy-pov-blowjob-1 são nossos fine-tunes de imagem para vídeo. Dê a eles um primeiro quadro já na posição; o token de ativação é injetado para você. Mesmo preço do spicy-motion-2.
Erros e limites
401 chave inválida, 402 saldo insuficiente (recarregue em https://www.spicyapi.com/dashboard/account), 400 parâmetros inválidos, 422 prompt bloqueado pela moderação (nunca cobrado), 429 modelo na capacidade máxima (tente novamente em alguns segundos), 502 upstream indisponível (reembolsado). Formato: {"error": {"message": "...", "type": "insufficient_balance"}}. Uso aceitável: https://www.spicyapi.com/acceptable-use.
Sandbox
Crie uma chave com a opção Sandbox marcada: todo endpoint retorna saída de exemplo marcada com sandbox: true após a mesma validação e triagem de palavras-chave, nada é cobrado, tarefas de vídeo relatam processing por alguns segundos e depois succeeded com um clipe de exemplo.
Para agentes de IA
Visão geral legível 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-..."; clientes OAuth precisam apenas da URL; guia: https://www.spicyapi.com/docs/mcp). Habilidades: https://www.spicyapi.com/skills/index.json. Uma chave sandbox responde tudo a partir de exemplos sem cobrar nada.
Referência completa em um único arquivo: https://www.spicyapi.com/llms-full.txt.