Première requête en cinq minutes
Intégrez notre API sans censure dans votre workflow IA NSFW en mettant à jour trois valeurs de configuration dans votre client compatible OpenAI. Ce guide couvre l'authentification, la génération de texte et le streaming sans dépendances supplémentaires.
URL de base et authentification
Notre API reproduit l'interface OpenAI v1, vous permettant de changer d'endpoints sans modifier la logique de votre application. Utilisez https://api.groknsfw.top/v1 comme URL de base. L'authentification nécessite une clé API valide transmise dans l'en-tête Authorization sous forme de jeton Bearer. Vous pouvez générer cette clé instantanément via la connexion Google ou par e-mail sur le tableau de bord. Chaque compte prend en charge une seule clé active à la fois ; l'émission d'une nouvelle clé invalide immédiatement la précédente. Ce modèle à clé unique simplifie le contrôle d'accès pour la plupart des environnements de développement et de QA.
Première requête
Envoyez une requête standard de complétion de chat pour tester la connectivité. L'identifiant du modèle est uncensored, qui gère les refus de contenu différemment des modèles standards. Voici un exemple de base utilisant l'outil en ligne de commande curl pour vérifier que votre clé et votre URL de base sont corrects.
curl https://api.groknsfw.top/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."}]
}'
Si vous recevez une réponse JSON avec choices et usage, votre intégration est active. Consultez l'objet usage pour voir la consommation de tokens et suivre la facturation avec précision.
Intégration du SDK Python
Utilisez le package Python officiel openai pour interagir avec notre endpoint. Définissez les attributs base_url et api_key avant d'effectuer des appels. Cette approche fonctionne avec toute bibliothèque prenant en charge le schéma OpenAI, rendant la migration depuis d'autres fournisseurs simple.
from openai import OpenAI
client = OpenAI(base_url="https://api.groknsfw.top/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)
Cet extrait illustre une requête synchrone. Pour la génération de contenu NSFW à haut débit, envisagez d'utiliser des clients asynchrones pour gérer plusieurs requêtes simultanément sans bloquer votre thread principal.
Configuration du SDK Node.js
Pour les applications JavaScript ou TypeScript, configurez le SDK OpenAI pour pointer vers notre URL de base. Cela garantit que votre code client existant fonctionne sans modification. L'écosystème Node.js bénéficie de cette compatibilité, permettant un prototypage rapide des interfaces de chat NSFW.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.groknsfw.top/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);
Assurez-vous d'utiliser une version récente du SDK qui prend en charge les URL de base personnalisées. L'objet de configuration doit inclure strictement les propriétés apiKey et baseURL pour éviter les incompatibilités d'endpoint.
Réponses en streaming (SSE)
Activez la génération de tokens en temps réel en définissant stream: true dans votre requête. L'API retourne un flux Server-Sent Events (SSE), délivrant les tokens au fur et à mesure de leur génération. Cela réduit la latence perçue pour les utilisateurs finaux dans les applications de chat.
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)
Analysez les événements SSE pour extraire le contenu delta. Le dernier fragment du flux contient les statistiques totales usage, que vous devez utiliser pour la réconciliation comptable précise. Le streaming n'affecte ni le comptage des tokens ni la tarification.
Limites, erreurs et contexte
Vos requêtes sont soumises à une limite de 300 par minute et de 8 requêtes simultanées par clé. La taille maximale du corps de la requête est de 8 Mo, et la fenêtre de contexte prend en charge jusqu'à 100 000 tokens au total. Les erreurs sont renvoyées au format HTTP standard : 401 pour les clés invalides, 402 pour un crédit insuffisant, et 429 pour les limites de débit. Les erreurs de crédit sont gratuites, mais les limites de débit vous obligent à réduire le débit des requêtes. Le nombre maximal de tokens en sortie par requête est de 32 000 ; l'omission de max_tokens vaut par défaut 2 048 tokens.
Fonctions et limites
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é |
| Authentification | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.groknsfw.top/v1 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| ID du modèle | uncensored |
| Mode JSON | response_format: {"type": "json_object"} |
| Sortie max. | jusqu'au reste de la fenêtre de 100 000 tokens ; max_tokens optionnel (pas de plafond distinct) |
| 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) |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite de débit | 300 requêtes par minute et par clé |
| Concurrence | 8 requêtes simultanées par clé |
| Taille | jusqu'à 8 Mo par requête |
| 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 |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| Prix | 0,25 $ par million de tokens en entrée · 1,00 $ par million en sortie |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| Connexion | Google ou e-mail et mot de passe |
| Clés | une clé active par compte ; une nouvelle remplace l'ancienne |
| Contenu | contenu adulte autorisé ; tout contenu sexuel impliquant des mineurs est refusé |
Codes d'erreur
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 officielle Grok ?
Non, nous sommes un service indépendant hébergeant un modèle à poids ouverts ajusté pour des réponses sans censure. Nous utilisons le même protocole API qu'OpenAI, mais notre modèle n'est ni GPT-4, ni Grok, ni celui d'un autre fournisseur. Consultez la documentation du fournisseur pour les détails spécifiques de leurs modèles.
Comment obtenir plus de clés API ?
Chaque compte est limité à une seule clé API active à la fois. La génération d'une nouvelle clé sur le tableau de bord invalide immédiatement la clé précédente. Cette conception simplifie la gestion des accès pour les développeurs individuels et les petites équipes.
L'API prend-elle en charge l'appel de fonctions ?
Oui, l'API prend en charge l'appel de fonctions standard via les paramètres <code>tools</code> et <code>tool_choice</code>. Vous pouvez également imposer une sortie JSON en utilisant <code>response_format: { "type": "json_object" }</code> pour la génération de données structurées.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.