Applications de jeu de rôle (RisuAI, Agnai, Chub, KoboldAI Lite, Janitor AI)
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.
Les applications de jeu de rôle permettent de discuter avec des personnages, et la plupart acceptent votre propre modèle d’IA via une connexion compatible OpenAI. SpicyAPI parle ce protocole : vous pouvez donc y connecter ces applications, choisir n’importe quel modèle de texte SpicyAPI et payer sur votre solde SpicyAPI.
Cette page couvre cinq applications web et de bureau : RisuAI, Agnai, Chub, KoboldAI Lite et Janitor AI. Pour SillyTavern, voir SillyTavern. Ces applications sont conçues par d’autres et leurs écrans changent ; les noms de champs ci-dessous proviennent du code source publié et des pages d’aide de chaque application, et chaque section indique ce qui a été vérifié et ce qui ne l’a pas été.
Le résumé
- Créez une clé API dédiée à l’application sur spicyapi.ai/console/keys et donnez-lui un plafond de dépense quotidien.
- Dans l’application, choisissez sa connexion compatible OpenAI ou « reverse proxy ». Saisissez
https://api.spicyapi.ai/v1comme adresse (Janitor AI veut l’adresse plus longuehttps://api.spicyapi.ai/v1/chat/completions), collez votre clé et réglez le modèle sur un identifiant de chat se terminant par/chat, copié depuis le catalogue en ligne. - Réglez Max tokens à au moins 1 000 pour les modèles de raisonnement, puis envoyez un message.
Ce dont vous avez besoin
- Un compte SpicyAPI avec un solde. Voir Préparer votre compte et Facturation.
- Une clé API qui commence par
sk-spicy-. Voir Authentification. - Un identifiant de modèle. Les modèles de texte se nomment
<maker>/<model>/chat, écrit iciMODEL_ID_FROM_CATALOG.MODEL_ID_FROM_CATALOGdésigne un identifiant de modèle de chat que vous copiez depuis le catalogue en ligne (GET /api/v1/models) ; ne saisissez jamais le texte de substitution lui-même. L’identifiant doit être saisi exactement, y compris le/chatfinal. La liste complète se trouve sur spicyapi.ai/models ; avec votre clé,GET https://api.spicyapi.ai/v1/modelsla renvoie aussi, et les identifiants de chat sont ceux qui se terminent par/chat. Voir Modèles.
Quelle application demande quel champ
| Application | Adresse à saisir | Où va la clé | Modèle | Qui envoie la requête |
|---|---|---|---|---|
| RisuAI | https://api.spicyapi.ai/v1 (l’adresse complète .../v1/chat/completions fonctionne aussi) | Key/Password | Request Model, saisi à la main | Le serveur de RisuAI sur le site web, votre ordinateur dans l’application de bureau |
| Agnai | https://api.spicyapi.ai/v1 (pas le chemin complet) | API Key | Choisi dans un préréglage, à partir d’une liste récupérée chez SpicyAPI | Le serveur d’Agnai |
| Chub | https://api.spicyapi.ai/v1 (pas le chemin complet) | Reverse Proxy Key | Menu récupéré chez SpicyAPI | Votre navigateur |
| KoboldAI Lite | https://api.spicyapi.ai/v1 | Champ API key de sa connexion OpenAI | Menu récupéré chez SpicyAPI | Votre navigateur |
| Janitor AI | https://api.spicyapi.ai/v1/chat/completions (le chemin complet) | API Key | Model Name, saisi à la main | Non vérifié, voir la section Janitor AI |
La différence entre l’adresse courte et l’adresse complète compte. Les applications qui ajoutent elles-mêmes /chat/completions cessent de fonctionner si vous l’incluez, et Janitor AI a besoin qu’on l’écrive en entier.
Choisir un modèle
Le jeu de rôle demande un modèle qui reste dans son personnage, écrit de longues réponses et ne refuse pas les demandes d’histoire ordinaires. Le classement jeu de rôle et LLM note les modèles de texte de SpicyAPI sur ces critères et affiche les prix actuels. Consultez-le plutôt que de vous fier à une liste écrite ici, car les modèles et les classements évoluent.
Chaque page de modèle affiche aussi une étiquette de politique de contenu (par exemple sans restriction, limite ou filtré). Cette étiquette indique avec quelle liberté le modèle répond ; choisissez un modèle dont l’étiquette convient aux histoires que vous voulez écrire.
DeepSeek V4.1 Flash est un bon premier modèle à essayer : il figure près du haut du classement et c’est l’un des moins chers. Copiez son identifiant (il se termine par /chat) depuis le catalogue en ligne sur spicyapi.ai/models plutôt que de le saisir de mémoire.
Deux limites à connaître :
- Certains modèles acceptent au plus 256 messages par requête. Dans une très longue conversation, une application qui envoie tout l’historique peut dépasser ce seuil. Cherchez le réglage de l’application qui fixe la quantité d’historique envoyée, ou sa taille de contexte, et réduisez-le. La page du modèle indique ses limites.
- L’entrée d’images ne fonctionne qu’avec les modèles qui lisent les images. Une conversation de jeu de rôle ordinaire n’en a pas besoin.
Réglages d’échantillonnage
Les applications de jeu de rôle envoient avec chaque message une foule de réglages d’échantillonnage : température, top-p, top-k, min-p, top-a, pénalités de fréquence, de présence et de répétition. Les modèles diffèrent sur ceux qu’ils acceptent.
SpicyAPI ignore ceux qu’un modèle n’utilise pas au lieu de refuser le message. Il ignore aussi n: 1, une liste d’arrêt vide et les chaînes d’arrêt sur un modèle qui n’en a pas. Lorsqu’il ignore quelque chose, la réponse porte un en-tête X-Spicy-Ignored-Params qui nomme les réglages abandonnés, ce qui vous permet de voir exactement ce qui n’a eu aucun effet.
Lorsqu’un modèle accepte un réglage mais pas la valeur envoyée, SpicyAPI utilise la valeur acceptée la plus proche : une température supérieure au maximum du modèle devient ce maximum, et une liste de chaînes d’arrêt plus longue que ce que le modèle autorise garde ses premières entrées. Ces changements sont listés dans un en-tête X-Spicy-Adjusted-Params, par exemple temperature=1, stop=kept 1 of 3. Vous pouvez donc laisser vos préréglages habituels tels quels.
Les champs qui ne sont pas des réglages d’échantillonnage sont différents : si une application envoie quelque chose que le modèle ne connaît pas du tout, SpicyAPI répond quand même par une erreur 400 qui nomme le champ.
Modèles de raisonnement et Max tokens
Certains modèles réfléchissent avant de répondre. La réflexion consomme des tokens, et ces tokens comptent dans Max tokens (aussi appelé Max output, Response length ou max_new_tokens, selon l’application).
- Réglez Max tokens généreusement. S’il est très petit, disons 20 ou 200, un modèle de raisonnement peut dépenser tout le budget à réfléchir et ne renvoyer aucun texte. Vous obtenez alors une erreur
upstream_failedindiquant que le budget de sortie a été consommé par le raisonnement. Commencez à 1 000 ou plus et augmentez si les réponses sont coupées. - La réflexion coûte de l’argent et du temps. Vous payez les tokens de raisonnement comme n’importe quelle autre sortie, et le premier mot arrive plus tard. Certains modèles acceptent qu’on leur demande de réfléchir moins grâce au réglage
reasoning_effort. Les niveaux diffèrent selon le modèle ; un niveau que le modèle ne propose pas est remplacé par le plus proche qu’il propose, et les réglages de raisonnement de type OpenRouter (Agnai en envoie) sont traduits enreasoning_effort. Les applications qui ont une zone Additional Parameters ou de paramètres personnalisés peuvent le transmettre, par exemplereasoning_effortavec une valeur plus basse ; la plupart des applications ci-dessous ne l’envoient pas d’elles-mêmes. - Certaines applications affichent la réflexion dans la conversation. Janitor AI l’entoure de balises
<think>. Chub ne l’affiche pas du tout.
Garder les dépenses sous contrôle
Les conversations de jeu de rôle sont longues, et les applications renvoient toute la conversation à chaque message : le coût par message augmente donc à mesure que la conversation s’allonge.
Pour chaque application, créez sa propre clé dans la console. Ouvrez Advanced pendant la création et réglez un plafond de dépense quotidien (et un plafond mensuel si vous le souhaitez). Si l’application se comporte mal, boucle, ou si la clé fuite, les dégâts s’arrêtent au plafond, et vous pouvez révoquer cette seule clé sans toucher au reste. Une clé peut aussi être limitée à certains modèles. Voir Authentification.
Ces applications stockent votre clé sur leurs propres serveurs ou dans votre navigateur. Le site web de RisuAI, Agnai et Janitor AI font passer votre clé et votre conversation par leurs serveurs ; Chub et KoboldAI Lite envoient les requêtes directement depuis votre navigateur. Une clé dédiée et plafonnée est la bonne précaution dans tous les cas.
RisuAI
RisuAI fonctionne sur risuai.xyz, comme application de bureau, ou sur votre propre serveur. Vérifié avec le code source de RisuAI (version 2026.8.250).
Choisir le modèle Custom API
Dans les réglages du bot, ouvrez le menu des modèles et choisissez Custom API.
Renseigner les trois champs
- URL (affiché comme « Reverse Proxy ») :
https://api.spicyapi.ai/v1. RisuAI ajoute lui-même/chat/completionslorsque l’adresse se termine par/v1, et l’adresse complètehttps://api.spicyapi.ai/v1/chat/completionsfonctionne aussi. - Key/Password : votre clé
sk-spicy-. Elle est envoyée comme jeton Bearer. - Request Model : l’identifiant du modèle,
MODEL_ID_FROM_CATALOG. RisuAI n’a pas de liste de modèles pour les adresses personnalisées : saisissez-le.
Réglez le menu Format sur OpenAI Compatible.
Régler Max tokens et envoyer un message
Augmentez la longueur maximale de réponse si vous avez choisi un modèle de raisonnement (voir plus haut), puis discutez.
D’où viennent les requêtes. Sur risuai.xyz, RisuAI relaie normalement les requêtes par son propre serveur : votre clé et votre conversation y transitent. L’application de bureau et un serveur auto-hébergé envoient les requêtes directement depuis votre machine. Seule l’option « Force Plain Fetch » du site web, cachée parmi les réglages déconseillés, envoie les requêtes depuis le navigateur ; SpicyAPI les accepte aussi.
Échantillonnage. Les réglages Custom API par défaut de RisuAI envoient les pénalités de fréquence, de présence et de répétition, min-p et top-a. SpicyAPI ignore ceux que le modèle n’utilise pas : les valeurs par défaut fonctionnent donc.
Agnai
Agnai se trouve sur agnai.chat. Vérifié avec le code source d’Agnai (branche dev, 2026-10-06). SpicyAPI ne figure pas dans la liste de fournisseurs intégrée d’Agnai : vous l’ajoutez donc comme connexion personnalisée compatible OpenAI.
Ajouter un fournisseur
Dans Settings, ouvrez la page de gestion des fournisseurs et ajoutez un fournisseur de type OpenAI Compat (ou Remotely Hosted, puis Other (Generic OpenAI)). Donnez-lui n’importe quel libellé.
Renseigner l’adresse et la clé
- URL :
https://api.spicyapi.ai/v1(ouhttps://api.spicyapi.ai; Agnai ajoute/v1s’il manque). Ne saisissez pas le chemin complet.../chat/completions, sinon Agnai le double. - API Key : votre clé
sk-spicy-.
Choisir le modèle dans un préréglage
Dans le préréglage avec lequel vous discutez, choisissez le modèle dans la liste. Agnai remplit la liste à partir de la liste de modèles de SpicyAPI. Choisissez un identifiant se terminant par /chat.
D’où viennent les requêtes. Avec un fournisseur ajouté de cette façon, c’est le serveur d’Agnai qui envoie la requête : votre clé est donc stockée chez Agnai.
Échantillonnage. Agnai envoie toujours la température et top-p, que certains modèles n’acceptent pas. SpicyAPI les ignore pour ces modèles : des modèles comme DeepSeek V4 et Kimi K3 fonctionnent donc.
Déconseillé : les modes directs depuis le navigateur. Agnai propose aussi un type de connexion Self-Host et un commutateur Use Local Requests sur les anciens préréglages, qui font appeler l’adresse directement par votre navigateur. D’après le code source, ces modes ajoutent un champ nommé think que SpicyAPI n’accepte pas, et SpicyAPI répond 400 pour les champs qu’il ne connaît pas. Cela n’a pas été testé avec SpicyAPI. Si vous obtenez une erreur 400 dans ce cas, revenez à la configuration de fournisseur décrite plus haut.
Chub
Chub (chub.ai) envoie les requêtes directement depuis votre navigateur vers l’adresse que vous lui donnez. Vérifié avec le code front-end publié de Chub (version du 2026-06-28) ; les écrans de Chub ont pu changer depuis. La connexion depuis le navigateur fonctionne parce que SpicyAPI autorise les requêtes provenant de pages web.
Ajouter le reverse proxy dans Secrets
Ouvrez Secrets, trouvez le bloc OpenAI et choisissez Reverse Proxy au lieu de My Own API Key.
Renseigner l’adresse et la clé
- Open AI Reverse Proxy :
https://api.spicyapi.ai/v1. Chub ajoute lui-même/chat/completions: ne l’incluez pas. - Reverse Proxy Key : votre clé
sk-spicy-.
Appuyez sur Check Proxy. Une vérification réussie charge aussi la liste des modèles.
Sélectionner OpenAI / Proxy et un modèle
Sous Configuration > Prompt Structure, réglez l’API sur OpenAI / Proxy et choisissez un modèle dans le menu (un identifiant se terminant par /chat).
Chub avertit sur sa propre page de réglages que votre IP et l’historique de vos conversations peuvent être journalisés lorsque vous utilisez un reverse proxy. C’est une remarque de Chub, pas de SpicyAPI.
Ce que le code source montre et qui peut surprendre :
- Chub cesse de lire une réponse en streaming après 120 secondes. Un modèle de raisonnement qui réfléchit longtemps peut être coupé ; réduisez son effort de raisonnement ou choisissez un modèle qui répond plus vite.
- Chub n’affiche pas la réflexion d’un modèle, seulement sa réponse.
KoboldAI Lite
KoboldAI Lite est une page web unique sur lite.koboldai.net. Vérifié avec son index.html publié. Il appelle l’adresse directement depuis votre navigateur, ce qui fonctionne parce que SpicyAPI autorise les requêtes provenant de pages web.
Choisir la connexion OpenAI
Ouvrez Settings, choisissez la connexion OpenAI API (point de terminaison personnalisé).
Saisir l’adresse et la clé
Saisissez https://api.spicyapi.ai/v1 comme adresse et votre clé sk-spicy- dans le champ de clé. L’application retire un /chat/completions final si vous le collez.
Récupérer la liste des modèles
Utilisez le bouton de récupération des modèles de l’application, choisissez un identifiant se terminant par /chat et réglez la longueur de sortie dans les réglages de génération.
Laissez « CORS Proxy » désactivé. KoboldAI Lite propose une option qui fait passer les requêtes par un proxy exploité par son auteur. Vous n’en avez pas besoin pour SpicyAPI, et l’activer fait transiter votre clé par le serveur de quelqu’un d’autre.
Échantillonnage. Son réglage de répétition est envoyé à l’API comme une pénalité de présence. SpicyAPI l’ignore pour les modèles qui ne l’utilisent pas.
Janitor AI
Non vérifié
Nous n’avons pas pu confirmer que Janitor AI fonctionne avec SpicyAPI. Janitor AI est à code fermé et il faut un compte pour le tester : personne n’a donc essayé une vraie conversation. Ce qui suit décrit ses réglages de proxy tels qu’ils sont présentés dans le centre d’aide de Janitor et dans le code publié de sa page. Considérez-le comme une piste à essayer, pas comme une promesse.
La fonction « proxy » de Janitor AI envoie votre conversation à l’adresse de votre choix. D’après le centre d’aide de Janitor, les champs se trouvent dans l’icône d’engrenage de la page de chat, sous API Settings, puis Add Configuration.
Ajouter une configuration
Renseignez :
- Config Name : ce que vous voulez, par exemple
SpicyAPI. - Model Name : l’identifiant du modèle, saisi à la main :
MODEL_ID_FROM_CATALOG. - Proxy URL : l’adresse complète,
https://api.spicyapi.ai/v1/chat/completions. Janitor a un bouton « Add /chat/completions » qui s’en charge après que vous avez saisihttps://api.spicyapi.ai/v1. - API Key : votre clé
sk-spicy-.
Enregistrer, puis envoyer un message
Le bouton Check Key/Model de Janitor est décrit par son centre d’aide comme peu fiable : testez plutôt avec un vrai message.
Si Janitor affiche une erreur réseau ou de connexion, comme « A network error occurred », la page de Janitor bloque probablement les requêtes vers des adresses autres que celle d’OpenAI. La page web de Janitor applique une politique de sécurité qui n’autorise les requêtes directes que vers une seule adresse d’IA tierce, celle d’OpenAI. Lorsque Janitor envoie la requête depuis votre navigateur, le navigateur la refuse avant que SpicyAPI ne voie quoi que ce soit, et SpicyAPI n’y peut rien. Si votre clé n’affiche aucune utilisation dans la console pendant que cette erreur apparaît, c’est la cause.
Si vous y êtes confronté, utilisez plutôt SillyTavern ou RisuAI.
Autres faits tirés du centre d’aide et du code de page de Janitor :
- Certains bots de Janitor ont les proxys désactivés par leurs auteurs : un bot peut donc refuser de discuter via un proxy, quoi que vous saisissiez.
- Janitor affiche la réflexion d’un modèle entourée de balises
<think>. Utilisez un Max tokens plus grand ou un effort de raisonnement plus faible pour la garder courte. - Janitor limite la longueur d’un message que vous saisissez.
Dépannage
| Ce que vous voyez | Que faire |
|---|---|
401 ou « invalid API key » | Copiez de nouveau la clé depuis la console. Une clé révoquée cesse de fonctionner immédiatement, et il doit s’agir de la clé sk-spicy-, pas d’un mot de passe de compte. |
402 ou « insufficient balance » | Ajoutez des fonds dans la console, ou vérifiez que le plafond de dépense quotidien de la clé n’est pas atteint. Voir Facturation. |
404 ou « model not found » | L’identifiant du modèle est erroné. Il doit se terminer par /chat et être orthographié comme dans https://api.spicyapi.ai/v1/models. |
404 sur l’adresse elle-même, avec un chemin doublé comme /chat/completions/chat/completions | L’application ajoute elle-même le chemin. Utilisez https://api.spicyapi.ai/v1 (RisuAI, Agnai, Chub, KoboldAI Lite). Seul Janitor AI a besoin du chemin complet. |
400 qui nomme un champ | L’application a envoyé quelque chose que le modèle n’accepte pas et qui n’est pas un réglage d’échantillonnage. Supprimez ou désactivez le champ nommé. |
400 à propos du nombre de messages | L’historique de la conversation dépasse la limite de messages du modèle. Réduisez l’historique ou la taille de contexte dans l’application. |
upstream_failed, « the output budget was spent on reasoning » | Augmentez Max tokens, ou réduisez l’effort de raisonnement du modèle. Voir Modèles de raisonnement et Max tokens. |
| La réponse s’arrête en pleine phrase | Max tokens est trop bas, ou (dans Chub) la limite de 120 secondes a été atteinte. |
| « Network error » ou « Failed to fetch » dans l’application, et aucune requête dans les journaux de votre console | La requête n’a jamais atteint SpicyAPI. Sur Janitor AI, c’est la page qui bloque l’adresse ; ailleurs, vérifiez qu’il n’y a pas de faute de frappe dans l’adresse et que le site est joignable. |
429 | Trop de requêtes en même temps. Attendez quelques secondes ; les applications partagées peuvent envoyer les requêtes de nombreux utilisateurs depuis une même adresse. |
Les codes d’erreur sont expliqués dans Erreurs. Chaque erreur se termine par un request_id ; communiquez-le au support et la requête pourra être retrouvée précisément. Vos requêtes apparaissent aussi sous Logs dans la console, ce qui est le moyen le plus rapide de savoir si une requête a bien atteint SpicyAPI.
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.
Bot Telegram et Discord
Faites tourner votre propre bot privé qui crée des images et des vidéos, anime des images et discute avec des personnages que vous définissez, payé sur votre solde SpicyAPI, avec des limites de dépense vérifiées avant chaque débit.

