Voltar para Docs

Guia de Conexão: Passo a Passo

Como testar sua API Key?

Importante: Em todos os exemplos abaixo, você deve substituir o texto sk-thrifty-SUA-CHAVE pela sua chave real, que pode ser gerada no Dashboard.

Escolha o método abaixo que combina com seu nível de conhecimento técnico.

Grupo A: Raiz

Sem Instalação (Rápido)

  • 1Navegador: Teste direto no Chrome/Edge.
  • 2Terminal (cURL): Comando universal.
  • 3JS Nativo: Node.js puro sem bibliotecas.

Grupo B: Pro

Com Bibliotecas (SDK)

  • 4Node.js (Lib): Padrão da indústria.
  • 5Python: Para Ciência de Dados/IA.
  • 6TypeScript: Para projetos robustos.

GRUPO A

Testes Rápidos (Sem Instalação)

1

Navegador (Browser Console)

O jeito mais rápido do mundo.

O Navegador bloqueou a colagem?

Se aparecer um aviso vermelho/amarelo dizendo "Não cole código aqui", isso é uma proteção do navegador. Para liberar:

  1. Clique na linha de digitação do console.
  2. Digite a frase: allow pasting ou permitir colagem
  3. Aperte Enter. Tente colar novamente.
1

Abra esta página no Chrome, Edge ou Firefox.

2

Aperte F12 e vá na aba 'Console'.

3

Copie o código abaixo e SUBSTITUA A CHAVE onde indicado.

4

Cole no Console e aperte Enter.

javascript
// 1. Copie este código
// 2. Onde está "sk-thrifty-SUA-CHAVE", apague e cole sua chave REAL.

fetch("https://api.thrifty.qzz.io/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer sk-thrifty-SUA-CHAVE", // <--- COLE SUA CHAVE AQUI
    "x-thrifty-use-cache": "true"
  },
  body: JSON.stringify({
    model: "gpt-3.5-turbo",
    stream: false,
    messages: [{ role: "user", content: "Isso funciona no navegador?" }]
  })
})
.then(async (r) => {
  if (!r.ok) {
    const err = await r.json();
    throw new Error("Erro API: " + JSON.stringify(err));
  }
  return r.json();
})
.then(data => {
  console.log("✅ SUCESSO!");
  console.log("Resposta:", data.choices[0].message.content);
  console.log("Tokens Gastos:", data.usage.total_tokens);
})
.catch(err => console.error("❌ FALHA:", err.message));
2

Terminal (cURL)

Padrão universal. Cole no Git Bash.

1

Abra seu terminal.

2

Copie o código, cole num bloco de notas e troque a chave.

3

Cole no terminal e dê Enter.

bash
curl -X POST https://api.thrifty.qzz.io/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-thrifty-SUA-CHAVE" \
-d '{
  "model": "gpt-3.5-turbo",
  "stream": false,
  "messages": [{"role": "user", "content": "Olá do Terminal!"}]
}'
3

JavaScript Nativo (Node puro)

Não requer instalação de pacotes (npm install).

1

Crie um arquivo 'teste.js'.

2

Cole o código e substitua a API KEY na primeira linha.

3

Rode com: node teste.js

javascript
const API_KEY = "sk-thrifty-SUA-CHAVE"; // <--- TROQUE PELA SUA CHAVE REAL
const BASE_URL = "https://api.thrifty.qzz.io/v1";

async function teste() {
  console.log("📡 Conectando...");

  try {
    const req = await fetch(BASE_URL + "/chat/completions", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer " + API_KEY
      },
      body: JSON.stringify({
        model: "gpt-3.5-turbo",
        stream: false,
        messages: [{ role: "user", content: "Teste Node Nativo." }]
      })
    });

    if (!req.ok) {
      const err = await req.text();
      throw new Error(`Erro ${req.status}: ${err}`);
    }

    const data = await req.json();
    console.log("📝 Resposta:", data.choices?.[0]?.message?.content);
    console.log("📊 Tokens:", data.usage?.total_tokens);

  } catch (error) {
    console.error("❌ Falha:", error.message);
  }
}

teste();
GRUPO B

Testes Robustos (Requer Instalação)

Atenção:

Os códigos abaixo só funcionam se você instalar a biblioteca antes (npm/pip). Lembre-se sempre de trocar sk-thrifty-SUA-CHAVE pela sua chave real.

4

Node.js (Com Biblioteca)

1

Terminal: npm install openai

2

Crie um arquivo 'teste-pro.mjs' e cole o código com sua chave.

3

Rode com: node teste-pro.mjs

javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-thrifty-SUA-CHAVE", // <--- SUA CHAVE
  baseURL: "https://api.thrifty.qzz.io/v1"
});

async function main() {
  try {
    const completion = await client.chat.completions.create({
      messages: [{ role: "user", content: "Olá via Biblioteca!" }],
      model: "gpt-3.5-turbo",
      stream: false,
    });
    console.log("📝 Resposta:", completion.choices[0].message.content);
  } catch (e) {
    console.error("❌ Erro:", e.message);
  }
}

main();
5

Python (Com Biblioteca)

1

Terminal: pip install openai

2

Crie um arquivo 'main.py', cole o código e ajuste a chave.

python
from openai import OpenAI

try:
    client = OpenAI(
        api_key="sk-thrifty-SUA-CHAVE", # <--- SUA CHAVE
        base_url="https://api.thrifty.qzz.io/v1"
    )

    response = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": "Olá Python!"}],
        stream=False
    )
    print(f"📝 Resposta: {response.choices[0].message.content}")

except Exception as e:
    print(f"❌ Erro: {e}")
6

TypeScript / Next.js

1

Instale: npm install openai @types/node

2

Configure sua variável de ambiente THRIFTY_API_KEY.

typescript
import OpenAI from "openai";

// Inicialize fora da função para reaproveitar conexão
const client = new OpenAI({
  apiKey: process.env.THRIFTY_API_KEY, // <--- Variável de Ambiente
  baseURL: "https://api.thrifty.qzz.io/v1",
  dangerouslyAllowBrowser: true // Apenas se testar no frontend
});

export async function getResponse() {
  try {
    const completion = await client.chat.completions.create({
      messages: [{ role: "user", content: "Teste TypeScript" }],
      model: "gpt-3.5-turbo",
    });
    return completion.choices[0].message.content;
  } catch (error) {
    console.error("Erro na chamada:", error);
    throw error;
  }
}