Démarrage rapide pour les pipelines Sora 2
Générez du texte sans censure pour vos pipelines vidéo Sora 2 grâce à notre API compatible OpenAI. Ce guide couvre l'authentification, les requêtes de base, le streaming et l'appel de fonctions pour démarrer immédiatement votre moteur de texte.
Authentification et URL de base
Notre API utilise une authentification standard compatible OpenAI. Vous aurez besoin d'une clé API depuis votre tableau de bord et de l'URL de base https://api.sora2apis.com/v1. Transmettez votre clé dans l'en-tête Authorization en tant que jeton Bearer. Cette configuration fonctionne avec n'importe quel SDK compatible OpenAI.
Inscrivez-vous pour obtenir votre clé. Les nouveaux comptes reçoivent 0,50 $ de crédit d'essai pendant 7 jours, sans carte bancaire requise. Pour une utilisation payante, les recharges débutent à 10 $. La clé est générée immédiatement après l'inscription et peut être régénérée à tout moment.
curl https://api.sora2apis.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."}]
}'
Endpoint Chat Completions
L'endpoint principal est POST /v1/chat/completions. Il accepte un champ model défini sur uncensored, qui est un modèle à poids ouverts ajusté pour répondre sans refus de contenu pour un usage adulte légal. Ce n'est pas GPT, Claude ou le modèle d'un autre fournisseur. Le modèle dispose d'une fenêtre de contexte de 100 000 tokens pour le prompt et la complétion.
Envoyez votre entrée de texte via le tableau messages. L'API renvoie du texte prêt pour votre pipeline de génération vidéo. Il n'y a pas de capacités d'embeddings, d'audio ou de génération vidéo dans cet endpoint. Il s'agit strictement de texte en entrée, texte en sortie.
from openai import OpenAI
client = OpenAI(base_url="https://api.sora2apis.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)
Réponses en streaming (SSE)
Pour la génération de texte en temps réel, définissez stream: true dans votre requête. L'API renvoie des Server-Sent Events (SSE) vous permettant de traiter les tokens au fur et à mesure de leur génération. Cela est utile pour les longs scripts ou légendes où vous souhaitez afficher la progression ou alimenter les données de manière incrémentale.
Chaque événement SSE contient un delta partiel de la réponse. Agrégez ces deltas pour reconstituer le texte complet. La réponse en streaming suit le format standard OpenAI SSE, assurant la compatibilité avec la plupart des SDK modernes. C'est idéal pour la génération de contenu dynamique dans votre workflow Sora 2.
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)
Appel de fonctions et d'outils
L'API prend en charge l'appel de fonctions et d'outils, vous permettant de définir des fonctions personnalisées que votre modèle peut utiliser. C'est précieux pour l'extraction de données structurées ou la prise de décision automatisée au sein de votre pipeline de texte. Définissez vos outils dans le tableau tools et spécifiez comment le modèle doit répondre.
Le modèle renverra des appels d'outils si nécessaire, que vous pourrez ensuite exécuter et réinjecter dans la conversation. Cela permet des workflows complexes où le moteur de texte peut interagir avec des systèmes externes ou formater les données précisément pour vos besoins de génération vidéo. C'est une fonctionnalité puissante pour les pipelines Sora 2 avancés.
Limites de débit et utilisation
Vous êtes limité à 300 requêtes par minute par clé. La taille maximale du corps de la requête est de 8 Mo. Si vous dépassez la limite de débit, vous recevrez une erreur 429. Assurez-vous que votre application gère les nouvelles tentatives de manière appropriée. Chaque compte dispose d'une seule clé API, qui peut être régénérée à tout moment, révoquant ainsi l'ancienne clé.
Les tarifs sont de 0,25 $ par 1M de tokens d'entrée et 1,00 $ par 1M de tokens de sortie. Les crédits sont prépayés et n'expirent jamais. Si vous manquez de crédit, vous recevrez une erreur 402. Les clés invalides entraînent une erreur 401. Les recharges démarrent à 10 $, avec des bonus pour les montants plus élevés.
Configuration du modèle
L'ID du modèle est toujours uncensored. C'est un modèle à poids ouverts, ajusté pour le contenu adulte légal sans refus. Ce n'est pas GPT, Claude, Gemini, Grok ou DeepSeek. Le modèle ne génère pas d'audio, d'images ou de vidéo. Il est strictement dédié à la génération de texte.
Vous pouvez ajuster des paramètres standard comme temperature et max_tokens pour contrôler la sortie. La fenêtre de contexte est de 100 000 tokens. Cette flexibilité vous permet d'ajuster finement la sortie textuelle pour vos besoins spécifiques de génération vidéo Sora 2. Le modèle est conçu pour être un moteur textuel fiable pour votre pipeline.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.sora2apis.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);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é |
| ID du modèle | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Authentification | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.sora2apis.com/v1 |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| Fenêtre de contexte | 100 000 tokens (entrée + sortie) |
| 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 |
| 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 |
| Taille | jusqu'à 8 Mo par requête |
| 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é |
| Limite de débit | 300 requêtes par minute et par clé |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| 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 |
| 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
Quelle est la taille de la fenêtre de contexte ?
La fenêtre de contexte est de 100 000 tokens, ce qui inclut à la fois le prompt et la complétion. Cela permet la génération de contenu long adaptée aux scripts et aux légendes détaillées.
Comment gérer les limites de débit ?
Vous êtes limité à 300 requêtes par minute par clé. Si vous dépassez ce seuil, vous recevrez une erreur 429. Implémentez une rétrogradation exponentielle dans votre application pour gérer les nouvelles tentatives de manière fluide.
Le contenu est-il vraiment sans censure ?
Le modèle ne refuse pas les sujets adultes légaux, fictifs, de recherche en sécurité ou controversés. Cependant, le contenu sexuel impliquant des mineurs est toujours bloqué. Il est conçu pour la liberté créative dans les limites légales.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.
Obtenir une clé API