Referência API

Documentação API

Tudo o que você precisa para integrar Claude Max em suas aplicações. Endpoints completos, exemplos de código em 6 linguagens e todos os 5 modelos.

Autenticação

URL base

Produção
https://claudemaxhub.com/api/v1

Todas as requisições API devem usar HTTPS.

Header da chave API

Header
Authorization: Bearer YOUR_API_KEY

Sua chave API é fornecida após a ativação do teste. Inclua-a em cada requisição.

Limite de taxa

60 requisições por minuto

Tipo de conteúdo

application/json

Formato de resposta

JSON (UTF-8)

Obtendo sua chave API

Cadastre-se para o teste gratuito → Ative sua conta → Encontre sua chave API no painel.

Modelos disponíveis

Todos os modelos incluídos — escolha o certo para o seu caso de uso.

Modelo ID API Janela de contexto Ideal para
Claude Opus 5 claude-opus-5 200K Raciocínio complexo, pesquisa, programação
Claude Fable 5 claude-fable-5 1M Documentos longos, grandes codebases
Claude Opus 4 claude-opus-4-8 200K Análise, relatórios detalhados
Claude Sonnet 4 claude-sonnet-4 200K Uso geral, chat, redação
Claude Haiku claude-haiku 200K Tarefas rápidas, respostas em tempo real
GET /api/v1/models Retorna uma lista de todos os modelos Claude disponíveis para sua conta.
cURL
curl https://claudemaxhub.com/api/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"
Python
import requests

response = requests.get(
    "https://claudemaxhub.com/api/v1/models",
    headers={"Authorization": "Bearer YOUR_API_KEY"}
)

models = response.json()
for model in models["data"]:
    print(f"{model['id']}: {model['description']}")
JavaScript
const response = await fetch(
  'https://claudemaxhub.com/api/v1/models',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
    },
  }
);

const { data } = await response.json();
data.forEach(model => console.log(model.id));
PHP
$ch = curl_init('https://claudemaxhub.com/api/v1/models');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer YOUR_API_KEY',
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

$models = json_decode($response, true);
foreach ($models['data'] as $model) {
    echo $model['id'] . ': ' . $model['description'] . "\n";
}
Go
req, _ := http.NewRequest("GET",
  "https://claudemaxhub.com/api/v1/models", nil)

req.Header.Set("Authorization", "Bearer YOUR_API_KEY")

resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()

var result struct {
    Data []struct {
        ID          string `json:"id"`
        Description string `json:"description"`
    } `json:"data"`
}
json.NewDecoder(resp.Body).Decode(&result)

for _, m := range result.Data {
    fmt.Printf("%s: %s\n", m.ID, m.Description)
}
Ruby
require 'net/http'
require 'json'

uri = URI('https://claudemaxhub.com/api/v1/models')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer YOUR_API_KEY'

res = Net::HTTP.start(uri.hostname, uri.port,
  use_ssl: true) { |http| http.request(req) }

models = JSON.parse(res.body)
models['data'].each do |m|
  puts "#{m['id']}: #{m['description']}"
end
200 — Success
{
  "data": [
    {"id": "claude-opus-5",   "description": "Mais poderoso — raciocínio avançado e análise complexa",   "context_window": 200000},
    {"id": "claude-fable-5",  "description": "Modelo principal — janela de contexto de 1M tokens",  "context_window": 1000000},
    {"id": "claude-opus-4-8",   "description": "Análise profunda e tarefas complexas de múltiplas etapas",   "context_window": 200000},
    {"id": "claude-sonnet-4", "description": "Melhor equilíbrio entre velocidade e qualidade", "context_window": 200000},
    {"id": "claude-haiku",    "description": "Respostas mais rápidas — ideal para aplicações em tempo real",    "context_window": 200000}
  ]
}
Criar chat
POST /api/v1/chat Envie uma mensagem a um modelo Claude e receba uma resposta. Este é o endpoint principal para todas as interações.
model obrigatório
string
O modelo a ser usado para a resposta.
messages obrigatório
array
Array de objetos de mensagem com role e content.
max_tokens
integer
Número máximo de tokens na resposta.
temperature
float
Controla a aleatoriedade. 0 = determinístico, 1 = criativo.
stream
boolean
Habilitar respostas em streaming.
cURL
curl -X POST https://claudemaxhub.com/api/v1/chat \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "messages": [
      {"role": "user", "content": "Explain quantum computing in simple terms."}
    ],
    "max_tokens": 1024,
    "temperature": 0.7
  }'
