spicyapiDocumentation
Applications et plugins
Contenu principal

SillyTavern

Discutez avec les modèles SpicyAPI dans SillyTavern via la source Custom (OpenAI-compatible), puis ajoutez l’extension gratuite SpicyAPI pour les images, les vidéos et un bouton Animate, chaque exécution étant chiffrée d’abord.

SillyTavern peut utiliser SpicyAPI de deux façons. La première est sa connexion de chat habituelle : SillyTavern envoie vos messages à un modèle de chat SpicyAPI via la source Custom (OpenAI-compatible). La seconde est l’extension SpicyAPI, qui ajoute les commandes /spicy-img et /spicy-video ainsi qu’un bouton Animate, pour créer des images et de courtes vidéos sans quitter la conversation.

Vous pouvez utiliser l’une ou l’autre seule. Les deux partagent le même compte, le même solde et les mêmes prix que le reste de SpicyAPI, et vous ne payez que ce que vous lancez. L’extension est gratuite et open source (MIT) sur github.com/spicyapi-ai/sillytavern-spicyapi.

Le résumé

  1. Créez une clé sur spicyapi.ai/console/keys. Utilisez une clé dédiée à SillyTavern, avec un plafond de dépense quotidien.
  2. Dans SillyTavern, ouvrez API Connections, réglez API sur Chat Completion et Chat Completion Source sur Custom (OpenAI-compatible). Point de terminaison https://api.spicyapi.ai/v1, votre clé, un identifiant de modèle se terminant par /chat, puis Connect.
  3. Activez Streaming et réglez Response (tokens) sur 2000 ou plus.
  4. Pour les images et les vidéos : Extensions > Install extension, collez https://github.com/spicyapi-ai/sillytavern-spicyapi, puis ajoutez votre clé sous Extensions > SpicyAPI.

Avant de commencer

  • SillyTavern 1.19.0 ou plus récent. Les étapes de cette page ont été vérifiées avec la version 1.19.0 le 2026-10-06. Les libellés des menus peuvent changer dans d’autres versions.
  • git sur la machine qui exécute SillyTavern, uniquement si vous voulez l’extension. SillyTavern s’en sert pour télécharger les extensions.
  • Une clé API. Les clés commencent par sk-spicy-. Voir Authentification pour les restrictions applicables à une clé, et Préparer votre compte si vous n’avez pas encore de compte.
  • Un solde. Chaque requête est payée sur votre solde prépayé en dollars américains. Voir Facturation.

Connecter le chat de SillyTavern à SpicyAPI

C’est le serveur de SillyTavern, et non votre navigateur, qui envoie la requête de chat : rien d’autre n’est à configurer de votre côté.

Choisir la source Custom

Ouvrez API Connections (l’icône de prise). Réglez API sur Chat Completion, puis Chat Completion Source sur Custom (OpenAI-compatible).

Renseigner les trois champs

ChampÀ saisir
Custom Endpoint (Base URL)https://api.spicyapi.ai/v1
Custom API KeyVotre clé sk-spicy-
Enter a Model IDUn identifiant de modèle de chat se terminant par /chat, copié depuis le catalogue en ligne (GET /api/v1/models ; écrit MODEL_ID_FROM_CATALOG sur cette page)

Pour le point de terminaison, incluez /v1, omettez /chat/completions (SillyTavern l’ajoute) et ne terminez pas par une barre oblique. Une barre oblique finale fait demander à SillyTavern un chemin avec une double barre.

Appuyer sur Connect

SillyTavern demande la liste des modèles à SpicyAPI, puis masque votre clé dans le champ. La clé est conservée sur le serveur SillyTavern, dans le fichier de secrets de cet utilisateur. Utilisez Test Message pour vérifier qu’une réponse revient.

Choisir un modèle de chat

