URL Base e Autenticação
Comece criando uma conta na página Obter chave de API. Você só precisa de um e-mail e senha; nenhum número de telefone ou cartão de crédito é necessário para ativar o crédito de teste grátis. Após o registro, sua chave de API é exibida imediatamente. Copie esta chave e armazene-a com segurança. Use-a no cabeçalho Authorization como token Bearer para todas as requisições. A URL base para todos os endpoints é https://api.gemma4api.com/v1. Esta URL funciona com qualquer cliente compatível com OpenAI, permitindo que você altere provedores simplesmente alterando a URL base e a chave de API na sua configuração.
Primeira Requisição
Envie seu primeiro prompt usando curl para verificar a conectividade. Substitua YOUR_API_KEY pela sua chave real. O identificador do modelo é uncensored. Esta simples solicitação de entrada de texto e saída de texto confirma que sua autenticação está correta e que o modelo está respondendo. Se você receber uma resposta JSON com uma matriz choices, sua configuração está completa. Agora você pode prosseguir para integrar o SDK para fluxos de trabalho mais complexos.
curl https://api.gemma4api.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."}]
}'
Integração com SDK Python
Instale o pacote oficial do OpenAI para Python. Defina as variáveis de ambiente da URL base e da chave de API ou passe-as diretamente para o construtor do cliente. Use o ID do modelo uncensored para garantir que você está chamando nossa instância específica. Esta abordagem garante que seu código permaneça compatível com os padrões padrão da OpenAI, enquanto aproveita nosso modelo sem censura para geração de conteúdo. O SDK lida com retentativas e análise JSON automaticamente.
from openai import OpenAI
client = OpenAI(base_url="https://api.gemma4api.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)
Integração com SDK Node.js
Para ambientes JavaScript, instale o pacote OpenAI Node.js. Configure o cliente com a URL base https://api.gemma4api.com/v1 e sua chave de API. Use o ID do modelo uncensored em suas chamadas de conclusão. Esta configuração permite que você mantenha estruturas de código compatíveis com OpenAI enquanto se beneficia do comportamento específico do modelo hospedado em nossos servidores. Certifique-se de lidar corretamente com as respostas assíncronas dentro do loop de eventos do Node.js.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.gemma4api.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);
Respostas em Streaming
Ative o streaming definindo o parâmetro stream como true em sua requisição de API. Isso retorna um fluxo de Server-Sent Events (SSE), permitindo que você exiba tokens conforme são gerados. Isso é ideal para interfaces de chat onde a latência é importante. Cada chunk contém um delta parcial da resposta. Lidere o evento de fim do fluxo para saber quando a geração estiver completa. Este método reduz significativamente a latência percebida em comparação com o aguardo da resposta completa.
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)
Limites, Erros e Janela de Contexto
Suas requisições suportam uma janela de contexto de 100.000 tokens para prompt e conclusão combinados. O limite de requisições é de 300 requisições por minuto por chave, com um tamanho máximo de corpo de requisição de 8 MB. Erros comuns incluem 401 para chaves inválidas, 402 se seu crédito pré-pago estiver esgotado e 429 se você exceder o limite por minuto. Regenerar sua chave de API revoga a antiga, mas não reseta o contador de taxa. Certifique-se de que seu cliente manipule esses códigos de status HTTP adequadamente para manter o funcionamento suave.
Especificações técnicas
Uma tabela com cada limite, recurso e preço.
| 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 |
| Base URL | https://api.gemma4api.com/v1 |
| ID do modelo | uncensored |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| 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 |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Modo JSON | response_format: {"type": "json_object"} |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Limite de taxa | 300 requisições por minuto por chave |
| Tamanho | até 8 MB por requisição |
| 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 |
| 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 |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| 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 |
| 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 |
| Login | Google ou e-mail e senha |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
Códigos de erro
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
Regenerar minha chave de API redefine o contador de limite de requisições?
Não. Regenerar sua chave revoga a anterior e emite uma nova credencial, mas o limite de requisições aplica-se por conta e persiste independentemente das alterações de chave. Você deve aguardar o reinício da janela de minuto se atingir o limite de 300 requisições por minuto.
Qual modelo está por trás do ID 'sem censura'?
É um modelo de linguagem de pesos abertos hospedado em nossos próprios servidores GPU. Não é GPT, Claude, Gemini ou qualquer outro modelo de fornecedor. Ele é ajustado para responder sem recusas de conteúdo para uso adulto lícito.
Posso usar esta API para chamada de funções?
Sim. O endpoint <code>/v1/chat/completions</code> suporta chamada de ferramentas e funções. Você pode passar definições de ferramentas na requisição, e o modelo retornará saída JSON estruturada compatível com implementações padrão de SDKs OpenAI.
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.