spicyapiDocumentation
Aide
Contenu principal

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/models appelé 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 dont enabled et available valent tous deux true.

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. 200 signifie succès ; parmi les autres valeurs figurent 400 (requête invalide), 401 (problème de clé), 40201 (solde insuffisant), 40202 (un plafond de dépense est atteint) et 429 (trop de requêtes). C’est un code métier, plus précis que le statut HTTP envoyé avec lui.
  • errorCode apparaî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_asset ou upstream_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 :

QuoiDurée de conservation
Lien de téléchargement d’un résultatEnviron 20 minutes ; redemandez-en un nouveau
Images et vidéos généréesEnviron 14 jours au maximum
Fichiers que vous téléversez comme entrées1 jour
Texte des prompts et autre contenu des tâches30 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 :

ÉtatSignificationFacturé ?
queuedAcceptée, en attente de démarrageMontant réservé, pas encore facturé
runningLe modèle travailleMontant réservé, pas encore facturé
succeededTerminée avec un résultatFacturée selon l’usage réel, jamais plus que la réservation
failedTerminée sans résultat ; errorCode indique pourquoiLes 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.
expiredA dépassé son échéance sans se terminerNon, 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.

Voir : Erreurs · Webhooks

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 dans held. 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: true sur la tâche signifie que le montant indiqué dans cost est 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 settled et cost pour 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 baseSert à
https://api.spicyapi.ai/api/v1L’API native : modèles, devis, tâches, téléversements, solde
https://api.spicyapi.ai/v1Les 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

Sur cette page