Conectar tu código con la API de OpenAI es más sencillo de lo que parece. Solo necesitas una terminal, un editor de código y un runtime de JavaScript para enviar tu primer prompt y recibir una respuesta generada por inteligencia artificial. A continuación se desglosa cada paso esencial para lograrlo sin rodeos.
¿Qué necesitas antes de escribir la primera línea de código?
Antes de tocar el editor, hay tres requisitos que deben estar listos:
- Una terminal funcional en tu sistema operativo.
- Un editor de código como Visual Studio Code, Windsurf o el de tu preferencia.
- Node.js (versión 20 o superior) o Bun.js instalado como runtime de JavaScript.
Para verificar que Node.js está disponible, basta con ejecutar node -v en la terminal [0:48]. Si la versión es igual o mayor a 20, puedes continuar sin inconvenientes.
¿Cómo se inicializa el proyecto?
El flujo arranca creando una carpeta de trabajo. Con mkdir conexion-terminal && cd conexion-terminal generas el directorio y entras en él de inmediato [1:08]. Después, dentro del editor, ejecutas:
bash npm init -y
Esto produce el archivo package.json, que es el manifiesto donde se registran las dependencias del proyecto [1:38]. Un detalle importante: dentro de ese package.json debes agregar "type": "module" para que Node.js interprete correctamente las importaciones con import en lugar de require [3:15].
¿Cómo se instala la librería de OpenAI?
Con un solo comando obtienes el paquete oficial:
bash npm i openai
Esto descarga la librería, crea la carpeta node_modules y registra openai como dependencia en tu package.json [2:42].
¿Cómo se configura la API key de OpenAI?
La API key es la credencial que autoriza las peticiones. Sin ella, el cliente de OpenAI lanza un error indicando que no hay credenciales disponibles [3:28].
Para generarla, ve al panel de API keys en la plataforma de OpenAI y crea una nueva. Una buena práctica es nombrarla igual que tu proyecto —por ejemplo, "Conexión Terminal"— para recordar dónde la utilizas [4:08]. Esta clave solo se muestra una vez; si la pierdes, tendrás que eliminarla y crear otra.
El valor se almacena en un archivo de variables de entorno. Puedes llamarlo .env, .env.local, .env.development o .env.production, según la convención de tu equipo [4:52]. Dentro colocas:
OPENAI_API_KEY=sk-tu-clave-aquí
¿Por qué Bun.js lee la variable y Node.js no?
Bun.js carga automáticamente los archivos .env al iniciar, mientras que Node.js requiere una configuración explícita [5:32]. Para solucionar esto en Node, puedes pasar la clave directamente al instanciar el cliente:
javascript import OpenAI from 'openai';
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY || '' });
Otra alternativa es exportar la variable desde la terminal antes de ejecutar el script [8:32]:
bash export OPENAI_API_KEY="sk-tu-clave-aquí"
Con cualquiera de las dos opciones, Node.js reconoce la credencial y la conexión funciona.
¿Cómo se hace la primera llamada real a la API?
El archivo de debug inicial importa el cliente, lo instancia con logLevel: 'debug' y muestra en consola todas las funciones disponibles: responses, realtime, evals, conversations, entre otras [5:55]. Esto confirma que la conexión está activa.
Para ir más allá del debug, se crea un segundo archivo, cuento.js, que utiliza el endpoint responses [6:38]. La diferencia clave es que ahora se envían dos parámetros obligatorios:
- model: el modelo a utilizar, en este caso
gpt-4o o el más reciente disponible.
- input: el prompt, es decir, la instrucción o pregunta que se le envía al modelo.
javascript import OpenAI from 'openai';
const client = new OpenAI();
const response = await client.responses.create({ model: 'gpt-4o', input: 'Escribe una pequeña oración en español sobre un niño que se encuentra un dragón en el bosque' });
console.log(response.output_text);
Al ejecutar bun cuento.js, la respuesta llega en segundos [7:22]: "Un niño se internó en el bosque y detrás de un árbol antiguo encontró un dragón dormido que lo miró con curiosidad". El modelo respeta el idioma, la extensión y la temática indicados en el prompt.
Esta interacción demuestra que la integración de IA en el código es, en esencia, una llamada a una API como cualquier otra: defines la petición, envías los parámetros y recibes la respuesta.
OpenAI ofrece múltiples endpoints más allá de texto —imágenes, audio, completado— que amplían las posibilidades del proyecto. El siguiente paso natural es convertir esta conexión en algo interactivo y probar cada uno de esos endpoints. Mientras tanto, comparte en los comentarios del uno al cinco qué tan complejo te resultó esta primera integración.