Les modèles de chat ont des identifiants qui se terminent par /chat. Le menu Available Models est rempli à partir de la liste complète des modèles de SpicyAPI : il affiche donc aussi des modèles d’image, de vidéo et d’audio, qui ne savent pas discuter. Les modèles de chat viennent en premier : choisissez-en un en haut de la liste, ou saisissez ou collez un identifiant /chat dans Enter a Model ID.

Pour voir tous les modèles de chat et ce que chacun accepte, parcourez les modèles de chat du site, ou appelez GET https://api.spicyapi.ai/v1/models avec votre clé (voir Modèles). Chaque entrée de chat contient context_length, max_output_tokens et supported_parameters.

Pour le jeu de rôle, le classement jeu de rôle note les modèles de chat sur la cohérence des personnages et sur leur liberté d’écriture. Certains modèles de chat sont sans censure et d’autres filtrent le contenu ; le catalogue indique le niveau de politique de chaque modèle.

Réglages recommandés

RéglageValeurPourquoi
StreamingActivéLes longues réponses s’affichent au fur et à mesure, et une requête en streaming montre le message d’erreur propre à SpicyAPI. Une requête sans streaming qui échoue vite n’affiche que « Bad Request » dans SillyTavern, et une requête qui échoue après environ 30 secondes signale son erreur à l’intérieur d’une réponse réussie.
Response (tokens)2000 ou plusLes modèles de raisonnement comptent leur réflexion dans cette limite. Le préréglage par défaut autorise 300 tokens, qu’un modèle de raisonnement peut consacrer entièrement à réfléchir sans rien renvoyer.
Request model reasoningActivéAffiche la réflexion du modèle dans un bloc replié, lorsque le modèle l’envoie.
Send inline mediaDésactivé pour les modèles texte seulVoir les images dans la conversation.
Prompt Post-ProcessingNoneÀ modifier uniquement si vous obtenez une erreur sur les rôles des messages. Voir le dépannage.

Les réglages d’échantillonnage que le modèle choisi ne prend pas en charge, comme la température, top P, la pénalité de fréquence et la pénalité de présence, sont ignorés au lieu d’être rejetés. SpicyAPI liste ceux qu’il a ignorés dans l’en-tête de réponse X-Spicy-Ignored-Params. Vous pouvez laisser les curseurs de SillyTavern où ils sont.

Effort de raisonnement

La liste Reasoning Effort de SillyTavern n’est pas envoyée aux modèles SpicyAPI. Si vous voulez le définir, ajoutez-le vous-même, et seulement pour un modèle dont supported_parameters contient reasoning_effort :

  1. Cliquez sur Additional Parameters sous le bouton Connect.
  2. Dans Include Body Parameters, ajoutez une ligne, par exemple :
reasoning_effort: low

Les valeurs autorisées diffèrent selon le modèle. Un niveau que le modèle ne propose pas est remplacé par le plus proche qu’il propose (nommé dans l’en-tête de réponse X-Spicy-Adjusted-Params), et sur un modèle sans niveaux de raisonnement la ligne est ignorée. Consultez d’abord l’entrée du modèle dans la liste des modèles. Si la réponse revient vide ou tronquée, augmentez Response (tokens) ou réduisez l’effort.

Les images dans la conversation

Lorsque Send inline media est activé, SillyTavern joint les images de la conversation à chaque requête suivante. Un modèle qui ne sait pas lire les images rejette la requête avec une erreur 400, et comme l’image reste dans la conversation, tous les messages suivants échouent aussi. Désactivez Send inline media pour les modèles texte seul, ou masquez le message qui contient l’image.

Les vidéos de la conversation ne sont pas envoyées au modèle.

Réglages qu’un modèle rejette

Quelques réglages restent rejetés lorsqu’un modèle ne les prend pas en charge, parce qu’ils changent la réponse au lieu de simplement l’affiner : Multiple swipes per generation au-delà de 1 (n), les préréglages Logit Bias et Request token probabilities. Si une requête échoue avec un message qui nomme l’un de ces réglages, désactivez-le. Le texte de l’erreur nomme le champ.

