- NSFW Video API
- Avvio rapido: Integra testo senza censura nel tuo flusso video
Guida rapida: Integra testo senza censura nel tuo flusso video
Integra la nostra API di testo senza censura nella tua pipeline video NSFW con questa guida rapida. Imparerai come autenticarti, generare script e trasmettere le risposte utilizzando client compatibili con OpenAI.
URL base e autenticazione
La nostra API è ospitata su https://api.nsfwvideo.top/v1. Per l'autenticazione, è necessaria una chiave API dal dashboard del tuo account. Puoi registrarti tramite Google o email per ricevere la tua chiave immediatamente. Inserisci questa chiave nell'intestazione Authorization come token Bearer. Questa configurazione funziona con qualsiasi SDK compatibile con OpenAI configurando l'URL di base e la chiave API. Assicurati che il tuo client invii le richieste al nostro endpoint specifico per accedere al modello senza censura.
Genera script video
Invia una richiesta POST a /v1/chat/completions con l'ID del modello uncensored. Questo modello è ottimizzato per rispondere senza rifiuti di contenuto per uso adulto legale, rendendolo ideale per i copioni video NSFW. Puoi richiedere descrizioni dettagliate di scene o dialoghi. L'API restituisce testo che puoi alimentare direttamente nella tua pipeline di generazione video per un output coerente.
curl https://api.nsfwvideo.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."}]
}'
Ingegnerizzazione del prompt con modalità JSON
Per i dati strutturati, utilizza il parametro response_format impostato su {"type": "json_object"}. Questo garantisce che il modello restituisca JSON valido, essenziale per l'analisi dei metadati o dei prompt strutturati nel tuo flusso di lavoro di automazione. Puoi definire uno schema nel tuo prompt di sistema per imporre chiavi specifiche come scene_description o camera_angles. Questo riduce il sovraccarico di post-elaborazione e mantiene pulita la tua pipeline.
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwvideo.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)
Risposte in streaming
Abilita lo streaming impostando stream su true. L'endpoint restituisce i blocchi tramite Server-Sent Events (SSE). Questo ti permette di visualizzare i progressi o elaborare i token in tempo reale. Ogni blocco contiene testo parziale, e l'ultimo blocco include le statistiche sull'utilizzo dei token. Lo streaming è efficiente per script lunghi, consentendo alla tua applicazione di reagire ai contenuti man mano che vengono generati senza attendere la risposta completa.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwvideo.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);
Gestione delle finestre di contesto
La finestra di contesto è di 100.000 token, che coprono sia il prompt che il completamento. L'output massimo per richiesta è di 32.000 token, o 2.048 se max_tokens non è impostato. Pianifica la lunghezza del tuo input di conseguenza per evitare il troncamento. Per conversazioni lunghe, gestisci la cronologia eliminando i messaggi più vecchi. Questo garantisce che il modello abbia spazio sufficiente per il contesto rilevante, mantenendo la coerenza nella generazione del tuo script video.
Limiti di velocità e token
Sei limitato a 300 richieste al minuto e a 8 richieste parallele per chiave. Il corpo della richiesta non deve superare gli 8 MB. Errori come 401 (chiave non valida) o 402 (nessun credito) non consumano il tuo credito prepagato. Anche i limiti di velocità (429) non consumano credito, permettendoti di riprovare senza penalità. Il credito viene addebitato solo per l'utilizzo riuscito dei token, garantendo il controllo dei costi per pipeline ad alto volume.
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)Scheda tecnica dell'API
Tutti i limiti e le funzioni reali dell'API in un unico posto: controllali prima di ricaricare.
| Voce | Valore |
|---|---|
| Formato | compatibile OpenAI: qualsiasi SDK OpenAI funziona cambiando base URL e chiave |
| ID modello | uncensored |
| Autenticazione | Authorization: Bearer YOUR_KEY |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.nsfwvideo.top/v1 |
| Output massimo | fino al resto della finestra di 100.000 token; max_tokens opzionale (nessun limite separato) |
| Parametri | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Finestra di contesto | 100.000 token (input + output) |
| Modalità JSON | response_format: {"type": "json_object"} |
| Streaming | sì — server-sent events; l'ultimo blocco riporta l'uso dei token |
| Function calling | sì — tools, tool_choice; risposte con tool_calls anche in streaming; risultati come role: tool |
| Limite di frequenza | 300 richieste al minuto per chiave |
| Header | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concorrenza | 8 richieste contemporanee per chiave |
| Dimensione | fino a 8 MB per richiesta |
| Bonus | +5% da $50, +10% da $100 |
| Fatturazione | credito prepagato in base all'uso reale; errori e rifiuti gratuiti |
| Prezzo | $0,25 per 1M token in input · $1,00 per 1M in output |
| Scadenza | il credito pagato non scade, nessun abbonamento |
| Prova gratuita | $0,50 per 7 giorni, senza carta · Chiave di prova: 2 richieste parallele, 60 al minuto; limiti completi (8 e 300) dopo la prima ricarica |
| Ricarica | USDT (TRC20) o USDC (Base), qualsiasi importo intero da $10 a $500 |
| Chiavi | una chiave attiva per account; una nuova sostituisce la precedente |
| Accesso | Google oppure e-mail e password |
| Contenuti | contenuti per adulti consentiti; rifiutati i contenuti sessuali con minori |
Codici di errore
Gli errori arrivano in JSON con un type fisso; le richieste fallite o rifiutate non si pagano.
| Codice | Tipo | Significato |
|---|---|---|
400 | bad_request | JSON non valido, messaggi vuoti, parametro errato o contesto troppo lungo |
401 | missing_key · invalid_key · key_revoked | chiave mancante, errata o sostituita |
402 | no_credit | credito esaurito — ricarica e riparti subito |
403 | content_blocked | contenuti sessuali con minori — rifiutato, non addebitato |
404 | not_found | endpoint sconosciuto |
413 | request_too_large | corpo oltre 8 MB |
429 | rate_limited · concurrency | oltre 300/min o 8 in parallelo — attendi e riprova |
503 | upstream_busy | modello occupato — riprova tra pochi secondi |
Domande e risposte
Cosa succede se rimango senza credito?
La tua chiave API rimane attiva, ma le richieste restituiranno un errore 402 che indica fondi insufficienti. Puoi ricaricare tramite criptovaluta in qualsiasi momento per riprendere l'utilizzo. Errori e rifiuti sono gratuiti, quindi non verrai addebitato per i tentativi falliti.
L'API supporta la chiamata di funzioni?
Sì, l'API supporta la chiamata di funzioni tramite i parametri <code>tools</code> e <code>tool_choice</code>. Puoi definire funzioni personalizzate nella tua richiesta per far restituire al modello dati strutturati. Questo è utile per l'integrazione con altre parti del tuo flusso di lavoro di produzione video.
Esiste un piano gratuito?
No, non esiste un piano gratuito. Tuttavia, ogni nuovo account riceve $0.50 di credito di prova valido per 7 giorni. Puoi ricaricare con criptovalute a partire da $10. Il credito non scade mai e può essere utilizzato per qualsiasi tipo di richiesta.
La tua chiave è a un modulo di distanza
Crea un account, copia la chiave, modifica l'URL base. È tutta qui la configurazione.