Documentação
⌘K

Quickstart

Faça sua primeira chamada IA via Tokia em ~3 minutos. Você vai precisar de uma conta Google e R$ 25 pra recarga pix (saldo não expira).

Última verificação: 2026-05-19 · funcional contra `api.usetokia.com/v1`

Já tem conta? Pula pra primeira chamada →

Passo 1
Criar conta
~30s
Passo 2
Recarregar pix
~1min
Passo 3
Criar API key
~30s
Passo 4
Primeira chamada
~10s

1. Criar conta

  1. Acesse usetokia.com/dashboard , você será redirecionado pra login Google.
  2. Autorize o acesso (Tokia recebe email + nome + foto).
  3. Dashboard aparece com saldo R$ 0,00.

2. Recarregar via pix

  1. Na tela "Saldo", digite R$ 25 (mínimo) ou clique em um preset.
  2. Clique Gerar QR pix. Na primeira vez, aparece o modal Complete seu cadastro pedindo CPF ou CNPJ, preencha (exigido pra antifraude/nota fiscal).
  3. Pague o QR pelo app do banco. Saldo cai em até 30 segundos.

3. Criar API key

  1. Vá em API Keys na sidebar do dashboard.
  2. Clique Criar key. Dê um nome (produção-app) e opcionalmente desmarque modelos que você não usa (ex: deixar só LLM).
  3. A key plaintext aparece uma vez, copie e salve em .env ou cofre seguro. Depois você só vê o prefixo (sk-tokia-AbCdEf12...).

4. Primeira chamada

Cole no terminal substituindo $TOKIA_KEY pela key copiada:

bash
curl https://api.usetokia.com/v1/chat/completions \
  -H "Authorization: Bearer $TOKIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openrouter/openai/gpt-4o-mini",
    "messages": [
      { "role": "user", "content": "Diga oi em 1 palavra" }
    ],
    "max_tokens": 5
  }'

Resposta esperada:

json
{
  "id": "chatcmpl-...",
  "model": "openrouter/openai/gpt-4o-mini",
  "choices": [
    { "message": { "role": "assistant", "content": "Olá!" }, "finish_reason": "stop" }
  ],
  "usage": { "prompt_tokens": 17, "completion_tokens": 2, "total_tokens": 19 }
}

Após ~60s (reconciliação automática), o gasto aparece no dashboard em Uso, em reais, convertido pela cotação diária do dólar.

5. Em Python (OpenAI SDK)

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-tokia-...",       # sua key Tokia
    base_url="https://api.usetokia.com/v1",
)

response = client.chat.completions.create(
    model="openrouter/openai/gpt-4o-mini",
    messages=[{"role": "user", "content": "Diga oi"}],
)
print(response.choices[0].message.content)

6. Em Node.js (OpenAI SDK)

typescript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.TOKIA_KEY,
  baseURL: "https://api.usetokia.com/v1",
});

const res = await client.chat.completions.create({
  model: "openrouter/openai/gpt-4o-mini",
  messages: [{ role: "user", content: "Diga oi" }],
});
console.log(res.choices[0].message.content);

Cookbook · receitas práticas

Snippets prontos pros casos de uso mais comuns. Copie, troque a key e roda.

Chat com tool calling (function calling)

python
from openai import OpenAI

client = OpenAI(api_key="sk-tokia-...", base_url="https://api.usetokia.com/v1")

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Consulta clima atual",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"]
        }
    }
}]

resp = client.chat.completions.create(
    model="openrouter/openai/gpt-4o-mini",  # ou claude, gemini, todos suportam tools
    messages=[{"role": "user", "content": "Qual a temperatura em Brasília?"}],
    tools=tools,
)
print(resp.choices[0].message.tool_calls)  # [{name: 'get_weather', arguments: '{"city":"Brasília"}'}]

Embeddings + busca semântica

python
from openai import OpenAI
import numpy as np

client = OpenAI(api_key="sk-tokia-...", base_url="https://api.usetokia.com/v1")

# Gera embeddings em batch (1 chamada, N textos)
texts = ["Tokia gateway IA brasileiro", "Pague em BRL via pix", "API OpenAI-compatible"]
result = client.embeddings.create(
    model="openrouter/openai/text-embedding-3-small",
    input=texts,
)
vectors = np.array([e.embedding for e in result.data])

# Busca: cosine similarity entre query e corpus
query_vec = client.embeddings.create(
    model="openrouter/openai/text-embedding-3-small",
    input="como pagar?",
).data[0].embedding

sims = np.dot(vectors, query_vec) / (np.linalg.norm(vectors, axis=1) * np.linalg.norm(query_vec))
print(texts[np.argmax(sims)])  # → "Pague em BRL via pix"

Whisper · transcrever áudio pt-BR

bash
curl https://api.usetokia.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $TOKIA_KEY" \
  -F file=@reuniao.mp3 \
  -F model=openrouter/openai/whisper-large-v3 \
  -F language=pt

Streaming (SSE), token-by-token

typescript
const stream = await client.chat.completions.create({
  model: "openrouter/openai/gpt-4o-mini",
  messages: [{ role: "user", content: "Conte uma piada curta" }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

Próximos passos