- NSFW Video API
- Início rápido: integre texto sem censura ao seu fluxo de vídeo
Início rápido: integre texto sem censura ao seu fluxo de vídeo
Integre nossa API de texto sem censura ao seu pipeline de vídeo NSFW com este guia de início rápido. Você aprenderá a autenticar, gerar roteiros e transmitir respostas usando clientes compatíveis com OpenAI.
URL base e autenticação
Nossa API é hospedada em https://api.nsfwvideo.top/v1. Para autenticar, você precisa de uma chave de API no painel da sua conta. Você pode se cadastrar via Google ou e-mail para receber sua chave imediatamente. Passe essa chave no cabeçalho Authorization como token Bearer. Esta configuração funciona com qualquer SDK compatível com OpenAI configurando a URL base e a chave de API. Certifique-se de que seu cliente envie requisições para nosso endpoint específico para acessar o modelo sem censura.
Gerar roteiros de vídeo
Envie uma requisição POST para /v1/chat/completions com o ID do modelo uncensored. Este modelo é ajustado para responder sem recusas de conteúdo para uso adulto legal, sendo ideal para roteiros de vídeo NSFW. Você pode solicitar descrições detalhadas de cenas ou diálogos. A API retorna texto que você pode alimentar diretamente no seu pipeline de geração de vídeo para saída consistente.
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."}]
}'
Engenharia de prompt com modo JSON
Para dados estruturados, use o parâmetro response_format definido como {"type": "json_object"}. Isso garante que o modelo retorne JSON válido, essencial para analisar metadados ou prompts estruturados no seu fluxo de automação. Você pode definir um esquema no seu prompt do sistema para impor chaves específicas como scene_description ou camera_angles. Isso reduz a sobrecarga de pós-processamento e mantém seu pipeline limpo.
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)
Respostas em streaming
Ative o streaming definindo stream como true. A API retorna blocos via Server-Sent Events (SSE). Isso permite exibir progresso ou processar tokens em tempo real. Cada bloco contém texto parcial, e o bloco final inclui estatísticas de uso de tokens. O streaming é eficiente para roteiros longos, permitindo que seu aplicativo reaja ao conteúdo conforme é gerado sem aguardar a resposta 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);
Gerenciamento da janela de contexto
A janela de contexto é de 100.000 tokens, abrangendo prompt e conclusão. A saída máxima por requisição é de 32.000 tokens, ou 2.048 se max_tokens não for definido. Planeje o comprimento da entrada para evitar truncamento. Para conversas longas, gerencie o histórico removendo mensagens mais antigas. Isso garante que o modelo tenha espaço suficiente para contexto relevante, mantendo a coerência na geração de roteiros de vídeo.
Limites de taxa e tokens
Você está limitado a 300 requisições por minuto e 8 requisições simultâneas por chave. O corpo da requisição não deve exceder 8 MB. Erros como 401 (chave inválida) ou 402 (sem crédito) não consomem seu crédito pré-pago. Limites de taxa (429) também não consomem crédito, permitindo que você tente novamente sem penalidade. O crédito é cobrado apenas pelo uso bem-sucedido de tokens, garantindo controle de custos para pipelines de 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)Ficha técnica da API
Todos os limites e recursos reais da API em um só lugar — confira antes de recarregar.
| Item | Valor |
|---|---|
| Formato | compatível com OpenAI: qualquer SDK da OpenAI funciona trocando a base URL e a chave |
| ID do modelo | uncensored |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.nsfwvideo.top/v1 |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Modo JSON | response_format: {"type": "json_object"} |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Limite de taxa | 300 requisições por minuto por chave |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Tamanho | até 8 MB por requisição |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| Validade | crédito pago não expira, sem assinatura |
| Teste grátis | $0,50 por 7 dias, sem cartão · Chave de teste: 2 requisições paralelas, 60 por minuto; limites totais (8 e 300) após a primeira recarga |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
| Login | Google ou e-mail e senha |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
Erros e o que fazer
Erros chegam em JSON com um type fixo; requisições com falha ou recusadas não são cobradas.
| Código | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensagens vazias, parâmetro errado ou contexto longo demais |
401 | missing_key · invalid_key · key_revoked | chave ausente, errada ou substituída |
402 | no_credit | sem crédito — recarregue e continue na hora |
403 | content_blocked | conteúdo sexual com menores — recusado, sem cobrança |
404 | not_found | endpoint desconhecido |
413 | request_too_large | corpo acima de 8 MB |
429 | rate_limited · concurrency | acima de 300/min ou 8 em paralelo — aguarde e tente de novo |
503 | upstream_busy | modelo ocupado — tente em alguns segundos |
Perguntas e respostas
O que acontece se o crédito acabar?
Sua chave de API permanece ativa, mas as requisições retornarão erro 402 indicando fundos insuficientes. Você pode recarregar via cripto a qualquer momento para retomar o uso. Erros e recusas são gratuitos, então você não será cobrado por tentativas falhas.
A API suporta chamada de funções?
Sim, a API suporta chamada de funções via parâmetros <code>tools</code> e <code>tool_choice</code>. Você pode definir funções personalizadas na sua requisição para que o modelo retorne dados estruturados. Isso é útil para integrar com outras partes do seu fluxo de trabalho de produção de vídeo.
Existe uma camada gratuita?
Não, não há camada gratuita. No entanto, toda nova conta recebe $0,50 de crédito de teste válido por 7 dias. Você pode recarregar com cripto a partir de $10. O crédito nunca expira e pode ser usado para qualquer tipo de requisição.
Sua chave está a um formulário de distância
Crie uma conta, copie a chave, altere a URL base. Essa é toda a configuração.