Custom Stopping Strings fonctionnent sur tous les modèles. Un modèle sans séquences d’arrêt (les modèles Grok, par exemple) les ignore, et un modèle qui en accepte moins que vous n’en avez défini garde les premières ; les en-têtes de réponse X-Spicy-Ignored-Params et X-Spicy-Adjusted-Params indiquent lesquelles. Une valeur de curseur hors de la plage d’un modèle, comme une température de 1,5 sur un modèle qui s’arrête à 1, est ramenée à la limite de la même façon.

L’extension SpicyAPI

L’extension crée des images et de courtes vidéos depuis une conversation. Installez-la une fois, ajoutez votre clé et choisissez des modèles.

L’installer

  1. Ouvrez Extensions (l’icône de cubes empilés) et choisissez Install extension.
  2. Collez https://github.com/spicyapi-ai/sillytavern-spicyapi et appuyez sur Install.
  3. Rechargez la page si SillyTavern vous le demande.

SillyTavern avertit qu’il s’agit d’une extension tierce. Pour la mettre à jour plus tard, utilisez Manage extensions dans le même menu.

Ajouter votre clé

Ouvrez Extensions > SpicyAPI, collez votre clé et appuyez sur Check connection. Votre solde s’affiche lorsque la clé fonctionne.

Choisir les modèles

Choisissez un modèle pour les images, un pour les vidéos à partir d’un texte et un pour les vidéos à partir d’une image (le bouton Animate). Chaque liste affiche un prix de départ et regroupe les modèles par politique de contenu (Uncensored, Softened, Filtered). Automatic choisit le modèle Uncensored le moins cher. Sous chaque modèle, vous pouvez modifier ses principaux réglages, comme le format d’image, la résolution et la durée. Les réglages marqués $ changent le prix.

Connecter le chat en un clic (facultatif)

Connect chat dans le panneau effectue pour vous la configuration du chat : il choisit Custom (OpenAI-compatible), renseigne le point de terminaison, enregistre votre clé et sélectionne le modèle de chat que vous avez choisi.

Commandes

CommandeCe qu’elle fait
/spicy-img [prompt]Crée une image et la publie dans la conversation.
/spicy-video [prompt]Crée une vidéo à partir d’un texte.
/spicy-video image=last [prompt]Anime l’image la plus récente de la conversation. image= accepte aussi l’URL d’une image.
/spicy-task <task id>Ajoute à la conversation le résultat d’une tâche antérieure, par exemple après Stop waiting ou un rechargement de la page.
/spicy-balanceRenvoie votre solde disponible en USD.

Arguments nommés que vous pouvez ajouter aux commandes :

  • model=<id> utilise un modèle pour cette seule exécution. Appuyez sur Tab après model= pour afficher la liste.
  • edit=true ouvre l’éditeur de prompt même si vous avez saisi un prompt.
  • quiet=true enregistre le résultat et renvoie son chemin sans le publier, pour les Quick Replies et STscript.
  • avatar=true ou avatar=false (images uniquement) remplace le réglage « utiliser l’avatar du personnage ».
/spicy-img a lighthouse on a cliff at dusk, wide shot
/spicy-video waves rolling onto a beach at sunrise
/spicy-video image=last slow push-in, hair moving in the wind

Le menu baguette à côté du champ de saisie contient SpicyAPI picture, SpicyAPI video et SpicyAPI: animate last picture.

Animate

Chaque image de la conversation porte une icône de pellicule parmi ses commandes, et les messages qui contiennent une image ont la même icône dans leur menu .... Elle transforme cette image en clip vidéo avec votre modèle d’image vers vidéo et ajoute le clip au même message.

Prompts

Si vous ne fournissez pas de prompt, le modèle de chat auquel vous êtes connecté en rédige un à partir de la scène en cours. Avec Let me read and edit the prompt before generating activé (réglage par défaut), une fenêtre s’ouvre et affiche le modèle, le prix exact et le prompt tel qu’il est rédigé. Vous pouvez attendre, saisir le vôtre, ou appuyer de nouveau sur Write from the scene. L’extension n’inclut ni prompts, ni préréglages, ni styles : les mots viennent de vous ou de votre modèle de chat.

