Ligue as suas ferramentas à API Reeva em cinco minutos
Por Equipa Reeva · 2 de outubro de 2026 · Atualizado 15 de outubro de 2026
A API de modelos de IA da Reeva fala a linguagem da OpenAI. Se uma ferramenta ou biblioteca consegue conversar com OpenAI, consegue conversar com Reeva: mudam-se duas definições e escolhe-se um modelo. Veja como.
O que é preciso
- Uma chave de API Reeva AI. Escolha um plano na página API de modelos de IA. A primeira chave é emitida logo que o pagamento no PayPal é processado.
- O URL base:
https://api.reeva.me/v1 - Um nome de modelo:
deepseek-v4.1-flashpara chat, texto, código e agentes, ouqwen-imagepara imagens. - Também disponível:
qwen3.6-35b-a3b(Qwen 3.6), um modelo leve para tarefas curtas e rápidas. - Embeddings, no Pro e no Scale:
nemotron-embed-8bpara documentos enemotron-embed-8b-querypara perguntas de pesquisa.
Crie uma chave separada para cada ferramenta, com um nome que reconheça. Pode ter até 10,
e revogar uma não afeta as outras. Guarde as chaves numa variável de ambiente, não no seu código.
Os exemplos abaixo leem a chave de REEVA_API_KEY.
Python
Instale a biblioteca oficial da OpenAI com pip install openai, depois aponte-a para a Reeva:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.reeva.me/v1",
api_key=os.environ["REEVA_API_KEY"],
)
r = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user",
"content": "Summarize this email in three bullets"}],
)
print(r.choices[0].message.content)
Node.js
Instale a biblioteca com npm install openai, depois guarde isto como index.mjs e execute com
node index.mjs:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.reeva.me/v1",
apiKey: process.env.REEVA_API_KEY,
});
const r = await client.chat.completions.create({
model: "deepseek-v4.1-flash",
messages: [{ role: "user", content: "Write a Python function that checks a number with the Luhn algorithm." }],
});
console.log(r.choices[0].message.content);
curl
Um pedido de chat:
curl https://api.reeva.me/v1/chat/completions \
-H "Authorization: Bearer $REEVA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Translate to French: Same-day repairs, guaranteed."}]
}'
Uma imagem:
curl https://api.reeva.me/v1/images/generations \
-H "Authorization: Bearer $REEVA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image",
"prompt": "A winter campaign banner in pink and purple, no text",
"n": 1
}'
Uma imagem demora mais tempo a chegar do que uma resposta de texto.
Ferramentas de programação
opencode, Cline, Continue, Aider e Roo Code conseguem usar um fornecedor compatível com OpenAI. Cada uma tem o seu próprio ecrã de definições ou ficheiro de configuração, mas definem-se as mesmas coisas em cada:
- Fornecedor: Compatível com OpenAI, ou OpenAI com um URL base personalizado
- URL base:
https://api.reeva.me/v1 - Chave de API: a sua chave Reeva
- Modelo:
deepseek-v4.1-flashpara programação, agentes, edições rápidas e chat
No Aider, por exemplo, são duas variáveis de ambiente e um nome de modelo:
export OPENAI_API_BASE=https://api.reeva.me/v1
export OPENAI_API_KEY=$REEVA_API_KEY
aider --model openai/deepseek-v4.1-flash
Embeddings (Pro e Scale)
O Pro e o Scale incluem embeddings em /v1/embeddings, com o Nemotron-3-Embed-8B da nvidia. O modelo
tem dois ids, e uma pesquisa precisa dos dois: nemotron-embed-8b para os documentos que guarda e
nemotron-embed-8b-query para as perguntas com que pesquisa. Usar um só id para os dois não dá erro,
mas a pesquisa ordena os resultados muito pior.
docs = ["Invoices are due 30 days after issue.",
"Refunds go back to the original card."]
d = client.embeddings.create(model="nemotron-embed-8b", input=docs)
q = client.embeddings.create(model="nemotron-embed-8b-query",
input="When is an invoice due?")
# The vectors are normalized: a dot product is the cosine similarity.
qv = q.data[0].embedding
scores = [sum(a * b for a, b in zip(qv, x.embedding)) for x in d.data]
print(docs[scores.index(max(scores))])
Os vetores têm 4096 dimensões. Um pedido leva até 64 entradas e 120 000 caracteres no total.
Cada entrada é processada até 4096 tokens, e o texto mais longo é cortado sem erro (o
usage.prompt_tokens da resposta fica nos 4096), por isso divida os documentos longos em partes antes
de criar os embeddings. O limite de tamanho por pedido do seu plano é para o chat e não se aplica
aqui, mas os tokens de embeddings contam tal como os do chat.
Limites e erros
Os tokens são ilimitados, mas cada plano define limites por minuto, de pedidos de uma vez e por pedido. Eis o que acontece quando se ultrapassa um deles.
- HTTP 429, demasiados pedidos por minuto. A janela é reposta a cada minuto, por isso tente novamente dentro de um minuto. Mini permite 5 pedidos por minuto, Starter 20, Pro 60 e Scale 120.
- Demasiados pedidos de uma vez: o pedido espera. Começa logo que um dos seus próprios pedidos em execução terminar. Se nenhuma vaga ficar livre em dois minutos, é recusado com HTTP 429. Mini executa 1 pedido de uma vez, Starter 2, Pro 4 e Scale 8.
- HTTP 429, demasiadas imagens num pedido. Um pedido pode pedir até 3 imagens (
n) no Mini, 10 no Starter e 16 no Pro e no Scale. Umnmaior é recusado de imediato; peça menos. - Utilização razoável. A utilização intensa abranda os seus pedidos. Só a utilização extrema mantida durante um dia inteiro fica em pausa até diminuir. Durante a pausa, os pedidos recebem HTTP 429.
- HTTP 400,
request_too_large. O pedido é maior do que o seu plano permite: 32k tokens no Mini e 128k no Starter e Pro. O Scale não tem limite próprio, apenas o contexto de 256k tokens do DeepSeek v4.1. O tamanho conta o seu prompt maismax_tokensque solicita, e é verificado antes de o pedido ser executado. Encurte o prompt ou baixemax_tokens. O Qwen 3.6 tem um limite próprio de 32k tokens por pedido em todos os planos; um pedido maior também é recusado com HTTP 400. Ogpt-oss-20bfoi retirado e os pedidos que o indicam são recusados. Use odeepseek-v4.1-flashpara código e agentes. - HTTP 401. A chave não é válida, por exemplo porque foi revogada.
Os SDKs da OpenAI para Python e Node.js tentam novamente automaticamente em 429, com backoff.
Próximos passos
Escolha o seu plano na página API de modelos de IA, ou leia o anúncio de lançamento para a comparação completa de planos.