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é
- Créez une clé sur spicyapi.ai/console/keys. Utilisez une clé dédiée à SillyTavern, avec un plafond de dépense quotidien.
- 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. - Activez Streaming et réglez Response (tokens) sur 2000 ou plus.
- 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.
gitsur 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 Key | Votre clé sk-spicy- |
| Enter a Model ID | Un 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églage | Valeur | Pourquoi |
|---|---|---|
| Streaming | Activé | 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 plus | Les 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 reasoning | Activé | Affiche la réflexion du modèle dans un bloc replié, lorsque le modèle l’envoie. |
| Send inline media | Désactivé pour les modèles texte seul | Voir les images dans la conversation. |
| Prompt Post-Processing | None | À 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 :
- Cliquez sur Additional Parameters sous le bouton Connect.
- Dans Include Body Parameters, ajoutez une ligne, par exemple :
reasoning_effort: lowLes 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
- Ouvrez Extensions (l’icône de cubes empilés) et choisissez Install extension.
- Collez
https://github.com/spicyapi-ai/sillytavern-spicyapiet appuyez sur Install. - 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
| Commande | Ce 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-balance | Renvoie 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èsmodel=pour afficher la liste.edit=trueouvre l’éditeur de prompt même si vous avez saisi un prompt.quiet=trueenregistre le résultat et renvoie son chemin sans le publier, pour les Quick Replies et STscript.avatar=trueouavatar=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 windLe 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éthode | Fonctionnement | Prérequis |
|---|---|---|
| Outil de fonction | Le 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éponse | Le 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églage | Par défaut | Ce qu’il fait |
|---|---|---|
| Ask before spending more than | 0,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 than | 1,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, sousextension_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>.pngou.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 voyez | Que faire |
|---|---|
Bad Request sur un message sans streaming | Activez 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 mots | Augmentez 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. |
40202 | Le plafond de dépense de la clé, ou votre solde, est atteint. Relevez le plafond ou ajoutez des fonds. Voir Erreurs. |
40301 | La 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 image | Le 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 logprobs | Dé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 messages | Réglez Prompt Post-Processing sur Semi-strict ou Strict. |
| Le menu des modèles est long | Les 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 raisonnement | Augmentez 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.
Nœuds ComfyUI
Utilisez les modèles d’image, de vidéo et d’audio de SpicyAPI (Seedance, Kling, Wan, MiniMax H3, Suno, GPT Image, Nano Banana et d’autres) comme nœuds ComfyUI. Installez le pack, ajoutez votre clé, lancez un premier nœud et gardez le coût de chaque exécution sous les yeux.
Applications de jeu de rôle
Connectez les modèles de texte SpicyAPI à RisuAI, Agnai, Chub, KoboldAI Lite et Janitor AI. Les champs exacts de chaque application, les modèles adaptés au jeu de rôle, les modèles de raisonnement et le plafonnement des dépenses.

