La inteligencia artificial ya no es cosa de grandes empresas tecnológicas. Con unos pocos bloques de código PHP puedes añadir un asistente inteligente, un generador de textos o un chatbot a cualquier web — sin necesidad de frameworks complejos ni dependencias difíciles de mantener.

En esta guía te explico, paso a paso y con código real, cómo conectar la API de OpenAI a un proyecto web hecho en PHP. Desde crear la cuenta hasta mostrar la respuesta en el navegador. Si sabes hacer una petición con curl, ya tienes todo lo que necesitas.

Si no sabes/quieres/puedes, en Gráfico y Web Valencia somos especialistas en desarrollo web a medida y podemos hacerlo por ti.

¿Qué vas a conseguir al terminar?

Un script PHP funcional que envía un mensaje a GPT-4o (o al modelo que elijas) y muestra la respuesta en tu web. Desde ahí puedes extenderlo como quieras: asistente de soporte, generador de descripciones de producto, resumen de formularios, traducción automática… las posibilidades son amplias.

Paso 1: Obtener tu clave API de OpenAI

Entra en platform.openai.com, crea una cuenta (o inicia sesión) y ve a API Keys → Create new secret key. Copia esa clave — solo la verás una vez. Guárdala en un lugar seguro y nunca la incluyas directamente en el código que subes a un repositorio.

La práctica recomendada es guardarla en una variable de entorno o en un archivo de configuración fuera del directorio público del servidor. Por ejemplo:

# En un archivo .env (no dentro de /public_html)
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxx

Y en PHP la lees con getenv('OPENAI_API_KEY') o mediante librerías como vlucas/phpdotenv si usas Composer.

Paso 2: La petición básica con cURL

OpenAI usa una API REST estándar. Para el endpoint de chat completions (/v1/chat/completions) hacemos un POST con JSON. Aquí el código más limpio posible:

<?php

function preguntarOpenAI(string $mensaje): string
{
    $apiKey = getenv('OPENAI_API_KEY'); // Lee la clave desde variable de entorno

    $datos = [
        'model'    => 'gpt-4o-mini', // Modelo económico y rápido para empezar
        'messages' => [
            [
                'role'    => 'system',
                'content' => 'Eres un asistente útil para el sitio web de mi empresa.'
            ],
            [
                'role'    => 'user',
                'content' => $mensaje
            ]
        ],
        'max_tokens'  => 500,
        'temperature' => 0.7
    ];

    $ch = curl_init('https://api.openai.com/v1/chat/completions');
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST           => true,
        CURLOPT_HTTPHEADER     => [
            'Content-Type: application/json',
            'Authorization: Bearer ' . $apiKey
        ],
        CURLOPT_POSTFIELDS => json_encode($datos)
    ]);

    $respuesta = curl_exec($ch);
    curl_close($ch);

    // Decodificar y extraer el texto de respuesta
    $json = json_decode($respuesta, true);
    return $json['choices'][0]['message']['content'] ?? 'Sin respuesta.';
}

// Uso
$pregunta   = $_POST['pregunta'] ?? 'Hola, ¿en qué puedes ayudarme?';
$respuesta  = preguntarOpenAI($pregunta);

echo htmlspecialchars($respuesta);

Paso 3: Conectarlo a un formulario HTML básico

Con el script anterior listo, el frontend más sencillo sería un formulario que envíe la pregunta por POST:

<form method="POST" action="chat.php">
  <textarea name="pregunta" rows="3" placeholder="Escribe tu consulta..."></textarea>
  <button type="submit">Enviar</button>
</form>

Si quieres una experiencia más fluida sin recargar la página, puedes hacer la misma llamada vía jQuery + AJAX hacia un endpoint PHP — un patrón que muchos proyectos ya tienen implementado y que hace que la integración sea casi inmediata.

Paso 4: Control de errores y buenas prácticas

Antes de llevar esto a producción, ten en cuenta estos puntos:

  • Límites de uso: OpenAI cobra por tokens consumidos. Define max_tokens siempre para evitar sorpresas en la factura.
  • Rate limiting: Si tu web tiene mucho tráfico, implementa un sistema de caché o cola para evitar superar los límites de la API.
  • Validación de entrada: Sanea y valida el input del usuario antes de enviarlo a la API, como harías con cualquier dato externo en PHP.
  • Timeouts: Configura CURLOPT_TIMEOUT para que una respuesta lenta de OpenAI no bloquee tu servidor.

¿Qué modelos usar según el caso?

Para empezar, gpt-4o-mini es la opción más equilibrada en coste y calidad. Si necesitas más capacidad de razonamiento, gpt-4o da mejores resultados en tareas complejas. Para generación de texto en volumen, gpt-3.5-turbo sigue siendo económico y funcional.

No es dificil

Como ves, añadir inteligencia artificial a una web con PHP no requiere reinventar la rueda. En menos de 50 líneas de código tienes una integración funcional que puedes adaptar a casi cualquier caso de uso: asistente de soporte, generador de contenido, herramienta de análisis de texto… la lógica base es siempre la misma.

Si tienes un proyecto en mente y no sabes por dónde empezar, o quieres explorar cómo la IA podría encajar en tu web de negocio, estaré encantado de ayudarte a evaluarlo sin compromiso. Contáctame aquí y hablamos.