Pular para o conteúdo principal
A API Venice oferece interfaces REST baseadas em HTTP e streaming para criar aplicações de IA com modelos sem censura e inferência privada. Você pode criar com geração de texto, criação de imagens, embeddings e muito mais, tudo sem políticas restritivas de conteúdo. Exemplos de integração e SDKs estão disponíveis na documentação. Nossa referência de API também está disponível como uma especificação OpenAPI em YAML.

Autenticação

A API Venice usa chaves de API para autenticação. Crie e gerencie suas chaves de API em suas configurações de API. Todas as requisições da API exigem autenticação Bearer HTTP:
Authorization: Bearer VENICE_API_KEY
Sua chave de API é um segredo. Não a compartilhe nem a exponha em qualquer código do lado do cliente.

Compatibilidade com OpenAI

A API da Venice implementa a especificação da API OpenAI, garantindo compatibilidade com clientes e ferramentas existentes do OpenAI. Isso permite que você integre com a Venice usando a familiar interface OpenAI ao mesmo tempo em que acessa os recursos exclusivos da Venice e os modelos sem censura.

Configuração

Configure seu cliente para usar a URL base da Venice (https://api.venice.ai/api/v1) e faça sua primeira requisição:
curl https://api.venice.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-uncensored",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Recursos específicos da Venice

Prompts de sistema

A Venice fornece prompts de sistema padrão projetados para garantir respostas de modelos sem censura e naturais. Você tem duas opções para lidar com prompts de sistema:
  1. Comportamento padrão: Seus prompts de sistema são acrescentados aos padrões da Venice
  2. Comportamento personalizado: Desabilite completamente os prompts de sistema da Venice

Desabilitando os prompts de sistema da Venice

Use a opção venice_parameters para remover os prompts de sistema padrão da Venice:
curl https://api.venice.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-uncensored",
    "messages": [
      {"role": "system", "content": "Your custom system prompt"},
      {"role": "user", "content": "Why is the sky blue?"}
    ],
    "venice_parameters": {
      "include_venice_system_prompt": false
    }
  }'

Parâmetros da Venice

O objeto venice_parameters permite acessar recursos específicos da Venice que não estão disponíveis na API OpenAI padrão:
ParâmetroTipoDescriçãoPadrão
character_slugstringO slug de um personagem público da Venice (descobrível como “Public ID” na página do personagem publicado)-
strip_thinking_responsebooleanRemove blocos <think></think> da resposta (modelos usando o formato legado de tag <think>). Veja Modelos de raciocínio.false
disable_thinkingbooleanEm modelos de raciocínio compatíveis, desabilita o raciocínio e remove os blocos <think></think> da respostafalse
enable_web_searchstringHabilita a busca na web para esta requisição (off, on, auto — auto habilita conforme o critério do modelo)
Preços adicionais por uso se aplicam, veja preços.
off
enable_web_scrapingbooleanHabilita scraping da web de até 5 URLs detectadas na mensagem do usuário. O conteúdo extraído enriquece respostas e ignora a busca na web. Apenas URLs raspadas com sucesso são cobradas.
Preços adicionais por uso se aplicam, veja preços.
false
enable_x_searchbooleanHabilita a busca nativa do xAI (web + X/Twitter) para modelos Grok compatíveis (por exemplo, grok-4-20-beta). Fornece resultados de busca de maior qualidade usando a infraestrutura de busca do xAI. Quando habilitado, a busca padrão na web da Venice é ignorada.
Preços adicionais por uso se aplicam, veja preços.
false
enable_web_citationsbooleanQuando a busca na web está habilitada, solicita que o LLM cite suas fontes usando o formato [REF]0[/REF]false
include_search_results_in_streambooleanExperimental: Inclui resultados da busca no stream como o primeiro chunk emitidofalse
return_search_results_as_documentsbooleanExpõe resultados de busca em uma chamada de ferramenta compatível com OpenAI chamada venice_web_search_documents para integração com LangChainfalse
include_venice_system_promptbooleanSe deve incluir os prompts de sistema padrão da Venice junto com os prompts de sistema especificadostrue
Esses parâmetros também podem ser especificados como sufixos de modelo anexados ao nome do modelo (por exemplo, zai-org-glm-5:enable_web_search=auto). Veja Sufixos de recursos do modelo para detalhes.

Prompt caching

A Venice oferece suporte a prompt caching em modelos selecionados para reduzir latência e custos para conteúdo repetido. Para modelos compatíveis, a Venice armazena automaticamente em cache prompts de sistema — sem necessidade de alterações no código. Você também pode marcar manualmente conteúdo para cache usando a propriedade cache_control no conteúdo da mensagem.
ParâmetroTipoDescrição
prompt_cache_keystringDica opcional de roteamento para melhorar as taxas de acerto no cache. Quando fornecida, a Venice roteia requisições para a mesma infraestrutura de backend, aumentando a probabilidade de acertos no cache em conversas com múltiplos turnos.
Veja Prompt caching para detalhes sobre como o caching funciona, cobrança e melhores práticas.

