Guia de integração
Aponte o base_url para o Y-API e o resto do seu código fica como está. Os exemplos abaixo funcionam copiando e colando, e os 21 modelos seguem o mesmo padrão.
Passo 1
Configuração básica
Substitua estes três itens em qualquer SDK compatível com OpenAI. O api_key você pega na página "Chaves de API" do console; o model recebe qualquer ID da lista "Modelos disponíveis".
- base_url
- https://api.y-api.bestvirtualgoods.com/v1
- api_key
- sk-... (criada no console)
- model
- deepseek/deepseek-v4-pro
Passo 2
Faça sua primeira requisição
Os três exemplos são equivalentes — copie o que você já usa.
curl https://api.y-api.bestvirtualgoods.com/v1/chat/completions \
-H "Authorization: Bearer $YAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4-pro",
"messages": [{"role": "user", "content": "Olá!"}]
}'import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.y-api.bestvirtualgoods.com/v1",
api_key=os.environ["YAPI_KEY"], # chave criada no console
)
response = client.chat.completions.create(
model="deepseek/deepseek-v4-pro",
messages=[{"role": "user", "content": "Olá!"}],
)
print(response.choices[0].message.content)import OpenAI from 'openai'
const client = new OpenAI({
baseURL: 'https://api.y-api.bestvirtualgoods.com/v1',
apiKey: process.env.YAPI_KEY, // chave criada no console
})
const response = await client.chat.completions.create({
model: 'deepseek/deepseek-v4-pro',
messages: [{ role: 'user', content: 'Olá!' }],
})
console.log(response.choices[0].message.content)Avançado
Streaming
Adicione o parâmetro stream — os chunks chegam no mesmo formato SSE do OpenAI, então o cliente não precisa de tratamento especial.
stream = client.chat.completions.create(
model="deepseek/deepseek-v4-pro",
messages=[{"role": "user", "content": "Olá!"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")Avançado
Trocando de modelo
Todos os modelos usam o mesmo base_url e a mesma chave — trocar é só mudar o campo model. A lista completa está na página de modelos.
# barato, bom para tarefas de alta frequência e em lote
client.chat.completions.create(model="deepseek/deepseek-v4-flash", messages=msgs)
# mais capaz, bom para raciocínio complexo
client.chat.completions.create(model="deepseek/deepseek-v4-pro", messages=msgs)Solução de problemas
Tratamento de erros
Dois erros são os mais comuns, e ambos ficam registrados no log de requisições do console.
| Status | Significado | O que fazer |
|---|---|---|
| 401 | SignificadoA chave é inválida ou foi revogada. | O que fazerConfira se a chave ainda existe na página "Chaves de API" do console, ou crie uma nova. |
| 429 | SignificadoOs créditos da conta se esgotaram. | O que fazerRecarregue em https://y-api.bestvirtualgoods.com/app/billing — o acesso volta imediatamente, as chaves continuam válidas e não é preciso mudar código. |
Os demais códigos de status e formatos de corpo de erro seguem as convenções do OpenAI, então o seu código de tratamento de erros atual continua funcionando.
Ainda não tem uma chave?
Entre com Google ou GitHub — sua conta é aberta automaticamente com uma chave padrão.