Início rápido
Da chave de API às tarefas assíncronas, webhooks e downloads.
A SpicyAPI oferece tarefas assíncronas para imagens e vídeos, além de geração de texto via /v1/chat/completions com resposta completa ou streaming. Siga estas três etapas para gerar o primeiro resultado.
GET /api/v1/models?includeSchema=1&includeExamples=1
# choose an item where enabled && available
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: render-001" \
-d '{
"model": "MODEL_ID_FROM_CATALOG",
"input": { "prompt": "a folded paper lantern, hard side light" }
}'Enviar e aguardar com o SDK
client.run(payload, options) reúne o envio da tarefa e a espera pelo resultado em uma única chamada de função. Internamente, ainda são feitas várias requisições HTTP. O intervalo padrão de consulta aumenta de cerca de 2 segundos até o limite de 10 segundos. Em produção, prefira webhooks e use diretamente as output.assets[].url que estiverem prontas.
1. Crie uma chave de API
Crie a chave no console e armazene-a no servidor como SPICY_API_KEY. Não inclua a chave em navegadores, aplicativos móveis nem repositórios públicos.
2. Crie uma tarefa
Envie model e input para POST /api/v1/jobs/createTask. O data.taskId retornado será usado para consultar o estado, tentar novamente e baixar. Uma tarefa aceita não pode ser cancelada.
3. Receba o resultado
Em produção, use webhooks como canal principal e GET /api/v1/jobs/recordInfo como polling de recuperação. A geração só teve êxito quando data.state for succeeded.
Baixe o resultado diretamente por output.assets[].url, sem enviar a chave de API. expiresAt costuma ser 20 minutos depois e nunca ultrapassa os 14 dias de retenção. Consulte novamente para renovar o link; download-url é opcional.
Consulte o contrato OpenAPI 3.1 para ver a definição completa dos campos.

