🌐

Conecta Claude API a tu Web

Duración: 10 min Nivel: Avanzado Para: Creadores y Profesionales

Imagina tu web con una IA integrada: un chatbot inteligente, un generador de contenido automático, o un asesor virtual. Todo es posible con Claude API.

En este tutorial aprenderás a conectar Claude directamente a tu aplicación web, del backend al frontend, con ejemplos reales para beauty business.

1 Obtén tu API Key de Anthropic

Primero necesitas credenciales para usar Claude API.

Paso 1.1: Regístrate o inicia sesión

  1. Ve a console.anthropic.com
  2. Haz click en "Sign Up" o "Sign In"
  3. Completa con tu email y contraseña

Paso 1.2: Crea una API Key

  1. En el panel, ve a API Keys (generalmente en el menú izquierdo)
  2. Click en + Create Key
  3. Nombra tu key: ej: "my-beauty-business-app"
  4. Cópia y guarda en lugar seguro (no la compartas públicamente)
🔐 Formato de API Key
sk-ant-v0-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t
⚠️ Seguridad: Nunca compartas tu API Key

Tu API key es como una contraseña maestra. Nunca la publiques en GitHub, en frontend code, o en redes sociales. Siempre usala en tu backend.

2 Setup del Backend (Node.js + Express)

Crearemos un endpoint que tu frontend usará para hablar con Claude.

Paso 2.1: Instala la librería

⌨️ Terminal
npm install @anthropic-ai/sdk

Paso 2.2: Crea tu endpoint en Express

📄 server.js
const express = require('express');
const Anthropic = require('@anthropic-ai/sdk');

const app = express();
app.use(express.json());

const client = new Anthropic({
    apiKey: process.env.ANTHROPIC_API_KEY,
});

// Endpoint para generar contenido
app.post('/api/generate-content', async (req, res) => {
    const { topic, style } = req.body;

    try {
        const message = await client.messages.create({
            model: 'claude-sonnet-4-20250514',
            max_tokens: 1024,
            messages: [
                {
                    role: 'user',
                    content: `Genera un post para redes sociales sobre: ${topic}
                    Estilo: ${style}
                    Incluye: Texto principal + Hashtags + Emoji`
                }
            ]
        });

        res.json({
            success: true,
            content: message.content[0].text
        });
    } catch (error) {
        res.status(500).json({
            success: false,
            error: error.message
        });
    }
});

app.listen(3000, () => {
    console.log('Servidor escuchando en puerto 3000');
});

Paso 2.3: Configura variables de entorno

📄 .env
ANTHROPIC_API_KEY=sk-ant-v0-xxxxxxxxxxxx
💡 En producción (Vercel, Netlify, Heroku):

No subas el .env a GitHub. En tu plataforma de hosting, ve a Settings → Environment Variables y agrega ANTHROPIC_API_KEY ahí.

3 Conecta desde tu Frontend

Ahora haremos que tu página web hable con tu backend.

Ejemplo: Formulario que genera contenido

📄 index.html
<form id="contentForm">
    <input
        type="text"
        id="topic"
        placeholder="Tema (ej: Tratamiento facial)"
    >
    <select id="style">
        <option>Profesional</option>
        <option>Casual</option>
        <option>Viral</option>
    </select>
    <button type="submit">Generar Contenido</button>
</form>

<div id="result" style="display:none;">
    <h3>Contenido Generado:</h3>
    <p id="generatedContent"></p>
</div>

<script>
document.getElementById('contentForm').addEventListener('submit', async (e) => {
    e.preventDefault();

    const topic = document.getElementById('topic').value;
    const style = document.getElementById('style').value;

    try {
        const response = await fetch('/api/generate-content', {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify({ topic, style })
        });

        const data = await response.json();

        if (data.success) {
            document.getElementById('generatedContent').textContent = data.content;
            document.getElementById('result').style.display = 'block';
        } else {
            alert('Error: ' + data.error);
        }
    } catch (error) {
        console.error('Error:', error);
    }
});
</script>

4 Casos de Uso Reales para Tu Negocio

Caso 1: Chatbot de Atención al Cliente

💬 Prompt para Chatbot
const systemPrompt = `Eres Nadia, asesora de belleza de un salón.
Tu rol: responder preguntas sobre tratamientos, precios y agendar citas.
Tono: amable, experto, cercano.`;

// En tu endpoint de chat:
const message = await client.messages.create({
    model: 'claude-sonnet-4-20250514',
    max_tokens: 512,
    system: systemPrompt,
    messages: [
        { role: 'user', content: userMessage }
    ]
});

Caso 2: Generador de Propuestas (Quotes)

El cliente entra en tu web, responde un cuestionario y Claude genera una propuesta personalizada.

Caso 3: Email automático post-tratamiento

Después de una cita, Claude genera un email personalizado con consejos de cuidado específicos del tratamiento realizado.

Caso 4: Análisis de feedback de clientes

Tus clientes dejan reviews, Claude los analiza y te sugiere mejoras.

5 Errores Comunes y Gestión de Costos

Errores frecuentes:

Gestión de costos (Importante):

💰 Pricing Aproximado
  • Claude 3 Sonnet: $0.003 por 1K tokens input, $0.015 por 1K output
  • Ejemplo: 1000 usuarios generando 10 posts/mes = ~$15-30/mes
💡 Optimiza costos:
  • Cachea respuestas que se repiten
  • Limita tokens máximos en `max_tokens`
  • Usa prompts más cortos
  • Monitorea uso en console.anthropic.com

Implementar un límite de uso:

📄 Con límite de usuarios
// Limita a 5 generaciones/día por usuario
const userGenerations = {}; // O usa una BD real

app.post('/api/generate', (req, res) => {
    const userId = req.user.id;

    if (!userGenerations[userId]) {
        userGenerations[userId] = 0;
    }

    if (userGenerations[userId] >= 5) {
        return res.status(429).json({
            error: 'Límite diario alcanzado'
        });
    }

    // Proceder con generación...
    userGenerations[userId]++;
});

6 Deploy a Producción

Opción A: Vercel (Recomendado para JS/Node)

  1. Pushea tu código a GitHub
  2. Ve a vercel.com y conecta tu repo
  3. En Settings → Environment Variables, añade ANTHROPIC_API_KEY
  4. Deploy automático al hacer push

Opción B: Netlify Functions (Para frontend puro)

  1. Crea una carpeta netlify/functions
  2. Tu endpoint de Claude va en un archivo dentro
  3. Deploya a Netlify, añade env vars

Opción C: Node.js en un VPS (Control total)

  1. Alquila un VPS (DigitalOcean, Linode, AWS)
  2. Instala Node.js y tu app
  3. Usa PM2 para mantener el proceso corriendo
  4. Configura HTTPS con Let's Encrypt
🚀 Truco Final: Streaming Responses

Para mejor UX, usa streaming: en lugar de esperar a que Claude termine la respuesta, muestra el texto caractér por caractér mientras se genera. Aquí está:

// En tu endpoint con streaming
stream: true,

Luego en frontend escuchas los eventos de stream y actualizas la UI en tiempo real. ¡Más rápido y profesional!

Checklist: Tu Integración está Lista Si...

← Volver a Recursos