spicyapiDocumentation
Contenu principal

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.

API
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.

Documentation associée