Démarrage rapide
De la clé API aux tâches asynchrones, webhooks et téléchargements.
SpicyAPI propose des tâches asynchrones pour les images et vidéos, ainsi que la génération de texte via /v1/chat/completions avec réponse complète ou streaming. Trois étapes suffisent pour lancer une première génération.
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" }
}'Envoyer et attendre avec le SDK
client.run(payload, options) regroupe l’envoi de la tâche et l’attente du résultat dans un seul appel de fonction. Plusieurs requêtes HTTP restent nécessaires en interne. L’intervalle de polling par défaut augmente d’environ 2 secondes jusqu’à 10 secondes. En production, privilégiez les webhooks et utilisez directement les output.assets[].url prêts.
1. Créer une clé API
Créez la clé dans la console et conservez-la côté serveur dans SPICY_API_KEY. Ne l’intégrez jamais à un navigateur, une application mobile ou un dépôt public.
2. Créer une tâche
Envoyez model et input à POST /api/v1/jobs/createTask. Le data.taskId renvoyé sert ensuite à consulter l’état, relancer et télécharger. Une tâche acceptée ne peut pas être annulée.
3. Récupérer le résultat
En production, privilégiez les webhooks et gardez GET /api/v1/jobs/recordInfo comme mécanisme de rattrapage. La génération n’a réussi que si data.state vaut succeeded.
Téléchargez directement output.assets[].url, sans clé API. expiresAt est généralement fixé à 20 minutes, sans dépasser les 14 jours de conservation. Une nouvelle interrogation renouvelle le lien ; download-url reste facultatif.
Consultez le contrat OpenAPI 3.1 pour la définition complète des champs.

