Documentation API : Chat Completions pour les pipelines de texte
Faites fonctionner votre LLM sans censure dans votre pipeline de parole en texte avec ce guide de démarrage. Utilisez l'endpoint compatible OpenAI pour envoyer du texte, streamer les résultats ou appeler des outils via des SDK standards.
URL de base et authentification
Commencez par pointer votre client vers l'URL de base https://api.speechtotextapis.com/v1. Cet endpoint est entièrement compatible OpenAI, ce qui signifie que vous pouvez utiliser n'importe quel SDK openai standard en remplaçant simplement le paramètre base_url. Vous n'avez pas besoin de réécrire la logique de vos requêtes ; il suffit de changer l'URL et d'injecter votre clé API. Votre clé est générée immédiatement après la connexion sur la page des clés. Elle est liée à votre compte et vous pouvez la régénérer à tout moment, ce qui révoque instantanément l'ancienne clé. Aucune exigence de numéro de téléphone n'est nécessaire, et le crédit d'essai gratuit s'active sans carte. Cette configuration garde votre pipeline simple tout en vous assurant l'accès à un modèle sans censure qui gère le contenu adulte légal sans atténuer les sorties.
Première requête
Envoyez une requête POST standard vers /v1/chat/completions. L'identifiant du modèle est toujours uncensored. Ce modèle est une variante à poids ouverts réglée pour un refus minimal sur les sujets légaux. Il s'exécute sur nos serveurs GPU dédiés. Vous n'obtenez pas GPT ou Claude ; vous obtenez une expérience cohérente avec un seul modèle. Le corps de la requête inclut les drapeaux model, messages et stream. Voici un exemple cURL de base pour vérifier la connectivité et obtenir une réponse textuelle.
curl https://api.speechtotextapis.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Cette requête renvoie un objet JSON avec le texte généré. Si la clé est invalide, vous recevez une erreur 401. Si votre crédit prépayé est épuisé, vous recevez une erreur 402. Ce sont les principaux blocages à vérifier avant de déboguer la logique.
Intégration SDK Python
Pour les développeurs Python, la bibliothèque officielle openai fonctionne directement. Initialisez le client avec votre clé et l'URL de base personnalisée. Transmettez l'ID du modèle uncensored dans votre appel de complétion de chat. Cette approche est idéale pour le post-traitement des sorties ASR, le nettoyage du bruit de transcription ou l'extraction de données structurées à partir de texte brut. La nature sans censure garantit que si votre transcription contient des dialogues adultes ou des termes controversés, le LLM les traitera sans bloquer ni réécrire pour convenance. C'est crucial pour les pipelines créatifs où la fidélité à l'audio source est primordiale. Le SDK gère automatiquement la tokenisation et la logique de nouvelle tentative.
from openai import OpenAI
client = OpenAI(base_url="https://api.speechtotextapis.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
N'oubliez pas que l'ID du modèle est strictement uncensored. Ne le remplacez pas par gpt-4 ou d'autres identifiants génériques, car ceux-ci peuvent ne pas être acheminés vers nos poids sans censure spécifiques.
Intégration SDK Node.js
Les développeurs Node.js peuvent utiliser le package npm openai de manière similaire. Définissez apiKey et baseURL dans le constructeur du client. Ensuite, appelez chat.completions.create avec le modèle uncensored. Cela est utile pour les scripts de sous-titrage en temps réel ou les tâches de génération de texte côté serveur. L'API prend en charge les charges utiles JSON standard. Vous pouvez inclure des messages système pour définir le ton ou le rôle de l'assistant. Le modèle sans censure répond directement à ces prompts sans couches de sécurité supplémentaires qui pourraient altérer la sortie créative. Assurez-vous de gérer le flux de réponse si vous traitez de grands documents. Le SDK Node abstrait les détails HTTP, vous permettant de vous concentrer sur la logique du pipeline textuel.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.speechtotextapis.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Les limites de débit s'appliquent par clé. Si vous dépassez 300 requêtes par minute, l'API renvoie une erreur 429. Implémentez une rétrogradation exponentielle dans votre logique de nouvelle tentative pour gérer cela correctement.
Réponses en streaming (SSE)
Pour les applications à faible latence, activez le streaming en définissant stream: true dans votre requête. L'API renvoie des chunks d'événements envoyés par le serveur (SSE). Chaque chunk contient une partie du delta de texte. Ceci est essentiel pour la sous-titrage en direct ou les interfaces de chat interactives. Le modèle sans censure prend en charge le streaming nativement. Vous n'avez pas besoin d'attendre la complétion complète pour commencer à afficher du texte. Cela réduit considérablement la latence perçue. Configurez votre SDK pour gérer les événements de streaming. En Python, itérez sur l'objet de streaming. En Node, utilisez l'itérateur asynchrone. Le streaming se termine avec un dernier chunk contenant la raison de fin. Cette méthode est efficace pour la bande passante et l'expérience utilisateur.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Le streaming ne modifie pas la facturation par token. Vous êtes facturé pour le total des tokens d'entrée et de sortie, que vous utilisiez le streaming ou demandiez une réponse complète.
Limites et contraintes
Votre compte a une limite stricte de 300 requêtes par minute par clé API. Le corps de la requête ne peut pas dépasser 8 Mo. La fenêtre de contexte est de 100 000 tokens, couvrant à la fois le prompt et la complétion. Cela suffit pour la plupart des tâches de traitement de documents et de transcription à contexte long. Si vous envoyez un prompt qui dépasse la fenêtre, l'API renvoie une erreur. Le modèle sans censure bloque une seule limite stricte : le contenu sexuel impliquant des mineurs. Tout autre contenu adulte légal est autorisé. Cela le rend idéal pour les pipelines multimédias où une variété de contenu est attendue. Il n'y a pas d'abonnements ; vous payez à l'usage. Le crédit prépayé n'expire jamais. Utilisez l'endpoint GET /v1/models pour vérifier la disponibilité si nécessaire, bien que l'ID du modèle soit toujours uncensored.
Fiche technique de l'API
Toutes les limites et fonctions réelles de l'API au même endroit — vérifiez-les avant de recharger.
| Élément | Valeur |
|---|---|
| Format | compatible OpenAI : tout SDK OpenAI fonctionne en changeant la base URL et la clé |
| ID du modèle | uncensored |
| Base URL | https://api.speechtotextapis.com/v1 |
| Authentification | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Fenêtre de contexte | 100 000 tokens (entrée + sortie) |
| Paramètres | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Sortie max. | jusqu'au reste de la fenêtre de 100 000 tokens ; max_tokens optionnel (pas de plafond distinct) |
| Appel de fonctions | oui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| Mode JSON | response_format: {"type": "json_object"} |
| Limite de débit | 300 requêtes par minute et par clé |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concurrence | 8 requêtes simultanées par clé |
| Taille | jusqu'à 8 Mo par requête |
| Prix | 0,25 $ par million de tokens en entrée · 1,00 $ par million en sortie |
| Essai gratuit | 0,50 $ pendant 7 jours, sans carte · Clé d'essai : 2 requêtes parallèles, 60 par minute ; limites complètes (8 et 300) après la 1re recharge |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| Clés | une clé active par compte ; une nouvelle remplace l'ancienne |
| Contenu | contenu adulte autorisé ; tout contenu sexuel impliquant des mineurs est refusé |
| Connexion | Google ou e-mail et mot de passe |
Erreurs et solutions
Les erreurs arrivent en JSON avec un type stable ; les requêtes échouées ou refusées ne sont pas facturées.
| Code | Type | Signification |
|---|---|---|
400 | bad_request | JSON invalide, messages vides, mauvais paramètre ou contexte trop long |
401 | missing_key · invalid_key · key_revoked | clé absente, erronée ou remplacée |
402 | no_credit | plus de crédit — rechargez, la reprise est immédiate |
403 | content_blocked | contenu sexuel impliquant des mineurs — refusé, non facturé |
404 | not_found | endpoint inconnu |
413 | request_too_large | corps supérieur à 8 Mo |
429 | rate_limited · concurrency | au-delà de 300/min ou 8 en parallèle — patientez |
503 | upstream_busy | modèle occupé — réessayez dans quelques secondes |
Questions et réponses
S'agit-il de l'API OpenAI officielle ?
Non, il s'agit d'un service indépendant. Nous hébergeons notre propre modèle sans censure compatible avec l'interface de chat completions d'OpenAI. Ce n'est pas GPT-4 ou GPT-3.5. Consultez la documentation d'OpenAI pour connaître leurs tarifs et limites spécifiques, car les nôtres sont différents.
Que se passe-t-il si je manque de crédit ?
Votre clé API reste active, mais les requêtes retourneront une erreur 402 Payment Required. Vous devez recharger votre compte prépayé via crypto (USDT ou USDC) pour reprendre l'utilisation. Les crédits n'expirent jamais, vous pouvez donc ajouter des fonds quand vous le souhaitez.
Le modèle sans censure filtre-t-il le contenu pour adultes ?
Il filtre le contenu sexuel impliquant des mineurs, ce qui est une limite stricte. Pour tout autre contenu adulte légal, les scénarios fictifs ou les sujets controversés, le modèle ne refuse ni n'adoucit la sortie. Cela garantit que votre pipeline préserve le ton et le sens originaux de votre texte source.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, changez l'URL de base. C'est toute la configuration.