Glossaire
Tous les termes de cette documentation, de la clé API au webhook, expliqués avec des mots simples, avec leur sens dans SpicyAPI et la page où en lire davantage.
Comme le produit est une API, cette documentation emploie des mots techniques. Cette page explique chacun d’eux en langage courant, par ordre alphabétique. Chaque entrée comporte trois parties : ce que le mot veut dire en général, ce qu’il veut dire dans SpicyAPI, et la page qui donne tous les détails.
Les autres pages renvoient directement vers ces entrées : si un mot vous arrête ailleurs, vous le trouverez très probablement ici. Pour une vue d’ensemble, commencez par Comment fonctionne SpicyAPI.
Agent Skill
Un dossier d’instructions écrites qu’un assistant de code IA lit avant de travailler sur une tâche, un peu comme le manuel de procédures qu’on remet à un nouveau collègue. Il ne contient aucun programme et ne fait rien par lui-même.
Dans SpicyAPI : le Skill officiel, publié sous le nom @spicyapi/skill, apprend à des assistants comme Claude Code, Codex ou Cursor à utiliser SpicyAPI correctement : lire le catalogue en direct au lieu de deviner, vous montrer le prix avant tout travail payant, réutiliser les clés d’idempotence et ne jamais coller votre clé API dans le code. Installez-le avec npx skills add spicyapi-ai/spicy-skill. Il se combine bien avec le serveur MCP.
Voir : Agent Skill
API
Abréviation de l’anglais application programming interface (interface de programmation d’application) : un ensemble fixe de requêtes qu’un programme peut envoyer à un autre, et les réponses qu’il reçoit en retour. Un site web est conçu pour que des personnes cliquent ; une API est conçue pour que des programmes l’appellent.
Dans SpicyAPI : l’API est le passage par lequel tous les outils accèdent aux modèles. Le Playground, la CLI, le serveur MCP et le SDK envoient tous à api.spicyapi.ai le même type de requêtes que votre propre code peut envoyer.
Voir : OpenAPI et liste des points de terminaison
Callback
Autre nom d’un webhook. Dans SpicyAPI, l’adresse se transmet dans le champ callBackUrl lors de la création d’une tâche.
Catalogue
La liste des modèles proposés, avec leurs prix et les entrées que chacun accepte.
Dans SpicyAPI : cette liste existe en deux versions.
- Le catalogue public ne demande ni compte ni clé. C’est ce qu’affiche spicyapi.ai/explore et ce que renvoie
GET /console/v1/catalog/models. Servez-vous-en pour parcourir et comparer. - Le catalogue authentifié,
GET /api/v1/modelsappelé avec votre clé API, est la seule source fiable des modèles que votre clé peut appeler à cet instant, aux prix de votre compte. Avant tout travail payant, choisissez une entrée dontenabledetavailablevalent tous deuxtrue.
La commande CLI spicyapi models list, la méthode SDK listModels() et l’outil MCP spicyapi_models_list lisent tous le catalogue authentifié.
Voir : Modèles et points de terminaison
Clé API
Une chaîne secrète qui prouve qu’une requête vient bien de vous. Traitez-la comme un mot de passe réservé aux programmes.
Dans SpicyAPI : les clés commencent par sk-spicy- et se créent sur la page Clés API de la console. Une clé n’est affichée qu’une seule fois ; si vous la perdez, créez-en une nouvelle. Chaque requête transmet la clé dans l’en-tête Authorization: Bearer. Gardez vos clés sur votre propre ordinateur ou serveur, jamais dans une page web, une application mobile, un dépôt public, une capture d’écran ou une discussion. Chaque clé peut avoir ses propres plafonds de dépense, une liste de modèles autorisés et une liste d’adresses IP autorisées.
Voir : Authentification · Préparer votre compte
Clé d’idempotence
Une étiquette que vous inventez pour une opération donnée, afin qu’envoyer deux fois la même requête n’effectue le travail qu’une seule fois. « Idempotent » qualifie une action qui, refaite, ne produit aucun effet supplémentaire.
Dans SpicyAPI : envoyez-la dans l’en-tête Idempotency-Key quand vous créez ou relancez une tâche, par exemple order-8814-render-1. Si votre connexion coupe et que vous ne savez pas si la tâche a démarré, renvoyez la même requête avec la même clé d’idempotence et la même clé API dans les 24 heures : vous récupérez la tâche d’origine et vous n’êtes pas facturé deux fois. Utilisez une nouvelle clé pour chaque nouvelle opération. Réutiliser une clé avec une requête différente est refusé avec 409. Une clé peut compter jusqu’à 128 caractères.
Voir : Idempotence
CLI
Abréviation de l’anglais command-line interface (interface en ligne de commande) : un programme que l’on utilise en tapant des commandes dans un terminal plutôt qu’en cliquant sur des boutons.
Dans SpicyAPI : la commande spicyapi, publiée sous le nom @spicyapi/cli, permet de lister les modèles, de vérifier les prix, de créer des tâches d’image et de vidéo, d’attendre qu’elles se terminent et de télécharger les résultats, sans écrire de code. Seules tasks create et tasks retry coûtent de l’argent, et toutes deux vous demandent d’abord votre accord. Elle nécessite Node.js 22.13 ou plus récent ; vous pouvez la lancer avec npx @spicyapi/cli sans l’installer.
Voir : Outil en ligne de commande (CLI)
Code d’erreur
Une valeur courte et fixe qui indique à un programme ce qui n’a pas fonctionné, pour qu’il puisse réagir sans lire le texte du message.
Dans SpicyAPI : il en existe deux sortes.
code, dans l’enveloppe, décrit la requête elle-même.200signifie succès ; parmi les autres valeurs figurent400(requête invalide),401(problème de clé),40201(solde insuffisant),40202(un plafond de dépense est atteint) et429(trop de requêtes). C’est un code métier, plus précis que le statut HTTP envoyé avec lui.errorCodeapparaît sur une tâche qui a été acceptée puis a échoué. Il prend l’une de ces neuf valeurs :invalid_request,unsupported_combination,content_rejected,rate_limited,upstream_unavailable,generation_failed,timeout,invalid_assetouupstream_failed.
Les messages correspondants, msg et errorMessage, s’adressent à des personnes : leur formulation peut changer, et ils peuvent être renvoyés dans la langue de votre choix. Un programme ne doit fonder ses décisions que sur les codes.
Voir : Erreurs
Compatible OpenAI
Se dit d’un service qui accepte les requêtes au même format que l’API d’OpenAI : un logiciel écrit pour OpenAI fonctionne alors en changeant seulement l’adresse et la clé.
Dans SpicyAPI : les modèles de texte peuvent être appelés via POST /v1/chat/completions et POST /v1/responses au format OpenAI, via POST /v1/messages au format Anthropic et via /v1beta/models/… au format Google Gemini, toujours avec la même clé API. Pointez la bibliothèque officielle openai vers https://api.spicyapi.ai/v1. N’importe quel modèle de texte fonctionne avec n’importe lequel de ces formats. Ces points de terminaison facturent le prix en vigueur au moment où la requête est acceptée et ne prennent pas de devis : fixez donc des plafonds de dépense sur la clé.
Voir : Texte et streaming
Conservation
La durée pendant laquelle des données stockées sont gardées avant d’être supprimées.
Dans SpicyAPI :
| Quoi | Durée de conservation |
|---|---|
| Lien de téléchargement d’un résultat | Environ 20 minutes ; redemandez-en un nouveau |
| Images et vidéos générées | Environ 14 jours au maximum |
| Fichiers que vous téléversez comme entrées | 1 jour |
| Texte des prompts et autre contenu des tâches | 30 jours |
| L’enregistrement de la tâche (identifiant, modèle, état, montant, horodatages) | Conservé, sans aucun contenu |
Vous pouvez raccourcir la durée de conservation des fichiers générés, des téléversements et du texte des prompts sur la page Protection des données de la console, ou pour une seule tâche avec l’en-tête X-Spicy-Retention, et détruire du contenu à tout moment grâce à la destruction à la demande. Aucun réglage ne permet d’allonger une durée.
Voir : Conservation et destruction
Destruction à la demande (purge)
Supprimer définitivement, quand vous le demandez, du contenu stocké, au lieu d’attendre qu’il expire.
Dans SpicyAPI : POST /api/v1/jobs/purge (ou Détruire les résultats dans le Journal de la console, spicyapi tasks purge, purgeTask()) supprime les fichiers générés d’une tâche terminée, son résultat et le texte du prompt contenu dans son entrée. L’enregistrement de facturation reste : montant, modèle, état, horodatages et request_id. Détruire n’est pas annuler, cela ne rembourse rien et c’est irréversible. Seules les tâches terminées peuvent être détruites.
Voir : Conservation et destruction
Devis
Un prix calculé à l’avance pour une requête précise.
Dans SpicyAPI : POST /api/v1/jobs/quote prend le même corps que celui que vous soumettriez et renvoie estimatedCost, maxCharge et expiresAt, sans créer de tâche ni mettre d’argent de côté. Il est gratuit et valable cinq minutes. Si vous soumettez avec le quoteId et l’expectedCost renvoyés alors que la requête ou le prix a changé, la soumission est refusée avec 40901 au lieu d’être facturée à un autre montant. La CLI et le serveur MCP demandent automatiquement un devis avant de créer une tâche.
Voir : Devis et compatibilité des protocoles
Enveloppe
Un emballage extérieur fixe dans lequel chaque réponse est placée, pour qu’un programme sache toujours où chercher.
Dans SpicyAPI : les réponses de l’API native (sous /api/v1) ont cette forme :
{ "code": 200, "msg": "success", "data": {}, "request_id": "req_01k3m8x9q2z4v7n5p6r8s0t1w2" }code est un code métier (200 signifie succès), msg est un message lisible par un humain, data contient la réponse et disparaît complètement en cas d’échec, et request_id identifie cette requête. Les points de terminaison compatibles OpenAI, Anthropic et Gemini utilisent à la place les formes propres à leurs protocoles.
Voir : Erreurs
Espace de travail et équipe
Un espace partagé dans lequel plusieurs personnes utilisent les mêmes clés, tâches et budgets sous un même compte.
Dans SpicyAPI : un espace de travail d’équipe réunit des membres dotés de rôles : owner, admin, developer, billing et readonly. Tous les membres voient les résumés des tâches et la consommation ; owner, admin et developer voient en plus les entrées et les résultats des tâches. Le compte du propriétaire paie les nouvelles tâches de l’équipe, et les membres ne voient jamais le solde ni les paiements personnels du propriétaire. Les équipes peuvent fixer des budgets quotidiens et mensuels.
Voir : Console et équipes
État d’une tâche
L’étape où se trouve une tâche au cours de sa vie.
Dans SpicyAPI :
| État | Signification | Facturé ? |
|---|---|---|
queued | Acceptée, en attente de démarrage | Montant réservé, pas encore facturé |
running | Le modèle travaille | Montant réservé, pas encore facturé |
succeeded | Terminée avec un résultat | Facturée selon l’usage réel, jamais plus que la réservation |
failed | Terminée sans résultat ; errorCode indique pourquoi | Les tâches échouées ou expirées libèrent normalement toute la réservation. Certains refus de contenu sont facturés au devis accepté, uniquement si la page du modèle indique explicitement cette exception. Consultez settled et cost pour connaître le montant final. |
expired | A dépassé son échéance sans se terminer | Non, réservation entièrement libérée |
Les enregistrements plus anciens peuvent aussi afficher canceled, un état que les nouvelles tâches n’atteignent jamais. Considérez tout état autre que queued ou running comme un état final.
Voir : Tâches asynchrones
État final
Un état définitif : une fois qu’une tâche l’a atteint, il ne change plus jamais.
Dans SpicyAPI : tout état de tâche autre que queued ou running est final : succeeded, failed, expired et, sur les anciens enregistrements, canceled. Dans votre code, testez « ni queued ni running » plutôt que d’énumérer les états finaux : ainsi, votre code continuera de fonctionner si un nouvel état apparaît. Les webhooks ne sont envoyés que lorsqu’une tâche atteint un état final. Seules les tâches terminées peuvent être détruites, et les tâches failed ou expired peuvent être relancées.
Voir : Tâches asynchrones
Fichier produit et URL de résultat
Un fichier produit (en anglais asset) est un fichier généré par une tâche, comme une image ou une vidéo. Son URL de résultat est l’adresse web depuis laquelle vous le téléchargez.
Dans SpicyAPI : une tâche terminée liste ses fichiers dans output.assets[]. Chacun possède une url que vous pouvez télécharger directement, sans votre clé API, ainsi que expiresAt, mime (le type de fichier) et des informations de taille. Le lien dure environ 20 minutes ; redemandez la tâche pour en obtenir un nouveau. Le fichier lui-même est conservé au plus environ 14 jours : enregistrez une copie de tout ce dont vous avez besoin. Un fichier marqué pending: true est encore en cours de stockage (réessayez dans quelques secondes) ; un fichier marqué unavailable: true a définitivement disparu.
Voir : Tâches asynchrones · Médias
Identifiant de modèle
Le nom exact que vous envoyez pour choisir un modèle.
Dans SpicyAPI : les identifiants ont la forme publisher/model/task : qui a créé le modèle, quel modèle et quelle version, et ce que fait le point de terminaison. Les points de terminaison d’édition d’image se terminent par edit. Copiez toujours l’identifiant depuis le catalogue en direct (GET /api/v1/models, spicyapi models list ou listModels()), jamais de mémoire ni depuis une page web, car des modèles sont ajoutés, mis en pause et retirés. Dans les exemples de cette documentation, MODEL_ID_FROM_CATALOG marque l’emplacement d’un vrai identifiant ; envoyer ce texte tel quel échoue.
Voir : Modèles et points de terminaison
JSON
Un format texte pour les données structurées, fait de noms et de valeurs entre accolades. Presque toutes les API l’utilisent, car tous les langages de programmation savent le lire.
Dans SpicyAPI : les requêtes et les réponses sont en JSON. Une requête de tâche minimale ressemble à ceci :
{ "model": "MODEL_ID_FROM_CATALOG", "input": { "prompt": "A paper lantern on a rainy street at night" } }MODEL_ID_FROM_CATALOG tient la place d’un vrai identifiant de modèle pris dans le catalogue en direct. Les montants sont toujours transmis sous forme de texte, comme "0.008", pour qu’aucun montant ne soit jamais arrondi par accident.
Voir : Démarrage rapide
Limite de débit
Un plafond sur le nombre de requêtes que vous pouvez envoyer pendant une période donnée, pour qu’un programme qui s’emballe ne puisse pas surcharger un service.
Dans SpicyAPI : par défaut, l’API native autorise 1 000 requêtes par tranche de 10 secondes, par compte, pour les lectures, et autant pour les écritures, chaque quota étant partagé entre toutes les clés du compte. Le polling compte comme une lecture : une boucle de polling intensive ne peut donc pas bloquer l’envoi de vos tâches. Au-delà, vous recevez 429 avec un en-tête Retry-After qui indique combien de secondes attendre. La limite compte les requêtes, pas les tâches : les tâches déjà en cours ne la consomment pas.
Voir : Limites de débit
MCP
Abréviation de Model Context Protocol : un standard ouvert qui permet aux assistants IA de charger des capacités supplémentaires, appelées outils, depuis de petits programmes appelés serveurs MCP.
Dans SpicyAPI : le serveur officiel, @spicyapi/mcp, s’exécute sur votre propre ordinateur et donne à des assistants comme Claude, Cursor, VS Code ou Codex 15 outils SpicyAPI : parcourir les modèles, obtenir des devis, créer des tâches, téléverser des fichiers et récupérer les résultats. Lancer, relancer ou détruire une tâche marque un arrêt et vous demande de confirmer, en affichant le prix quand il y en a un ; l’assistant ne peut pas répondre à votre place. Le serveur nécessite Node.js 22.13 ou plus récent.
Voir : Serveur MCP
Modalité
Le type de média avec lequel un modèle travaille.
Dans SpicyAPI : chaque entrée du catalogue possède une modality, comme image, video ou text, et une liste de tasks, comme text-to-image ou image-to-video. Filtrez le catalogue avec ces valeurs, par exemple GET /api/v1/models?modality=video&task=image-to-video.
Voir : Modèles et points de terminaison
Node.js
Un programme gratuit qui exécute du JavaScript en dehors d’un navigateur web. De nombreux outils de développement sont écrits en JavaScript et ont besoin qu’il soit installé.
Dans SpicyAPI : le SDK, la CLI et le serveur MCP nécessitent Node.js 22.13 ou plus récent ; l’installeur qu’utilise le Skill demande la version 22.20 ou plus récente. Installez la version LTS depuis nodejs.org, puis vérifiez-la dans un terminal avec node --version. Node.js n’est nécessaire ni pour le Playground, ni si vous appelez l’API depuis un autre langage.
Voir : CLI : avant de commencer
npm et npx
npm est le gestionnaire de paquets fourni avec Node.js : il télécharge et installe des paquets JavaScript. npx, fourni avec lui, exécute un paquet sans l’installer durablement.
Dans SpicyAPI : les quatre outils Node.js sont des paquets npm : @spicyapi/sdk, @spicyapi/cli, @spicyapi/mcp et @spicyapi/skill. Par exemple, npm install @spicyapi/sdk ajoute le SDK TypeScript à un projet, et npx @spicyapi/cli status exécute la CLI une fois sans l’installer. Les SDK Python, Go, PHP et Java s’installent plutôt avec les outils de leurs propres écosystèmes ; voir la page de chacun d’eux.
Voir : SDK TypeScript · Outil en ligne de commande (CLI)
Plafond de dépense
Une limite de dépense que vous fixez à l’avance, pour qu’une erreur ou une clé divulguée ne puisse pas vider tout votre solde.
Dans SpicyAPI : chaque clé API peut avoir un plafond quotidien, un plafond mensuel et un plafond cumulé en dollars américains, que vous réglez vous-même ; les nouvelles clés n’en ont aucun tant que vous n’en ajoutez pas un. Les équipes peuvent ajouter des budgets quotidiens et mensuels, et la plateforme a sa propre limite quotidienne. Une tâche qui dépasserait l’un de ces plafonds est refusée avec 40202 avant de démarrer, et rien n’est facturé. Les plafonds quotidiens repartent à zéro à 00:00 UTC et les plafonds mensuels le 1er du mois ; les plafonds cumulés ne repartent jamais à zéro. Saisir 0 signifie « aucun plafond » à ce niveau.
Voir : Facturation · Authentification
Playground
Un formulaire sur un site web qui permet d’essayer un modèle en remplissant des champs et en appuyant sur un bouton, sans écrire de code.
Dans SpicyAPI : chaque page de modèle sur spicyapi.ai comporte un onglet Playground. Sans compte, vous pouvez remplir le formulaire et voir la requête qu’il construit ; pour l’exécuter, il faut être connecté et disposer d’un solde. Chaque exécution affiche d’abord son coût estimé, est facturée comme un appel API et apparaît dans le Journal de la console.
Voir : Comment fonctionne SpicyAPI
Point de terminaison
Une requête précise qu’une API accepte, désignée par une méthode HTTP (comme GET pour lire ou POST pour envoyer) et un chemin. En anglais, on parle d’endpoint.
Dans SpicyAPI : par exemple, POST /api/v1/jobs/createTask lance une génération et GET /api/v1/jobs/recordInfo lit une tâche. L’adresse complète est l’URL de base suivie du chemin.
Voir : OpenAPI et liste des points de terminaison
Polling
Demander encore et encore à un serveur si quelque chose est terminé, au lieu d’attendre d’être prévenu.
Dans SpicyAPI : vous interrogez une tâche avec GET /api/v1/jobs/recordInfo?taskId=… jusqu’à ce que son état ne soit plus queued ni running. Attendez 2 à 3 secondes avant la première vérification, rendez chaque attente environ 1,5 fois plus longue que la précédente, jusqu’à 10 à 15 secondes, et cessez d’attendre à une échéance que vous fixez vous-même. Cesser d’attendre n’arrête pas la tâche. Le polling compte dans votre limite de débit : en production, préférez un webhook.
Voir : Tâches asynchrones
request_id
Un identifiant que le serveur attache à une requête, pour qu’on puisse la retrouver ensuite dans les journaux.
Dans SpicyAPI : chaque réponse native porte un request_id (par exemple req_01k3…), également envoyé dans l’en-tête X-Request-Id, en cas de succès comme d’échec. Conservez-le dans vos journaux et joignez-le quand vous contactez l’assistance. Dans un webhook en version 2, request_id identifie plutôt la livraison (whd_…) et reste identique quand cette livraison est retentée.
Réservation, règlement et libération
Les trois étapes du paiement d’une tâche. Une réservation, c’est de l’argent mis de côté mais pas encore dépensé, comme lorsqu’un hôtel bloque un montant sur votre carte.
Dans SpicyAPI :
- Réservation : quand une tâche est acceptée, son coût estimé (
estimatedCost) est mis de côté sur votre solde et apparaît dansheld. Ce n’est pas encore un prélèvement, et c’est aussi le montant maximal que cette tâche pourra jamais coûter. - Règlement : quand la tâche réussit, vous êtes facturé pour ce qu’elle a réellement consommé, jamais plus que la réservation. Le reliquat revient sur votre solde disponible.
settled: truesur la tâche signifie que le montant indiqué danscostest définitif. - Libération : Les tâches échouées ou expirées libèrent normalement toute la réservation. Certains refus de contenu sont facturés au devis accepté, uniquement si la page du modèle indique explicitement cette exception. Consultez
settledetcostpour connaître le montant final.
Voir : Facturation
Schéma d’entrée
Une description lisible par une machine des champs qu’une requête peut contenir, du type de chacun et des valeurs autorisées.
Dans SpicyAPI : chaque modèle a son propre inputSchema, écrit en JSON Schema. Il liste les champs que vous pouvez placer dans input, comme prompt, image_url ou duration_seconds, avec leurs limites et leurs valeurs par défaut. Le serveur contrôle chaque requête par rapport à ce schéma, et un seul champ inconnu suffit à provoquer une erreur 400. Le Playground construit son formulaire à partir du même schéma, et les examples du catalogue sont des entrées complètes qui l’ont déjà passé avec succès.
Voir : Modèles et points de terminaison · Spicy Schema
SDK
Abréviation de l’anglais software development kit (kit de développement logiciel) : une bibliothèque de code prête à l’emploi que vous ajoutez à votre propre programme, pour ne pas avoir à construire chaque requête à la main.
Dans SpicyAPI : il existe cinq SDK officiels — @spicyapi/sdk pour TypeScript et JavaScript sous Node.js, plus un pour Python, un pour Go, un pour PHP et un pour Java. Chacun gère la clé, l’attente des tâches, les nouvelles tentatives, les téléversements et la vérification des webhooks : deux ou trois appels suffisent donc à mener une tâche de la soumission jusqu’au résultat. Tous fonctionnent uniquement sur des serveurs, pas dans les navigateurs ni dans les applications mobiles, et aucun ne couvre les modèles de chat.
Voir : SDK TypeScript · SDK Python · SDK Go · SDK PHP · SDK Java
Signature (HMAC)
Un code calculé à partir d’un message et d’un secret partagé, qui permet au destinataire de vérifier que le message est authentique et n’a pas été modifié en chemin. HMAC est la méthode standard pour le calculer.
Dans SpicyAPI : chaque livraison de webhook porte un en-tête X-Webhook-Signature : un HMAC-SHA256 calculé sur l’identifiant de tâche, l’heure de livraison et une empreinte du corps exact, avec votre clé de signature des webhooks. Vous générez ou renouvelez cette clé sur la page Webhooks de la console, et elle n’est affichée qu’à ce moment-là ; si vous ne l’avez jamais copiée, renouvelez-la sur cette même page. Vérifiez la signature avant de faire confiance à une livraison, avec verifyWebhook du SDK ou spicyapi webhooks verify, et rejetez les livraisons dont l’horodatage s’écarte de plus de cinq minutes de l’heure actuelle.
Voir : Webhooks
Solde
L’argent de votre compte qui sert à payer les générations.
Dans SpicyAPI : un solde prépayé en dollars américains, sans système de crédits ni de points. Ce que vous versez n’expire jamais ; le crédit promotionnel a sa propre date d’expiration. Vous l’approvisionnez sur la page Facturation de la console. GET /api/v1/chat/credit renvoie trois montants sous forme de texte, comme "128.42" : available (disponible pour de nouvelles dépenses), held (mis de côté pour des tâches encore en cours) et total. Certains comptes disposent aussi de dotations promotionnelles ou d’une ligne de crédit approuvée, présentées dans un détail séparé. Il n’y a pas d’offre gratuite : les nouveaux comptes démarrent à zéro.
Voir : Facturation · Préparer votre compte
Statut HTTP
Un nombre à trois chiffres placé au début de chaque réponse web, qui indique dans les grandes lignes comment la requête s’est passée. 2xx signifie que tout a fonctionné, 4xx qu’un élément de la requête posait problème, et 5xx que le serveur a rencontré un problème.
Dans SpicyAPI : la création d’une tâche répond 202 Accepted, ce qui signifie que la tâche a été acceptée, et non qu’elle est terminée. Les réponses natives portent aussi un code métier plus précis : par exemple, un solde insuffisant donne le statut HTTP 402 avec le code 40201. Choisissez l’un des deux pour guider les décisions de votre code, et tenez-vous-y.
Voir : Erreurs
Streaming (SSE)
Envoyer une réponse morceau par morceau, au fur et à mesure qu’elle est produite, sur une seule connexion ouverte, au lieu de l’envoyer d’un bloc à la fin. SSE, abréviation de server-sent events (événements envoyés par le serveur), est le format web courant pour cela.
Dans SpicyAPI : les modèles de texte peuvent diffuser leur réponse mot par mot via les points de terminaison compatibles (par exemple stream: true sur /v1/chat/completions) ou via le point de terminaison natif POST /api/v1/jobs/stream. Chaque protocole signale la fin d’un flux à sa manière. Fermer la connexion avant la fin vous empêche de recevoir la suite du texte, mais n’arrête pas le modèle, et la consommation reste facturée. Le texte diffusé n’est pas stocké : impossible de le récupérer plus tard.
Voir : Texte et streaming
Tâche
Une unité de travail qui s’exécute en arrière-plan : vous la confiez, puis vous récupérez le résultat plus tard.
Dans SpicyAPI : chaque génération d’image ou de vidéo est une tâche. POST /api/v1/jobs/createTask l’accepte et renvoie un identifiant de tâche qui commence par job_ ; vous suivez ensuite la tâche par polling, ou vous recevez un webhook quand elle se termine. Via l’API, une tâche ne peut être lue qu’avec la même clé API que celle qui l’a créée ; la page Journal de la console affiche toutes les tâches de votre compte. Une tâche acceptée ne peut pas être annulée.
Voir : Tâches asynchrones · Engagement et relance
Téléversement
Envoyer un fichier depuis votre ordinateur vers un serveur pour qu’il puisse y être utilisé.
Dans SpicyAPI : un modèle qui prend une image, une vidéo ou un fichier audio en entrée peut le recevoir de trois façons : un lien HTTPS public vers le fichier, une petite image intégrée à la requête sous forme de data URI (1 MiB au maximum), ou un fichier téléversé. Le téléversement se déroule en trois étapes : demander un ticket (POST /api/v1/common/upload-url), envoyer le fichier à l’adresse indiquée dans le ticket, puis le valider (POST /api/v1/files/{fileId}/commit). La validation renvoie une adresse spicy:// à placer dans le champ d’entrée du modèle. Cette adresse reste utilisable pendant un jour. Les images peuvent peser jusqu’à 10 MiB, l’audio et la vidéo jusqu’à 90 MiB et 600 secondes. uploadFile() du SDK, spicyapi files upload et le serveur MCP effectuent les trois étapes pour vous.
Voir : Médias
Terminal
Une fenêtre de texte dans laquelle vous tapez des commandes, puis appuyez sur Entrée pour les exécuter. Sur macOS, c’est l’application Terminal ; sur Windows, utilisez PowerShell ; sur la plupart des bureaux Linux, Ctrl + Alt + T en ouvre un. À ne pas confondre avec un état final (en anglais terminal state).
Dans SpicyAPI : vous utilisez un terminal pour lancer la CLI, pour installer des outils Node.js comme le serveur MCP ou le Skill, et pour essayer les exemples curl de cette documentation.
Voir : CLI : avant de commencer
URL de base
La première partie, toujours identique, de toutes les adresses qu’utilise une API. Vous l’écrivez une fois dans votre code ou dans les réglages de votre outil, et chaque requête ajoute son propre chemin à la suite.
Dans SpicyAPI : il y en a deux.
| URL de base | Sert à |
|---|---|
https://api.spicyapi.ai/api/v1 | L’API native : modèles, devis, tâches, téléversements, solde |
https://api.spicyapi.ai/v1 | Les points de terminaison au format OpenAI (texte et vidéo) et au format Anthropic (texte) |
Les requêtes au format Google Gemini vont vers https://api.spicyapi.ai/v1beta. Les bibliothèques officielles Anthropic et Google GenAI ajoutent elles-mêmes la partie version : pour elles, indiquez simplement https://api.spicyapi.ai.
Voir : Démarrage rapide · Texte et streaming
Variable d’environnement
Une valeur nommée que votre terminal transmet à chaque programme qu’il lance. Elle permet à un programme de lire un réglage, comme une clé secrète, sans que la valeur soit écrite dans un fichier ou dans une commande.
Dans SpicyAPI : le SDK, la CLI, le serveur MCP et les exemples de code de cette documentation lisent votre clé API dans une variable nommée SPICY_API_KEY. Pour la définir dans la fenêtre de terminal actuelle :
export SPICY_API_KEY="sk-spicy-paste-your-key-here"Ce réglage est oublié dès que vous fermez la fenêtre. La page de la CLI explique comment le rendre permanent et comment le vérifier sans afficher la clé entière.
Voir : CLI : avant de commencer · Préparer votre compte
Webhook
Une adresse sur votre propre serveur qu’un autre service appelle quand un événement se produit, pour que vous n’ayez pas à demander sans cesse. On parle aussi de callback.
Dans SpicyAPI : indiquez une adresse HTTPS publique dans callBackUrl quand vous créez une tâche. Quand la tâche atteint un état final, SpicyAPI envoie à cette adresse une requête POST avec le même contenu que renverrait recordInfo, signée avec votre clé de signature des webhooks. Répondez par n’importe quel statut 2xx dans les 15 secondes ; sinon, la livraison est retentée, jusqu’à huit tentatives sur environ neuf heures, et vous pouvez la renvoyer depuis la page Webhooks de la console. Aucune notification n’est envoyée quand une tâche ne fait que démarrer. Les adresses locales comme http://localhost:3000 ne peuvent pas recevoir de webhooks : pendant que vous développez sur votre propre ordinateur, faites plutôt du polling.
Voir : Webhooks
FAQ
Des réponses courtes aux questions les plus posées sur SpicyAPI, de l’offre gratuite à la facturation des tâches échouées, en passant par l’annulation des tâches, la conservation des résultats et la correction des erreurs courantes.
Responsabilité du contenu et des usages
Ce que SpicyAPI vérifie, vos responsabilités, les usages interdits, les régions desservies et le signalement des abus.

