Nos últimos anos, a inteligência artificial deu saltos impressionantes, e a OpenAI está na vanguarda dessa revolução com o ChatGPT. Para desenvolvedores, integrar o poder do ChatGPT em aplicações web, bots e automações nunca foi tão acessível — especialmente com Node.js. Se você já trabalha com JavaScript e quer dar um passo além, este guia vai te mostrar como consumir a API do ChatGPT com Node.js, usando chamadas HTTP modernas e boas práticas.
1. O que é a API do ChatGPT?
A API do ChatGPT é uma interface de comunicação fornecida pela OpenAI, baseada nos modelos da família GPT (como o GPT-4). Com ela, é possível enviar mensagens para o modelo e receber respostas contextualizadas, funcionando como uma conversa dinâmica.
A versão mais comum atualmente é a chamada chat/completions, ideal para fluxos interativos. Você envia um array de mensagens (com role: user, assistant ou system) e o modelo responde com base nesse histórico.
2. Pré-requisitos para usar a API
Antes de tudo, você vai precisar de:
- Conta na OpenAI (https://platform.openai.com)
- Chave de API ativa
- Node.js instalado (recomendado: v16 ou superior)
- Conhecimento básico de chamadas HTTP e JSON
Instale o Node.js aqui: https://nodejs.org/
3. Criando um projeto Node.js
Abra seu terminal e siga estes passos:
mkdir chatgpt-node
cd chatgpt-node
npm init -y
npm install axios dotenv
Vamos usar o
axiospara fazer as requisições edotenvpara guardar a chave da API com segurança.
Crie o arquivo .env:
OPENAI_API_KEY=sua-chave-aqui
4. Estrutura básica para consumir a API
Crie um arquivo chamado index.js com o seguinte conteúdo:
require('dotenv').config();
const axios = require('axios');
const apiKey = process.env.OPENAI_API_KEY;
async function enviarMensagem(mensagemUsuario) {
try {
const resposta = await axios.post(
'https://api.openai.com/v1/chat/completions',
{
model: 'gpt-4', // ou 'gpt-3.5-turbo'
messages: [
{ role: 'system', content: 'Você é um assistente útil e conciso.' },
{ role: 'user', content: mensagemUsuario }
],
temperature: 0.7
},
{
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
}
);
const mensagemResposta = resposta.data.choices[0].message.content;
console.log('ChatGPT:', mensagemResposta);
} catch (erro) {
console.error('Erro ao enviar mensagem:', erro.response?.data || erro.message);
}
}
enviarMensagem("Como criar uma API REST em Node.js?");
5. Entendendo os parâmetros usados
model: define o modelo usado (gpt-4,gpt-3.5-turbo, etc.)messages: histórico de conversassystem: define o comportamento do assistenteuser: mensagem do usuário
temperature: controla a criatividade da resposta (0 = mais objetiva, 1 = mais criativa)
6. Lidando com respostas e interações dinâmicas
Se quiser tornar a conversa interativa via terminal, adicione o pacote readline:
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
readline.question('Pergunte algo: ', pergunta => {
enviarMensagem(pergunta).then(() => readline.close());
});
7. Limitações, custos e segurança
- A OpenAI cobra por token usado, ou seja, depende do tamanho das mensagens e da resposta.
- O uso em produção exige controle de gastos e segurança da chave.
- Evite expor sua
API_KEYem repositórios públicos ou no frontend.
8. Exemplos de uso prático
- Bots de atendimento ao cliente
- Assistentes para e-commerce
- Geradores automáticos de texto
- Automatização de tarefas repetitivas
- Aplicativos educacionais com IA
FAQ — Dúvidas comuns
A API é gratuita?
Não. Existe uma cota gratuita para testes, mas a OpenAI cobra por uso. Você pode acompanhar o consumo no painel da sua conta.
Posso usar no frontend direto?
Não é recomendado por segurança. Sempre consuma a API a partir de um backend.
A chave da API expira?
Não expira automaticamente, mas pode ser revogada ou substituída por questões de segurança.
Posso usar outro pacote além de axios?
Sim, também pode usar fetch, node-fetch ou bibliotecas mais específicas como o SDK oficial da OpenAI.