Python
import requests

response = requests.post(
    "https://claudemaxhub.com/api/v1/chat",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "model": "claude-opus-5",
        "messages": [
            {"role": "user", "content": "Explain quantum computing in simple terms."}
        ],
        "max_tokens": 1024,
        "temperature": 0.7,
    },
)

data = response.json()
print(data["content"][0]["text"])
JavaScript (Node.js / Fetch)
const response = await fetch('https://claudemaxhub.com/api/v1/chat', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'claude-opus-5',
    messages: [
      { role: 'user', content: 'Explain quantum computing in simple terms.' },
    ],
    max_tokens: 1024,
    temperature: 0.7,
  }),
});

const data = await response.json();
console.log(data.content[0].text);
PHP (cURL)
$ch = curl_init('https://claudemaxhub.com/api/v1/chat');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer YOUR_API_KEY',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'model'       => 'claude-opus-5',
        'messages'    => [
            ['role' => 'user', 'content' => 'Explain quantum computing in simple terms.'],
        ],
        'max_tokens'  => 1024,
        'temperature' => 0.7,
    ]),
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
echo $data['content'][0]['text'];
Go
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
    "io"
)

func main() {
    body, _ := json.Marshal(map[string]interface{}{
        "model": "claude-opus-5",
        "messages": []map[string]string{
            {"role": "user", "content": "Explain quantum computing in simple terms."},
        },
        "max_tokens":  1024,
        "temperature": 0.7,
    })

    req, _ := http.NewRequest("POST",
        "https://claudemaxhub.com/api/v1/chat",
        bytes.NewBuffer(body))
    req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    result, _ := io.ReadAll(resp.Body)
    fmt.Println(string(result))
}
Ruby
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://claudemaxhub.com/api/v1/chat')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'
request['Content-Type'] = 'application/json'
request.body = {
  model: 'claude-opus-5',
  messages: [
    { role: 'user', content: 'Explain quantum computing in simple terms.' }
  ],
  max_tokens: 1024,
  temperature: 0.7
}.to_json

response = http.request(request)
data = JSON.parse(response.body)
puts data['content'][0]['text']
200 — Resposta bem-sucedida
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "model": "claude-opus-5",
  "content": [
    {
      "type": "text",
      "text": "Quantum computing uses quantum bits (qubits) that can exist in multiple states simultaneously..."
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 15,
    "output_tokens": 128
  }
}
id
string
Identificador único da mensagem
model
string
Modelo usado para a resposta
content
array
Array de blocos de conteúdo (texto)
stop_reason
string
Motivo da parada do modelo: end_turn, max_tokens
usage
object
Estatísticas de uso de tokens
Tratamento de erros

Todas as respostas de erro possíveis e como tratá-las.

Status HTTP Descrição Solução
401 Chave API inválida ou ausente Verifique sua chave API no painel
403 Conta não ativada ou teste expirado Ative sua conta ou renove sua assinatura
404 Endpoint inválido ou modelo não encontrado Verifique a URL e o nome do modelo
422 Parâmetros de requisição inválidos Revise o formato do corpo da requisição
429 Limite de taxa excedido Aguarde e tente novamente, ou reduza a frequência de requisições
500 Erro interno do servidor Tente novamente após alguns segundos

Pronto para construir com Claude Max?

Obtenha sua chave API gratuita com teste de 30 dias. Todos os 5 modelos incluídos, sem cobrança no cartão de crédito.