Avec les modèles qui acceptent une image de référence, vous pouvez utiliser l’avatar du personnage pour que l’image ressemble au personnage.

Laisser l’IA montrer des images

Désactivé par défaut. Activez-le sous Let the AI show pictures dans le panneau SpicyAPI, puis choisissez comment le modèle de chat demande une image. Vous pouvez utiliser l’une ou l’autre méthode, ou les deux :

MéthodeFonctionnementPrérequis
Outil de fonctionLe modèle de chat appelle un outil nommé spicyapi_generate_image avec une description, l’image est publiée, et le modèle poursuit l’histoire.Enable function calling dans AI Response Configuration (le panneau propose un bouton pour cela) et un modèle de chat qui gère les outils. Tous les modèles de chat SpicyAPI le gèrent.
Balise de réponseLe modèle de chat termine une réponse par <pic prompt="description of the picture">. L’extension retire la balise et publie l’image juste après cette réponse.N’importe quelle API de chat. Par défaut, l’extension ajoute une courte instruction aux générations normales ; désactivez cette option pour écrire la vôtre.

Les images automatiques ont leurs propres limites, en plus de celles par exécution ci-dessous :

  • au plus une image toutes les quelques réponses par conversation (3 par défaut), et une demande refusée ou échouée relance aussi l’attente ;
  • une limite quotidienne pour les images automatiques dans ce navigateur (0,50 $ par défaut) ;
  • au-dessus de votre montant de confirmation, soit Ask me first (par défaut, avec la description et le prix), soit Skip the picture.

Les exécutions automatiques ne créent que des images, jamais de vidéos, et les images sont masquées à l’IA comme tous les autres résultats. Tant que l’outil est activé, sa définition est envoyée avec chaque requête de chat, ce qui coûte quelques jetons sur votre API de chat. Le comportement complet est décrit dans le README de l’extension.

Prix et limites

Avant chaque exécution, l’extension demande un devis à SpicyAPI et l’affiche en dollars américains. Les devis sont gratuits.

RéglagePar défautCe qu’il fait
Ask before spending more than0,10 $Les exécutions au-dessus de ce montant demandent une confirmation. Si l’éditeur de prompt a déjà affiché le prix, appuyer sur Generate for $... vaut confirmation. Vide signifie ne jamais demander, et 0 demander à chaque fois.
Never spend more than1,00 $Les exécutions qui pourraient coûter davantage sont refusées avant tout débit. Vide signifie aucune limite.

Le panneau affiche aussi ce que cette session de navigateur a dépensé. Pour une limite stricte qui vaut partout, placez un plafond de dépense quotidien sur la clé elle-même. Voir Authentification.

Une exécution continue sur SpicyAPI si vous appuyez sur Stop waiting ou fermez la page, et elle est facturée si elle réussit. Récupérez-la plus tard avec /spicy-task <task id>. Les exécutions échouées ne sont pas facturées, sauf pour les rares modèles dont la page indique que les requêtes refusées sont facturées. Voir Facturation.

Où sont stockés votre clé et vos fichiers

  • Votre clé est stockée en clair dans le fichier de réglages de SillyTavern, sur la machine qui exécute SillyTavern (data/<user>/settings.json, sous extension_settings.spicyapi). Les autres extensions de SillyTavern peuvent la lire. Si vous utilisez Connect chat, la clé est aussi enregistrée dans le fichier de secrets de SillyTavern comme clé du point de terminaison Custom. C’est pourquoi il vaut la peine de créer une clé dédiée avec un plafond de dépense.
  • Les résultats sont téléchargés et enregistrés dans le dossier d’images de SillyTavern (data/<user>/user/images/<character>/spicyapi_<task id>.png ou .mp4), puis joints à la conversation. Les nouveaux résultats sont masqués à l’IA par défaut, afin que la requête de chat suivante n’envoie pas d’image à un modèle qui ne sait pas la lire. Activez Let the AI see generated pictures and videos pour changer cela.
  • Ce qui quitte votre machine : le prompt, les réglages du modèle et toute image de référence partent vers api.spicyapi.ai. Lorsque votre modèle de chat rédige le prompt, le contexte de la conversation part vers l’API de chat à laquelle SillyTavern est connecté, comme pour n’importe quel autre message.
  • SpicyAPI conserve les fichiers générés pendant une durée limitée. Voir Conservation des données.