Referência de cabeçalhos de resposta

Todas as respostas da API Venice incluem cabeçalhos HTTP que fornecem metadados sobre a requisição, limites de taxa, informações do modelo e saldo da conta. Além dos códigos de erro retornados das respostas da API, você pode inspecionar esses cabeçalhos para obter o ID único de uma requisição específica da API, monitorar limites de taxa e acompanhar o saldo da sua conta. A Venice recomenda registrar IDs de requisição (cabeçalho CF-RAY) em implantações de produção para uma solução de problemas mais eficiente com nossa equipe de suporte, caso seja necessário. A tabela abaixo fornece uma referência abrangente de todos os cabeçalhos que você pode encontrar:
CabeçalhoTipoFinalidadeQuando retornado
Cabeçalhos HTTP padrão
Content-TypestringTipo MIME do corpo da resposta (application/json, text/csv, image/png, etc.)Sempre
Content-EncodingstringCodificação usada para compactar o corpo da resposta (gzip, br)Quando o cliente envia o cabeçalho Accept-Encoding
Content-DispositionstringComo o conteúdo deve ser exibido (por exemplo, attachment; filename=export.csv)Ao baixar arquivos ou exportações
DatestringTimestamp formatado em RFC 7231 de quando a resposta foi geradaSempre
Identificação da requisição
CF-RAYstringIdentificador único desta requisição da API, usado para solução de problemas e suporteSempre
x-venice-versionstringVersão/revisão atual do serviço da API Venice (por exemplo, 20250828.222653)Sempre
x-venice-timestampstringTimestamp do servidor quando a requisição foi processada (formato ISO 8601)Quando o rastreamento de timestamp está habilitado
x-venice-host-namestringNome do host do servidor que processou a requisiçãoRespostas de erro e cenários de depuração
Informações do modelo
x-venice-model-idstringIdentificador único do modelo de IA usado na requisição (por exemplo, venice-01-lite)Endpoints de inferência usando modelos de IA
x-venice-model-namestringNome amigável/de exibição do modelo de IA usado (por exemplo, Venice Lite)Endpoints de inferência usando modelos de IA
x-venice-model-routerstringRoteador/serviço de backend que lidou com a inferência do modeloEndpoints de inferência quando informações de roteamento estão disponíveis
x-venice-model-deprecation-warningstringMensagem de aviso para modelos programados para descontinuaçãoAo usar um modelo descontinuado
x-venice-model-deprecation-datestringData em que o modelo será descontinuado (data ISO 8601)Ao usar um modelo descontinuado
Informações de limite de taxa
x-ratelimit-limit-requestsnumberNúmero máximo de requisições permitidas na janela de tempo atualTodas as requisições autenticadas
x-ratelimit-remaining-requestsnumberNúmero de requisições restantes na janela de tempo atualTodas as requisições autenticadas
x-ratelimit-reset-requestsnumberTimestamp Unix de quando o limite de requisições é redefinidoTodas as requisições autenticadas
x-ratelimit-limit-tokensnumberNúmero máximo de tokens (prompt + completion) permitidos na janela de tempoTodas as requisições autenticadas
x-ratelimit-remaining-tokensnumberNúmero de tokens restantes na janela de tempo atualTodas as requisições autenticadas
x-ratelimit-reset-tokensnumberDuração em segundos até o limite de tokens ser redefinidoTodas as requisições autenticadas
x-ratelimit-typestringTipo de limite de taxa aplicado (user, api_key, global)Quando o limite de taxa é aplicado
Cabeçalhos de paginação
x-pagination-limitnumberNúmero de itens por páginaEndpoints paginados
x-pagination-pagenumberNúmero da página atual (baseado em 1)Endpoints paginados
x-pagination-totalnumberNúmero total de itens em todas as páginasEndpoints paginados
x-pagination-total-pagesnumberNúmero total de páginasEndpoints paginados
Informações de saldo da conta
x-venice-balance-diemstringSeu saldo do token DIEM antes do processamento da requisiçãoTodas as requisições autenticadas
x-venice-balance-usdstringSeu saldo de crédito em USD antes do processamento da requisiçãoTodas as requisições autenticadas
Cabeçalhos de segurança de conteúdo
x-venice-is-blurredstringIndica se a imagem gerada foi borrada devido às políticas de conteúdo (true/false)Geração de imagem com Safe Venice habilitado
x-venice-is-content-violationstringIndica se o conteúdo viola as políticas de conteúdo da Venice (true/false)Endpoints de geração de conteúdo
x-venice-is-adult-model-content-violationstringIndica se o conteúdo viola as políticas de conteúdo de modelos adultos (true/false)Endpoints de geração de imagem
x-venice-contains-minorstringIndica se a imagem contém menores (true/false)Endpoints de análise de imagem com detecção de idade
Informações do cliente
x-venice-middleface-versionstringVersão do cliente Venice middlefaceRequisições de clientes Venice middleface
x-venice-mobile-versionstringVersão do cliente do aplicativo móvel VeniceRequisições de aplicativos móveis
x-venice-request-timestamp-msnumberTimestamp da requisição fornecido pelo cliente em milissegundosQuando o cliente fornece timestamp na requisição
x-venice-control-instancestringIdentificador da instância de controle para depuraçãoEndpoints de geração de imagem para depuração
Cabeçalhos de autenticação
x-auth-refreshedstringIndica que o token de autenticação foi atualizado durante a requisição (true/false)Quando os tokens de autenticação são atualizados automaticamente
x-retry-countnumberNúmero de tentativas de repetição para a requisiçãoQuando ocorrem novas tentativas de requisição

