Home/Blog/ChatGPT API Complete Guide: Build AI App...
Development

ChatGPT API Complete Guide: Build AI Apps in Any Language

The ChatGPT API is the most powerful and accessible AI API available. This complete guide shows you how to integrate it into your projects.

2026-06-2820 min readLearnGeni AI Academy

Guía Completa de ChatGPT API: Construye Aplicaciones de IA

La API de OpenAI (ChatGPT API) es la puerta de entrada para integrar IA en cualquier aplicación. Con ella puedes automatizar tareas, crear chatbots, generar contenido y mucho más. Esta guía te enseña todo desde el principio.

Obtener Tu API Key

  1. Ve a platform.openai.com
  2. Crea una cuenta o inicia sesión
  3. Ve a API Keys en el menú
  4. Haz clic en Create new secret key
  5. Copia la clave — no se mostrará de nuevo

Importante: Nunca pongas tu API key en el código. Usa variables de entorno.

Instalación

Python:

pip install openai python-dotenv

JavaScript/Node.js:

npm install openai dotenv

Crea un archivo .env:

OPENAI_API_KEY=sk-tu-clave-aqui

Primera Llamada a la API

Python:

from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()
client = OpenAI()

respuesta = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "Eres un asistente útil en español."},
        {"role": "user", "content": "¿Qué es la inteligencia artificial?"}
    ]
)

print(respuesta.choices[0].message.content)

JavaScript:

import OpenAI from 'openai';

const client = new OpenAI();

const respuesta = await client.chat.completions.create({
  model: 'gpt-4o-mini',
  messages: [
    { role: 'system', content: 'Eres un asistente útil en español.' },
    { role: 'user', content: '¿Qué es la inteligencia artificial?' }
  ]
});

console.log(respuesta.choices[0].message.content);

Roles en los Mensajes

RolUso
systemInstrucciones globales (personalidad, restricciones)
userMensaje del usuario
assistantRespuestas anteriores del modelo (para memoria)

Chatbot con Memoria

from openai import OpenAI

client = OpenAI()
mensajes = [{"role": "system", "content": "Eres un asistente de atención al cliente."}]

def chat(entrada: str) -> str:
    mensajes.append({"role": "user", "content": entrada})
    
    respuesta = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=mensajes
    )
    
    reply = respuesta.choices[0].message.content
    mensajes.append({"role": "assistant", "content": reply})
    return reply

print(chat("Hola, tengo un problema con mi pedido"))
print(chat("El número es #12345"))  # Recuerda el contexto

Streaming: Respuestas en Tiempo Real

from openai import OpenAI

client = OpenAI()

stream = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Escribe un poema sobre la IA"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Function Calling: IA que Ejecuta Acciones

from openai import OpenAI
import json

client = OpenAI()

herramientas = [
    {
        "type": "function",
        "function": {
            "name": "obtener_clima",
            "description": "Obtiene el clima de una ciudad",
            "parameters": {
                "type": "object",
                "properties": {
                    "ciudad": {"type": "string", "description": "Nombre de la ciudad"}
                },
                "required": ["ciudad"]
            }
        }
    }
]

def obtener_clima(ciudad: str) -> str:
    return f"Clima en {ciudad}: 22°C, soleado"

mensajes = [{"role": "user", "content": "¿Qué tiempo hace en Barcelona?"}]

respuesta = client.chat.completions.create(
    model="gpt-4o",
    messages=mensajes,
    tools=herramientas
)

if respuesta.choices[0].message.tool_calls:
    tool_call = respuesta.choices[0].message.tool_calls[0]
    args = json.loads(tool_call.function.arguments)
    resultado = obtener_clima(args["ciudad"])
    
    mensajes.append(respuesta.choices[0].message)
    mensajes.append({
        "role": "tool",
        "tool_call_id": tool_call.id,
        "content": resultado
    })
    
    respuesta_final = client.chat.completions.create(
        model="gpt-4o",
        messages=mensajes
    )
    print(respuesta_final.choices[0].message.content)

Optimización de Costos

ModeloCosto entrada (1M tokens)Costo salida (1M tokens)Uso recomendado
gpt-4o-mini$0.15$0.60Tareas cotidianas
gpt-4o$2.50$10.00Tareas complejas

Consejos para reducir costos:

  • Usa gpt-4o-mini para el 80% de las tareas
  • Limita max_tokens según necesites
  • Cachea respuestas frecuentes
  • Comprime el contexto antes de enviarlo

Manejo de Errores

from openai import OpenAI, RateLimitError, APIError
import time

client = OpenAI()

def llamar_con_reintentos(mensajes, max_intentos=3):
    for intento in range(max_intentos):
        try:
            return client.chat.completions.create(
                model="gpt-4o-mini",
                messages=mensajes
            )
        except RateLimitError:
            if intento < max_intentos - 1:
                time.sleep(2 ** intento)
            else:
                raise
        except APIError as e:
            print(f"Error de API: {e}")
            raise

¿Quieres dominar la API de OpenAI? La guía completa de ChatGPT API en LearnGeni incluye proyectos reales, ejemplos de producción y los mejores patrones de integración. Ver todas las guías.

G

Earn Your International AI Certificate

This article is part of the LearnGeni AI Mastery Program — 30 comprehensive guides in 50+ languages. Complete all 30 and earn a certificate backed by WhatsGeni (Official Meta AI Partner), recognized in 50+ countries.

🌍
50+ Languages
Learn in your native language
🏆
Official Certificate
Backed by Meta AI Partner
💡
30 Guides
$5 each or $50 for the full bundle