Points clés
- Le crédit d'essai de 0,50 $ suffit pour plusieurs centaines de courts tours de jeu de rôle, valable 7 jours, sans besoin de paiement.
- N'importe quelle interface acceptant un endpoint compatible OpenAI fonctionne : définissez l'URL de base, la clé et le modèle
uncensored. - Le coût est déterminé par la longueur de l'historique du chat, pas par la longueur de la réponse. Réduisez ou résumez les anciens tours.
- Fiction et jeu de rôle pour adultes uniquement, dans le cadre de la loi. Rien impliquant des mineurs, jamais.
Ce que signifie « gratuit » ici
Il n'y a pas de chat gratuit sans limite sur ce service, et il vaut mieux le dire d'emblée. Ce que vous obtenez est un solde d'essai : après vous être inscrit avec Google, ou avec un e-mail et un mot de passe, vous pouvez réclamer 0,50 $ de crédit d'essai en un clic sur la page des clés API. C'est une fois par personne, valable 7 jours, et sans besoin de paiement. La clé d'essai fonctionne avec 2 requêtes simultanées et 60 requêtes par minute, ce qui est largement suffisant pour une personne qui discute.
Cela semble peu, mais les tokens sont bon marché. Le coût d'entrée est de 0,15 $ par 1 M de tokens et le coût de sortie est de 0,50 $ par 1 M. Un tour de jeu de rôle typique avec un prompt de 8 000 tokens et une réponse de 300 tokens coûte 0,00135 $, donc 0,50 $ couvre environ 370 tours. Pour beaucoup de personnes, c'est une soirée complète ou plusieurs courtes histoires, suffisant pour décider si la configuration vous convient avant tout investissement.
Lorsque l'essai est épuisé, vous rechargez à partir de 20 $ dans n'importe quel montant entier jusqu'à 500 $. Le crédit n'expire jamais, les requêtes échouées ou refusées ne sont pas facturées, et il n'y a pas d'abonnement à annuler. Ce site accepte uniquement la crypto : USDT sur TRC20 ou USDC sur Base.
Choisissez une interface
L'API ne parle que du texte sur HTTP. Vous avez toujours besoin de quelque chose pour conserver vos personnages, votre historique de chat et votre modèle de prompt. Trois choix courants :
- SillyTavern. Une application web locale conçue pour les chats de personnages, avec des livres de lore, des personnalités et des préréglages. Elle vous permet d'ajouter un endpoint compatible OpenAI, ce qui est exactement ce qu'est cette API.
- Un autre client de chat qui expose des champs pour une URL compatible OpenAI personnalisée. Recherchez les paramètres appelés endpoint personnalisé, proxy ou compatible OpenAI.
- Votre propre script. Cinquante lignes de Python vous donnent un contrôle total sur la mémoire, les prompts et le coût. C'est aussi le moyen le plus simple de voir ce que vous envoyez réellement.
Si vous créez une application et non juste un chat, les mêmes appels fonctionnent depuis n'importe quel SDK OpenAI. Le guide de démarrage dans la documentation liste les endpoints, les en-têtes et les limites en un seul endroit.
Connectez SillyTavern en cinq étapes
- Créez un compte, ouvrez la page des clés API, réclamez le crédit d'essai et copiez votre clé.
- Dans SillyTavern, ouvrez l'icône de prise (Connexions API) et définissez le type d'API sur Chat Completion.
- Choisissez la source nommée Custom (OpenAI-compatible).
- Collez
https://api.uncensoredvideo.cc/v1dans le champ endpoint personnalisé, votre clé dans le champ clé, et tapezuncensoredcomme ID de modèle. - Appuyez sur Connecter. Un statut vert signifie que la requête vers
GET /v1/modelsou un message de test a réussi.
Les étiquettes de menu varient entre les versions de SillyTavern, donc adaptez l'idée et non le libellé exact. Avant d'accuser l'application, testez la clé depuis un terminal :
curl https://api.uncensoredvideo.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}]}'Si curl fonctionne et que l'application ne fonctionne pas, le problème vient des champs de l'application : un /v1 manquant, un espace superflu dans la clé ou le mauvais nom de modèle.
Ou écrivez une petite boucle de chat
Un script est un bon moyen d'apprendre ce que coûte le jeu de rôle, car vous pouvez afficher l'utilisation des tokens à chaque tour. Celui-ci conserve un prompt de persona, réduit l'historique aux 20 derniers messages et diffuse la réponse.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.uncensoredvideo.cc/v1",
api_key=os.environ["API_KEY"],
)
system = (
"You are Mara, a dry-witted smuggler pilot in a space-opera story. "
"Stay in character, write in third person, keep replies under 150 words."
)
history = []
while True:
user = input("> ")
history.append({"role": "user", "content": user})
messages = [{"role": "system", "content": system}] + history[-20:]
stream = client.chat.completions.create(
model="uncensored",
messages=messages,
temperature=0.9,
top_p=0.95,
max_tokens=300,
stream=True,
stream_options={"include_usage": True},
)
reply = ""
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
piece = chunk.choices[0].delta.content
reply += piece
print(piece, end="", flush=True)
if chunk.usage:
print("\n[tokens in/out: %d/%d]" % (chunk.usage.prompt_tokens, chunk.usage.completion_tokens))
history.append({"role": "assistant", "content": reply})Surveillez la ligne d'utilisation. Après quelques dizaines de tours, vous verrez le compteur d'entrée augmenter tandis que la sortie reste stable. C'est ce nombre qu'il faut gérer.
Écrivez un prompt de personnage qui tienne la route
La plupart des problèmes de jeu de rôle commencent dans le premier prompt, pas dans le modèle. Un bon prompt de personnage est court et spécifique. Nommez le personnage, donnez une voix en une ou deux phrases, décrivez le cadre, et dites quelle devrait être la longueur des réponses. Ensuite, arrêtez. Chaque règle supplémentaire est un token que vous payez à chaque tour, et une longue liste de « fais » et de « ne fais pas » a tendance à être moins bien suivie qu'un exemple clair.
Comparez deux façons de décrire le même pilote. La première dit qu'elle est courageuse, drôle, loyale et intelligente. Cela ne donne au modèle rien d'exploitable. La seconde dit qu'elle répond aux questions avec une blague d'abord et la vérité ensuite, n'explique jamais son passé sauf si on lui demande deux fois, et jure légèrement lorsqu'une pièce du vaisseau casse. La seconde donne au modèle des habitudes à répéter, et les habitudes sont ce que les lecteurs perçoivent comme de la personnalité.
Ajoutez un court échange d'exemple de trois ou quatre lignes. Les modèles copient très bien le rythme, donc un exemple fixe la longueur, le temps et le point de vue sans règle séparée. Si vous écrivez à la deuxième personne, montrez-le. Si vous voulez une narration en italique, montrez-le aussi. Placez l'exemple dans le prompt système ou comme les premiers messages de l'historique.
Enfin, décidez qui contrôle les autres personnages. Si vous voulez que le modèle joue toute une distribution, dites-le. Si vous voulez qu'il ne joue qu'un seul rôle, dites qu'il ne doit jamais écrire les mots ou actions de votre personnage. Une séquence d'arrêt sur le nom de votre personnage renforce cela au niveau de l'API.
Ce que coûte un tour de jeu de rôle
Chaque requête renvoie le prompt système, la description du personnage et l'historique, donc les tokens d'entrée augmentent au fur et à mesure que le chat s'allonge. Voici le calcul pour une réponse de 300 tokens, qui coûte 300 x $0,50 / 1 000 000 = $0,00015 de son côté :
| Taille du prompt | Coût d'entrée | Coût par tour | Par 100 tours | Tours avec $0,50 |
|---|---|---|---|---|
| 4 000 tokens | $0,0006 | $0,00075 | $0,075 | environ 666 |
| 8 000 tokens | $0,0012 | $0,00135 | $0,135 | environ 370 |
| 20 000 tokens | $0,0030 | $0,00315 | $0,315 | environ 158 |
| 50 000 tokens | $0,0075 | $0,00765 | $0,765 | environ 65 |
La lecture est simple. Un prompt de 8 000 tokens serré coûte environ 5,7 fois moins cher qu'un de 50 000 tokens pour le même nombre de tours. Au niveau de 8 000 tokens, un rechargement de 20 $ paie environ 14 800 tours. Les rechargements plus importants ajoutent un bonus : +5 % à partir de 50 $, +10 % à partir de 100 $ et +15 % à partir de 200 $, donc 100 $ donnent 110 $ de crédit. Voir la page tarifaire pour le tableau complet.
Gardez les longues histoires bon marché et cohérentes
La fenêtre de contexte est de 100 000 tokens, prompt plus réponse, donc vous pouvez charger beaucoup. Vous devriez rarement le faire. Les prompts longs coûtent plus cher et donnent au modèle plus de texte dont il peut perdre le fil. Quelques habitudes aident :
- Résumez, puis supprimez. Tous les 20 tours, demandez au modèle un résumé de 150 mots de l'histoire jusqu'à présent, gardez-le dans le prompt système, et supprimez les anciens messages.
- Gardez la fiche de personnage courte. Une page de règles que le modèle ignore est une page que vous payez à chaque tour.
- Limitez la réponse.
max_tokensest optionnel, mais une limite arrête les réponses débridées et maintient un rythme serré. - Ajustez l'échantillonnage. Une température autour de 0,8 à 1,0 convient à la fiction. Si le modèle répète des phrases, augmentez légèrement la pénalité de fréquence ou de présence. Elles sont transmises telles quelles.
- Utilisez des séquences
stoppour que le modèle n'écrive pas vos lignes à votre place, par exemple un stop sur le nom de votre personnage suivi d'un deux-points.
Les graines fixes sont également transmises, ce qui aide lorsque vous souhaitez rejouer une scène et comparer deux versions de prompt.
Problèmes courants et solutions rapides
Voici les problèmes que vous rencontrez le plus souvent dans les longues conversations, avec le réglage qui aide généralement.
- Le modèle parle pour vous. Ajoutez une ligne au prompt système, ainsi qu'une séquence d'arrêt sur le nom de votre personnage.
- Les réponses s'allongent à chaque tour. Le modèle copie la longueur des réponses précédentes. Réduisez
max_tokens, éditez une longue réponse manuellement, et le motif se réinitialise. - Phrases répétées. Augmentez légèrement la température, ajoutez une pénalité de présence ou de fréquence, et variez vos propres messages. Le modèle imite ce qu'il voit.
- Détails oubliés. Placez les faits qui doivent persister, tels que les noms, les blessures et les promesses, dans une note épinglée courte près du haut du prompt, et actualisez-la lorsque l'histoire change.
- Ton plat. Donnez un exemple de voix plus marqué. Le ton vient bien plus des exemples que des adjectifs.
Lorsque quelque chose d'étrange se produit, imprimez la liste complète des messages que votre script envoie. Neuf fois sur dix, la cause est visible dans le prompt lui-même : une instruction résiduelle, un résumé dupliqué ou un historique qui n'a pas été réduit.
Limites et erreurs que vous pouvez rencontrer
Une clé complète permet 8 requêtes simultanées et 300 requêtes par minute, la clé d'essai 2 et 60. Si vous dépassez, l'API renvoie HTTP 429. Le code d'erreur rate_limited signifie trop de requêtes par minute, et concurrency signifie trop de requêtes à la fois. Un 429 avec un en-tête Retry-After: 5 signale une surcharge temporaire, attendez donc cinq secondes et réessayez.
Un détail surprend les gens : une requête streaming retient sa place de concurrence jusqu'à la fin du streaming. Si vous cliquez sur régénérer trois fois rapidement sur une clé d'essai, la troisième tentative peut échouer avec concurrency. Attendez la fin du streaming ou laissez le client réessayer après une courte pause. Chaque réponse porte également X-Balance-USD, donc votre script peut afficher le solde restant après chaque tour.
Une règle qui ne change pas : le modèle est ajusté pour répondre sans refus de contenu pour une utilisation adulte légale, et il n'écrira pas de contenu sexuel impliquant des mineurs. Gardez vos histoires dans les limites de cette règle. Les prompts ne sont pas utilisés pour l'entraînement.
