API Suno : prompts et scripts via un seul endpoint
Générez des prompts, des scripts et des métadonnées sans censure pour votre pipeline créatif en utilisant un endpoint compatible OpenAI. Notre API de texte s'intègre directement dans vos workflows SDK existants sans filtre de contenu.
Authentification et URL de base
Notre API utilise l'authentification standard OpenAI. Vous avez uniquement besoin d'une clé API, que vous générez sur la page Obtenir la clé API. Aucun numéro de téléphone ni carte bancaire n'est requis pour commencer ; chaque nouveau compte reçoit 0,50 $ de crédit d'essai gratuit valable 7 jours.
Définissez l'URL de base sur https://api.sunoapis.com/v1 dans la configuration de votre client. L'identifiant de modèle à envoyer dans chaque requête est uncensored. Il s'agit d'un modèle à poids ouverts hébergé sur nos propres serveurs GPU, optimisé pour les usages adultes et créatifs licites, sans les refus typiques des grands fournisseurs.
- URL de base : https://api.sunoapis.com/v1
- ID du modèle : uncensored
- En-tête d'authentification : Authorization: Bearer VOTRE_CLE_API
Première requête
Commencez immédiatement avec une requête standard de complétion de chat. L'endpoint accepte des charges utiles JSON contenant votre prompt système, les instructions utilisateur et toute métadonnée nécessaire pour votre pipeline de texte-à-vidéo ou de musique IA.
Il s'agit d'une API textuelle uniquement. Elle ne génère pas d'audio, de vidéo ou d'images ; elle génère les instructions textuelles qui pilotent ces outils. Utilisez cet endpoint pour scénariser des scènes, écrire des paroles ou extraire des données structurées à partir de vos actifs créatifs.
curl https://api.sunoapis.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."}]
}'
SDK Python
Intégrez l'API dans vos applications Python en utilisant le SDK officiel d'OpenAI. Étant donné que nous sommes compatibles OpenAI, vous pouvez réutiliser votre code existant en modifiant simplement l'URL de base et la clé API.
Cette approche fonctionne pour générer des scripts pour des outils de génération vidéo ou écrire des métadonnées pour des API musicales. Assurez-vous que la version de votre SDK est à jour pour prendre en charge les fonctionnalités de streaming et d'appel de fonctions décrites dans les sections suivantes.
from openai import OpenAI
client = OpenAI(base_url="https://api.sunoapis.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)
SDK Node.js
Pour les développeurs JavaScript/TypeScript, le @anthropic-ai/sdk ou le openai officiel fonctionne avec des ajustements de configuration mineurs. Pointez votre client vers notre URL de base et utilisez l'ID de modèle uncensored.
Cela vous permet de générer du texte côté serveur pour vos applications créatives. Vous pouvez l'utiliser pour prétraiter les entrées utilisateur ou post-traiter les scripts générés avant de les envoyer à vos endpoints de génération audio ou vidéo. L'API renvoie des réponses JSON standard compatibles avec les frameworks web modernes.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.sunoapis.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);
Réponses en streaming
Pour les scripts longs ou les métadonnées détaillées, utilisez Server-Sent Events (SSE) pour recevoir des tokens en temps réel. Définissez stream: true dans le corps de votre requête. L'API enverra une série de chunks, vous permettant d'afficher le texte au fur et à mesure de sa génération.
Cela est particulièrement utile pour les outils créatifs interactifs où les utilisateurs souhaitent voir le prompt évoluer à mesure qu'il est écrit. Chaque chunk ne contient que le texte différentiel, vous devez donc concaténer les fragments pour reconstituer la réponse complète.
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)
Limites, erreurs et contexte
Chaque compte est limité à une seule clé API, que vous pouvez régénérer à tout moment (ce qui révoquera l'ancienne). Vous êtes autorisé à effectuer 300 requêtes par minute par clé, avec une taille maximale du corps de la requête de 8 MB.
Les erreurs courantes incluent 401 pour les clés invalides, 402 si vous disposez d'un crédit prépayé insuffisant, et 429 pour les limites de débit. Le modèle prend en charge une fenêtre de contexte de 100 000 tokens pour l'entrée et la sortie combinées.
Note sur le contenu : Le modèle ne refuse pas les sujets controversés ou pour adultes, mais il bloque strictement le contenu sexuel impliquant des mineurs dans toutes les requêtes.
Caractéristiques techniques
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é |
| Base URL | https://api.sunoapis.com/v1 |
| ID du modèle | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Authentification | Authorization: Bearer YOUR_KEY |
| Fenêtre de contexte | 100 000 tokens (entrée + sortie) |
| Mode JSON | response_format: {"type": "json_object"} |
| 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 |
| 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) |
| 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 |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| 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 |
| Prix | 0,25 $ par million de tokens en entrée · 1,00 $ par million en sortie |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| Contenu | contenu adulte autorisé ; tout contenu sexuel impliquant des mineurs est refusé |
| Connexion | Google ou e-mail et mot de passe |
| Clés | une clé active par compte ; une nouvelle remplace l'ancienne |
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
Cette API génère-t-elle de l'audio ou de la vidéo ?
Non. Il s'agit d'une API textuelle uniquement. Elle génère les prompts, les scripts et les métadonnées que vous pouvez ensuite envoyer à des outils de génération audio ou vidéo. Elle ne produit pas elle-même de fichiers multimédias.
Combien cela coûte-t-il ?
Vous payez à l'usage avec un crédit prépayé. Le prix est de 0,25 $ par 1 million de tokens d'entrée et de 1,00 $ par 1 million de tokens de sortie. Il n'y a pas de frais mensuels ni d'abonnement, et le crédit inutilisé n'expire jamais.
Le modèle est-il GPT-4 ou un modèle d'un autre fournisseur ?
Non. L'ID du modèle est <code>uncensored</code>. Il s'agit d'un modèle à poids ouverts entraîné et hébergé sur nos propres serveurs GPU, indépendant d'OpenAI, Anthropic ou d'autres fournisseurs.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.