Início rápido para pipelines Vibevoice
Obtenha texto bruto e sem censura do VibeVoice em segundos. Este início rápido mostra como integrar nossa api compatível com openai em seu pipeline usando SDKs padrão.
Pré-requisitos
Antes de integrar, certifique-se de ter uma conta ativa. Entre via Google ou e-mail na página Obter chave de API para receber sua chave exclusiva imediatamente. Não é necessário cartão de crédito para o crédito de teste inicial de $0,50. Nosso LLM sem censura serve o ID do modelo "uncensored" por meio de um endpoint padrão. A URL base é https://api.vibevoice.top/v1. Esta configuração funciona com qualquer SDK da OpenAI, tornando-se uma substituição pronta para usar para muitos pipelines existentes.
Autenticação
Passe sua chave de API no cabeçalho Authorization. O formato deve ser "Bearer YOUR_API_KEY". Se a chave estiver ausente ou inválida, a API retorna um erro 401. Como focamos no processamento de texto, certifique-se de que seu pipeline envie apenas dados de texto. A chave está vinculada a uma conta; gerar uma nova chave substitui a antiga instantaneamente. Essa simplicidade permite iteração rápida no seu ambiente de desenvolvimento.
Enviando uma Requisição
Faça uma requisição POST para /v1/chat/completions. Inclua o id do modelo, suas mensagens e quaisquer parâmetros. Aqui está um exemplo básico usando cURL:
curl https://api.vibevoice.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."}]
}'Esta requisição envia uma instrução simples ao modelo. A resposta contém o texto gerado. Você pode ajustar parâmetros como temperature para criatividade ou definir limites rigorosos no comprimento da saída. Esta abordagem direta é ideal para gerar scripts, legendas ou variações de prompt para outras ferramentas.
Integração com SDK Python
Use a biblioteca oficial OpenAI Python. Configure a URL base para apontar para nosso serviço. Passe sua chave de API como api_key. Isso permite que você use métodos familiares como client.chat.completions.create(). É uma api compatível com openai, então a estrutura do seu código existente provavelmente requer alterações mínimas. Este método é perfeito para processamento de backend ou tarefas de extração de dados.
from openai import OpenAI
client = OpenAI(base_url="https://api.vibevoice.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)Lembre-se de tratar exceções de forma adequada. Erros de rede ou limites de requisições podem interromper seu pipeline. Registrar a resposta ajuda a depurar por que um prompt específico pode ter sido recusado ou gerado uma saída inesperada.
Integração com SDK Node
Para ambientes JavaScript, use o pacote npm openai. Defina as propriedades apiKey e baseURL no objeto de configuração. Isso garante que as requisições vão para o endpoint correto. O SDK Node suporta os mesmos parâmetros que a versão Python. É ideal para servidores web ou funções de borda que precisam gerar texto sob demanda.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.vibevoice.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);Certifique-se de gerenciar o ciclo de vida do objeto client para evitar vazamentos de recursos. Esta integração é robusta para lidar com tarefas de geração de texto assíncronas em aplicativos web modernos.
Respostas em Streaming
Ative o streaming definindo stream como true na sua requisição. A API retorna dados em chunks conforme são gerados. Isso é útil para exibições em tempo real ou renderização progressiva de texto. O último chunk inclui as estatísticas completas de uso de tokens. O streaming reduz a latência percebida para os usuários finais.
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)Trate o stream corretamente para garantir que todos os dados sejam processados. Se a conexão cair, você pode perder os dados de uso finais. Este recurso é valioso para aplicativos que precisam exibir texto conforme ele está sendo escrito.
Recursos e limites
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 |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| ID do modelo | uncensored |
| Base URL | https://api.vibevoice.top/v1 |
| Modo JSON | response_format: {"type": "json_object"} |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Janela de contexto | 64.000 tokens (entrada + saída) |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Saída máxima | até o restante da janela de 64.000 tokens; max_tokens opcional (sem limite separado) |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Limite de taxa | 300 requisições por minuto por chave |
| Tamanho | até 8 MB por requisição |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| 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 |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| Validade | crédito pago não expira, sem assinatura |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
| Login | Google ou e-mail e senha |
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
Quais são os limites de requisições?
Você está limitado a 300 requisições por minuto por chave e 8 requisições simultâneas. O corpo da requisição não deve exceder 8 MB. Exceder esses limites resulta em um erro 429.
Como funciona a precificação?
Você paga $0,25 por 1M de tokens de entrada e $1,00 por 1M de tokens de saída. O crédito é recarregado via criptomoeda (USDT ou USDC) e nunca expira. Erros e recusas são gratuitos.
Qual é a janela de contexto?
A janela de contexto total é de 100.000 tokens para prompt e conclusão combinados. A saída máxima por requisição é de 32.000 tokens, ou 2.048 se max_tokens não for especificado.
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.