Instalação e Configuração
Para começar, certifique-se de ter o SDK oficial da OpenAI instalado para sua linguagem. A API utiliza um esquema de autenticação padrão baseado em cabeçalhos. Você deve definir o cabeçalho Authorization para Bearer your-api-key e configurar a URL base para https://api.glmapi.cc/v1. Esta URL funciona com qualquer cliente que suporte o formato Chat Completions da OpenAI.
Não é necessária inicialização especial de cliente além da configuração padrão. O serviço atua como uma substituição pronta para usar para integrações existentes com OpenAI. Você pode verificar sua configuração consultando o endpoint de modelos disponíveis.
Primeira Requisição
Envie uma solicitação simples de conclusão de texto para testar a conectividade. Use o identificador do modelo uncensored para o modelo de linguagem principal. A API aceita parâmetros padrão como max_tokens e temperature.
Esta solicitação retorna uma resposta de texto direta. Se você encontrar um erro 401, verifique sua chave de API. Um erro 402 indica crédito pré-pago insuficiente.
curl https://api.glmapi.cc/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
Use a biblioteca oficial Python para interagir com a API. Inicialize o cliente com sua URL base e chave de API. A sintaxe espelha a estrutura padrão do cliente OpenAI.
Esta abordagem permite trocar de provedor sem reescrever a lógica de negócios. O modelo responde a formatos padrão de prompt. Você pode controlar o comprimento e a aleatoriedade da saída por meio de parâmetros padrão.
from openai import OpenAI
client = OpenAI(base_url="https://api.glmapi.cc/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, use o SDK Node.js. Configure o baseUrl para apontar para nosso endpoint de API. Isso garante que todas as requisições sejam roteadas corretamente para nossos servidores.
O SDK gerencia retentativas e análise de resposta automaticamente. Você pode passar parâmetros padrão de conclusão. O objeto de resposta contém o texto gerado no local esperado.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.glmapi.cc/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. A API retorna blocos por meio de Server-Sent Events (SSE). Cada bloco contém texto parcial e estatísticas de uso.
Este método reduz a latência percebida para respostas longas. Você pode processar tokens conforme chegam. O último bloco inclui a contagem total de tokens para faturamento.
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 Contexto
A janela de contexto suporta 100.000 tokens no total, com uma saída máxima de 32.000 tokens. Requisições que excedam o limite de corpo de 8 MB falharão. Você está limitado a 300 requisições por minuto e 8 requisições simultâneas por chave.
O erro 401 significa uma chave inválida. O erro 402 indica que não há mais crédito pré-pago. O erro 429 sinaliza limite de requisições atingido. O crédito nunca expira e os erros não consomem tokens. A privacidade é mantida; os prompts não são usados para treinamento.
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 |
| ID do modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.glmapi.cc/v1 |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Modo JSON | response_format: {"type": "json_object"} |
| Concorrência | 8 requisições ao mesmo tempo 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 |
| Limite de taxa | 300 requisições por minuto por chave |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $20 a $500 |
| Validade | crédito pago não expira, sem assinatura |
| Bônus | +5% a partir de $50, +10% a partir de $100, +15% a partir de $200 |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| 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 |
| Preço | $0,15 por 1M tokens de entrada · $0,50 por 1M de saída |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
| Login | Google ou e-mail e senha |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
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
Esta é a API GLM oficial?
Não, este é um serviço independente. Executamos nosso próprio modelo sem censura e fornecemos uma interface compatível com OpenAI. Não temos afiliação com os desenvolvedores originais do GLM.
Como pagar pela API?
Aceitamos recargas por cripto (USDT na TRC20, USDC na Base). O recarregamento mínimo é de $20. O crédito pré-pago é cobrado por uso de token e nunca expira.
Qual o tamanho da janela de contexto?
O modelo suporta uma janela de contexto de 100.000 tokens. A saída máxima por requisição é de 32.000 tokens, salvo indicação em contrário.
Sua chave está a um formulário de distância
Crie uma conta, copie a chave e altere a URL base. Essa é toda a configuração necessária.