Si vous changez de conversation pendant une génération, le résultat est enregistré mais pas ajouté à la conversation, et l’extension vous indique où il se trouve.

Chemin de connexion

Par défaut, l’extension contacte https://api.spicyapi.ai directement depuis votre navigateur. Si votre réseau ou votre navigateur bloque cet accès, ouvrez Connection dans le panneau et choisissez Auto (essaie en direct, puis se replie sur le proxy CORS de SillyTavern) ou Through SillyTavern’s CORS proxy.

Le proxy est désactivé par défaut. Activez-le en définissant enableCorsProxy: true dans le config.yaml de SillyTavern (ou en lançant SillyTavern avec --corsProxy), puis redémarrez. Il ne peut pas être combiné avec l’authentification basique de SillyTavern (basicAuthMode), qui rejette les requêtes portant une clé API. Dans ce cas, utilisez le chemin direct.

Dépannage

Ce que vous voyezQue faire
Bad Request sur un message sans streamingActivez Streaming pour voir le vrai message d’erreur. Les causes les plus courantes figurent dans les lignes ci-dessous.
Une réponse vide, ou qui s’arrête après quelques motsAugmentez Response (tokens) à 2000 ou plus. Si le modèle réfléchit d’abord, réduisez son effort de raisonnement.
401 ou « invalid key »Collez de nouveau la clé depuis la console. Vérifiez qu’elle commence par sk-spicy- et ne contient aucune espace en trop.
40202Le plafond de dépense de la clé, ou votre solde, est atteint. Relevez le plafond ou ajoutez des fonds. Voir Erreurs.
40301La liste de modèles autorisés de la clé n’inclut pas ce modèle. Ajoutez-le dans la console.
Une erreur qui nomme image_url, ou tous les messages échouent après l’apparition d’une imageLe modèle ne sait pas lire les images. Désactivez Send inline media, ou choisissez un modèle qui lit les images.
Une erreur qui nomme n, logit_bias ou logprobsDésactivez Multiple swipes, le préréglage Logit Bias ou les probabilités de tokens pour ce modèle.
Une erreur sur les rôles ou l’ordre des messagesRéglez Prompt Post-Processing sur Semi-strict ou Strict.
Le menu des modèles est longLes modèles de chat sont en tête de la liste. Choisissez-en un, ou saisissez un identifiant de modèle se terminant par /chat dans Enter a Model ID.
upstream_failed indiquant que le budget de sortie a été consommé par le raisonnementAugmentez Response (tokens) ou réduisez l’effort de raisonnement.
« The browser could not reach api.spicyapi.ai » (extension)Passez le chemin de connexion sur Auto et activez le proxy CORS de SillyTavern comme décrit plus haut.
« SillyTavern’s CORS proxy is turned off » (extension)Définissez enableCorsProxy: true dans config.yaml et redémarrez SillyTavern, ou revenez au chemin direct.
« The result ... is ready, but it could not be downloaded » (extension)Lancez /spicy-task <task id> pour réessayer.
« The prompt could not be written » (extension)Aucun modèle de chat n’est connecté, ou il a renvoyé une erreur. Saisissez plutôt un prompt.

Les erreurs de SpicyAPI se terminent par un request_id ou un identifiant de tâche. Communiquez-le au support et la requête pourra être retrouvée précisément. Les codes d’erreur sont expliqués dans Erreurs.

Sur cette page