API GLM: Migre seu cliente em três linhas
Conecte seu código existente a uma API GLM sem censura em minutos configurando dois valores de configuração. Este guia rápido mostra como usar os endpoints compatíveis com OpenAI usando seu crédito pré-pago.
Pré-requisitos: Obtenha sua chave
Antes de escrever código, você precisa de uma chave de API. Acesse a página Obter chave de API neste site para se registrar com e-mail e senha. Não é necessário número de telefone ou cartão de crédito para começar. Após o registro, você recebe um crédito de teste grátis de US$ 0,50 válido por 7 dias, ou pode recarregar com criptomoedas (USDT ou USDC). Sua chave é exibida imediatamente após o cadastro. Armazene-a com segurança, pois você pode regenerá-la a qualquer momento para revogar a anterior.
Esta chave autentica todas as requisições ao nosso endpoint glm api. Não usamos seus prompts para treinamento, e a chave está vinculada a uma única conta. Se precisar de maior volume, você pode comprar créditos pré-pagos que nunca expiram.
Configure URL base e chave
Para usar nosso serviço como uma substituição pronta para usar para OpenAI, você deve apontar seu SDK para nossa URL base. Esta é a única alteração de infraestrutura necessária. A URL base é https://api.glmapikey.com/v1. Você também precisa definir seu cabeçalho de autorização ou chave do cliente SDK para o valor recebido durante o cadastro.
A maioria dos clientes compatíveis com OpenAI, incluindo os SDKs oficiais de Python e Node, permite substituir a URL base. Isso permite que você mantenha a lógica existente do seu aplicativo enquanto alterna o modelo subjacente. Certifique-se de que sua chave esteja definida corretamente antes de fazer requisições para evitar erros de autenticação.
Faça sua primeira solicitação de conclusão de chat
Envie uma requisição POST para /v1/chat/completions para gerar texto. Nosso modelo aceita estruturas de mensagem padrão com funções como user e assistant. O ID do modelo que você deve especificar é uncensored. Isso aciona o modelo de pesos abertos hospedado em nossas GPUs, que é ajustado para responder sem recusas de conteúdo para uso adulto legal.
A resposta será JSON contendo o texto gerado. Se você encontrar um erro 401, verifique sua chave. Se vir 402, seu crédito pré-pago foi esgotado. Você pode recarregar a partir de $10. Observe que não oferecemos suporte a embeddings, imagens ou ajuste fino neste endpoint.
Use o SDK Python
A biblioteca oficial OpenAI Python funciona diretamente com nossa API. Inicialize o cliente com sua chave e a URL base específica. Esta abordagem é ideal para serviços de backend ou scripts onde você precisa de respostas JSON estruturadas. O cliente lida com serialização e lógica de retry automaticamente.
Passe o nome do modelo uncensored para garantir que você está atingindo nosso endpoint específico. A janela de contexto suporta até 100.000 tokens para prompt e conclusão combinados. Isso permite dados de entrada substanciais sem truncamento, desde que você permaneça dentro do limite de corpo de requisição de 8 MB.
Use o SDK Node
Para aplicativos JavaScript e TypeScript, o pacote NPM openai é compatível. Configure o cliente com a mesma URL base e chave do exemplo Python. Isso permite renderização no lado do servidor ou endpoints de API que exigem geração de texto sem censura. O SDK transmite dados eficientemente se configurado corretamente.
A chamada de funções é suportada neste SDK. Você pode definir esquemas de função na requisição, e o modelo retornará saídas JSON estruturadas que correspondem ao seu esquema. Isso facilita a integração de fontes de dados externas ou ações no fluxo do seu aplicativo sem analisar texto bruto.
Ativar respostas em streaming
Defina stream: true em sua requisição para receber eventos enviados pelo servidor (SSE). Isso permite exibir texto aos usuários conforme é gerado, melhorando a latência percebida. A API retorna blocos de texto, que seu cliente deve concatenar ou renderizar incrementalmente.
O streaming é suportado para os SDKs Python e Node. É particularmente útil para interfaces de chat onde os usuários esperam feedback imediato. Cada bloco contém uma parte da resposta. O modelo continua gerando até concluir ou atingir o limite da janela de contexto. Certifique-se de que seu cliente lide corretamente com estruturas JSON parciais se estiver usando chamada de funções com streaming.
Limites, erros e modelos
Nossa API impõe um limite de requisições de 300 requisições por minuto por chave. Se você exceder isso, receberá um erro 429. O tamanho máximo do corpo da requisição é 8 MB. Para descobrir modelos, use o endpoint GET /v1/models. Ele retorna uma lista de modelos disponíveis, incluindo o ID do modelo uncensored.
Erros comuns incluem 401 para chaves inválidas e 402 para crédito insuficiente. Créditos não expiram, mas créditos de teste são válidos por 7 dias. Não oferecemos SLAs ou certificações. O modelo bloqueia conteúdo sexual envolvendo menores, mas é sem censura em outros aspectos. Use esses limites para projetar sua lógica de retry e notificações ao usuário adequadamente.
cURL
curl https://api.glmapikey.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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.glmapikey.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.glmapikey.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);Streaming
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)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 |
| ID do modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.glmapikey.com/v1 |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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 |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Modo JSON | response_format: {"type": "json_object"} |
| Tamanho | até 8 MB por requisição |
| Limite de taxa | 300 requisições por minuto por chave |
| 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 |
| 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 |
| 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 |
| 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 |
| 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
Esta é a API GLM oficial?
Não, somos um serviço independente. Hospedamos um modelo de pesos abertos sem censura e fornecemos um endpoint compatível com OpenAI. Não temos afiliação com os criadores originais do GLM ou qualquer outro grande fornecedor de IA.
Posso usar minha chave OpenAI existente?
Não, você precisa de uma chave do nosso site. No entanto, você pode usar o mesmo código SDK que usa para OpenAI, basta alterar a URL base e a chave na configuração do seu cliente.
O que acontece se eu ficar sem créditos?
As requisições retornarão um erro 402. Você pode recarregar seu crédito pré-pago a qualquer momento usando criptomoedas (USDT ou USDC). Seus créditos nunca expiram, então você pode adicionar fundos sempre que precisar.
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.