Notas importantes

  • Capitalização do nome do cabeçalho: Os cabeçalhos HTTP são case-insensitive, mas a Venice usa minúsculas com hífens para consistência
  • Valores em string: Valores booleanos em cabeçalhos são retornados como strings ("true" ou "false")
  • Valores numéricos: Números grandes e valores de saldo podem ser retornados como strings para evitar perda de precisão
  • Cabeçalhos opcionais: Nem todos os cabeçalhos são retornados em todas as respostas; a presença depende do endpoint e do contexto da requisição
  • Compactação: Use Accept-Encoding: gzip, br nas requisições para receber respostas compactadas quando suportado

Exemplo: Acessando cabeçalhos de resposta

// Após fazer uma requisição à API, acesse os cabeçalhos a partir do objeto de resposta
const requestId = response.headers.get('CF-RAY');
const remainingRequests = response.headers.get('x-ratelimit-remaining-requests');
const remainingTokens = response.headers.get('x-ratelimit-remaining-tokens');
const usdBalance = response.headers.get('x-venice-balance-usd');

// Verifique se há avisos de descontinuação de modelo
const deprecationWarning = response.headers.get('x-venice-model-deprecation-warning');
if (deprecationWarning) {
  console.warn(`Model Deprecation: ${deprecationWarning}`);
}

Melhores práticas

  1. Limite de taxa: Monitore os cabeçalhos x-ratelimit-remaining-requests e x-ratelimit-remaining-tokens e implemente backoff exponencial
  2. Monitoramento de saldo: Acompanhe os cabeçalhos x-venice-balance-usd e x-venice-balance-diem para evitar interrupções de serviço
  3. Prompts de sistema: Teste com e sem os prompts de sistema da Venice para encontrar o melhor ajuste para seu caso de uso
  4. Chaves de API: Mantenha suas chaves de API seguras e faça rotação regularmente
  5. Registro de requisições: Registre os valores do cabeçalho CF-RAY para solucionar problemas com o suporte
  6. Descontinuação de modelos: Verifique os cabeçalhos x-venice-model-deprecation-warning ao usar modelos

Diferenças em relação à API da OpenAI

Embora a Venice mantenha alta compatibilidade com a especificação da API OpenAI, há algumas diferenças importantes:
  1. venice_parameters: Configurações adicionais como enable_web_search, character_slug e strip_thinking_response para funcionalidade estendida
  2. Prompts de sistema: A Venice acrescenta seus prompts de sistema a padrões otimizados para respostas sem censura (desabilite com include_venice_system_prompt: false)
  3. Ecossistema de modelos: A Venice oferece sua própria linha de modelos incluindo modelos sem censura e de raciocínio — use os IDs de modelo da Venice em vez dos mapeamentos da OpenAI
  4. Cabeçalhos de resposta: Cabeçalhos exclusivos para rastreamento de saldo (x-venice-balance-usd, x-venice-balance-diem), avisos de descontinuação de modelos e flags de segurança de conteúdo
  5. Políticas de conteúdo: Políticas mais permissivas com modelos dedicados sem censura e filtragem de conteúdo opcional

Estabilidade da API

A Venice mantém compatibilidade retroativa para endpoints e parâmetros v1. Para política de ciclo de vida de modelos, avisos de descontinuação e orientações de migração, veja Descontinuações.

Especificação OpenAPI e dados brutos

Para acesso programático à documentação e aos dados da API Venice — incluindo uso com RAG (Retrieval-Augmented Generation) — os seguintes recursos estão disponíveis:
Campos de requisição não listados nesta documentação podem ser passados, mas não são validados nem garantidos para funcionar.