Documentação
Início rápido
O Kunavo é compatível com o protocolo da OpenAI. Se você já usa o SDK da OpenAI, basta alterar a URL base. Em cinco minutos, você sai do zero e faz sua primeira chamada a um modelo de ponta.
A Kunavo é um gateway independente de API de IA compatível com a OpenAI: uma única chave de API e um saldo pré-pago permitem acessar Claude, GPT e modelos de imagem, vídeo e áudio, sem exigir uma conta em cada provedor. Todo o processo de integração tem quatro etapas. As três primeiras são feitas uma única vez. A quarta — fazer uma chamada — consiste apenas em trocar o base_url.
1. Crie uma conta
Cadastre-se em kunavo.com/app/login com o Google ou por link mágico enviado por e-mail. O pagamento é conforme o uso e começa com uma recarga de $10 — seu saldo nunca expira, e as solicitações com falha nunca são cobradas.
2. Crie uma chave de API
Abra /app/keys no painel e clique em Nova chave. As chaves começam com sk-kn- e são exibidas apenas uma vez no momento da criação — copie-as e guarde-as com segurança.
Práticas recomendadas de segurança:
- Use uma chave por projeto/ambiente (desenvolvimento, homologação, produção).
- Troque as chaves em caso de incidente ou a cada trimestre.
- Defina um limite mensal de gastos por chave se fizer chamadas por script a partir do CI.
3. Adicione fundos à sua carteira
Acesse /app/billing e adicione saldo pelo Stripe Checkout. Cartões são oferecidos em todos os lugares onde a Stripe atua, e Apple Pay, Google Pay e Link em todos os lugares, exceto na Índia; métodos locais aparecem conforme o país — por exemplo, ACH nos EUA, Pix no Brasil, UPI na Índia, KakaoPay na Coreia do Sul, iDEAL nos Países Baixos, BLIK na Polônia (a lista completa está na referência de cobrança; PayPal e SEPA Direct Debit não são oferecidos). As recargas começam em US$ 10 — o suficiente para testar todos os modelos com uma chave real — e o saldo nunca expira.
- Pagamento conforme o uso: o consumo é descontado da sua carteira em tempo real, sem assinatura.
- Aplicam-se bônus por volume: US$ 100 → +US$ 10, US$ 1.000 → +US$ 200, US$ 5.000 → +US$ 1.250.
- Descrição que aparece na fatura do cartão:
KUNAVO.COM* TOPUP.
4. Faça sua primeira chamada
Escolha qualquer modelo habilitado no catálogo. Abaixo: uma chamada de chat claude-haiku-4-5 econômica e rápida para você verificar a configuração.
Python (SDK da OpenAI)
O pacote Python openai (v1+) funciona sem configurações adicionais — basta apontar base_url para o Kunavo.
from openai import OpenAI
client = OpenAI(
api_key=os.environ["KUNAVO_API_KEY"],
base_url="https://api.kunavo.com/v1",
)
resp = client.chat.completions.create(
model="claude-haiku-4-5",
messages=[{"role": "user", "content": "Say hi in one sentence."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.KUNAVO_API_KEY,
baseURL: "https://api.kunavo.com/v1",
});
const resp = await client.chat.completions.create({
model: "claude-haiku-4-5",
messages: [{ role: "user", content: "Say hi in one sentence." }],
});
console.log(resp.choices[0].message.content);curl
curl https://api.kunavo.com/v1/chat/completions \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-haiku-4-5",
"messages": [{"role": "user", "content": "Say hi in one sentence."}]
}'/app/usage em poucos segundos.Outras modalidades
O mesmo SDK também oferece suporte a imagens e vídeos. Sempre que possível, os endpoints seguem a nomenclatura da OpenAI.
Geração de imagens
Use qualquer um dos modelos de imagem — Nano Banana, Nano Banana 2, Nano Banana Pro e GPT-Image-2. Consulte a documentação de imagens.
img = client.images.generate(
model="nano-banana",
prompt="a tiny red origami crane on a white desk",
size="1024x1024",
)
print(img.data[0].url)Chat em streaming
Defina stream=True. O streaming funciona em todos os modelos de chat — as famílias completas Claude e GPT. A resposta é enviada como eventos enviados pelo servidor no formato padrão da OpenAI.
stream = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Tell me a 2-line haiku about CI/CD."}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)Próximos passos
- Autenticação — referência completa de chave de API e URL base.
- Conclusões de chat — parâmetros, streaming, chamadas de ferramentas e visão.
- Faturamento — como funcionam a fórmula de margem e o livro-razão de créditos.
- Erros — códigos HTTP e estratégia de novas tentativas.