Guide de démarrage pour les pipelines Whisper
Intégrez notre modèle textuel sans censure dans vos pipelines de parole ou d'image avec une API de complétion de chat compatible OpenAI. Ce guide couvre les étapes essentielles pour envoyer des requêtes, gérer le streaming et gérer les fenêtres de contexte pour les tâches de post-traitement.
Prérequis
Avant de commencer, assurez-vous de disposer d'un compte actif et d'une clé API. Inscrivez-vous sur la page Obtenir la clé API en utilisant uniquement votre adresse e-mail et un mot de passe. La clé s'affiche immédiatement. Vous recevez $0.50 de crédit d'essai valable 7 jours, sans carte bancaire requise. Pour la production, rechargez à partir de $10 via crypto (USDT ou USDC). Notre tarification est simple : $0.25 par 1M de tokens d'entrée et $1.00 par 1M de tokens de sortie. Les crédits n'expirent jamais.
URL de base : https://api.whisperapis.com/v1. Cet endpoint fonctionne avec n'importe quel client compatible OpenAI. Vous devez uniquement configurer l'URL de base et fournir votre clé API dans l'en-tête d'autorisation. Aucun SDK spécial n'est requis pour les requêtes HTTP de base.
Initialiser le client
La plupart des développeurs utiliseront le SDK officiel OpenAI ou une bibliothèque compatible. Initialisez le client en le pointant vers notre URL de base. Cela garantit que toutes les requêtes sont acheminées vers notre modèle sans censure plutôt que vers les serveurs d'OpenAI. L'ID du modèle est toujours uncensored.
Assurez-vous que votre variable d’environnement OPENAI_API_KEY est définie avec votre clé issue du tableau de bord. Si vous utilisez un autre langage ou bibliothèque, vérifiez qu’elle prend en charge les URLs de base personnalisées. Le SDK se charge de la sérialisation JSON et de l’injection des en-têtes pour vous, réduisant ainsi le code répétitif dans vos scripts de pipeline.
Envoyer une complétion de chat
Envoyez une requête standard de complétion de chat pour affiner la sortie de votre pipeline. Par exemple, extrayez du JSON structuré à partir de transcriptions de synthèse vocale ou générez des légendes pour des images sans filtres de contenu.
L'endpoint est POST /v1/chat/completions. Incluez l'ID du modèle, votre tableau de messages et, optionnellement, votre prompt système pour définir le comportement sans censure.
curl https://api.whisperapis.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."}]
}'Notre modèle gère bien les données à haute fenêtre de contexte, supportant jusqu'à 100 000 tokens au total. C'est idéal pour traiter de longues transcriptions ou des descriptions d'images détaillées en une seule passe.
Réponses en streaming
Pour le post-traitement en temps réel ou les pipelines interactifs, activez le streaming. Définissez le paramètre stream sur true dans votre requête. L'API renvoie des événements SSE au lieu d'un seul objet JSON.
Analysez les champs delta à mesure qu'ils arrivent. Cela réduit la latence perçue pour les grandes sorties, comme la génération de scripts détaillés ou l'extraction de longs blocs de texte à partir de résultats OCR bruités. Le format de streaming est compatible avec les gestionnaires de streaming standard du SDK OpenAI.
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)Assurez-vous que votre client gère correctement les chunks partiels. Agrégez les deltas pour reconstituer la réponse textuelle complète une fois que le flux se termine avec un finish_reason de stop ou length.
Support de l'appel de fonctions
Notre modèle sans censure prend en charge l'appel de fonctions, vous permettant de définir des sorties structurées pour vos pipelines. Définissez vos outils dans le tableau tools avec des définitions de schéma JSON.
Le modèle renvoie des appels d'outils dans la réponse, que vous pouvez exécuter pour mettre à jour le contexte de la conversation. Cela est utile pour extraire des points de données spécifiques à partir de texte non structuré, comme des dates, des noms ou des coordonnées à partir de transcriptions vocales.
from openai import OpenAI
client = OpenAI(base_url="https://api.whisperapis.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)Renvoyez les appels d'outils à l'API dans les messages suivants. Le modèle affinera sa sortie en fonction des résultats. Cela permet un raisonnement complexe en plusieurs étapes sans quitter l'interface de chat. Assurez-vous que votre schéma est strict pour éviter les réponses JSON mal formées.
Limites, erreurs et contexte
Surveillez votre utilisation pour éviter les interruptions. L'API applique une limite de 300 requêtes par minute par clé. Si vous dépassez cette limite, vous recevez une erreur de limite de débit 429. Implémentez une rétrogradation exponentielle dans votre client.
Erreurs courantes :
401: Clé API invalide ou expirée. Regénérez votre clé depuis le tableau de bord.402: Crédit insuffisant. Rechargez votre compte pour continuer le traitement.429: Limite de débit dépassée. Réduisez la fréquence des requêtes ou regroupez des tâches plus petites.
Fenêtre de contexte : Le modèle supporte 100 000 tokens pour le prompt + la complétion. Si votre entrée dépasse cette limite, tronquez les messages plus anciens ou divisez les données. Les corps de requête sont limités à 8 Mo. Assurez-vous que vos charges utiles respectent ces contraintes pour des performances fiables.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.whisperapis.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);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 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Authentification | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.whisperapis.com/v1 |
| Sortie max. | jusqu'au reste de la fenêtre de 100 000 tokens ; max_tokens optionnel (pas de plafond distinct) |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| Mode JSON | response_format: {"type": "json_object"} |
| Paramètres | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Appel de fonctions | oui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool |
| Fenêtre de contexte | 100 000 tokens (entrée + sortie) |
| Taille | jusqu'à 8 Mo par requête |
| Limite de débit | 300 requêtes par minute et par clé |
| Concurrence | 8 requêtes simultanées par clé |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| 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 |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Prix | 0,25 $ par million de tokens en entrée · 1,00 $ par million en sortie |
| Clés | une clé active par compte ; une nouvelle remplace l'ancienne |
| Connexion | Google ou e-mail et mot de passe |
| Contenu | contenu adulte autorisé ; tout contenu sexuel impliquant des mineurs est refusé |
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
Quelle est la taille de la fenêtre de contexte ?
Le modèle prend en charge une fenêtre de contexte de 100 000 tokens, incluant à la fois le prompt et la complétion. Cela vous permet de traiter de grandes transcriptions ou des descriptions détaillées en une seule requête.
Cette API génère-t-elle des images ou de l'audio ?
Non. Il s'agit d'une API de complétion de chat uniquement textuelle. Elle est conçue pour le post-traitement des sorties textuelles d'autres modalités comme la synthèse vocale ou la génération d'images. Elle ne génère ni audio, ni images, ni vidéo.
Comment gérer les erreurs de streaming ?
Les réponses en streaming renvoient des événements SSE. En cas d’erreur, le flux se termine généralement par un message d’erreur dans le champ error du dernier chunk. Assurez-vous que votre client gère les coupures de connexion de manière élégante et réessaie si nécessaire.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.