GPT Realtime 2
El 7 de mayo 2026 OpenAI prendió en GA gpt-realtime-2: un modelo voice-to-voice con razonamiento clase GPT-5. Lo bonito: lo pruebas en el playground oficial sin instalar nada en 60 segundos. Lo más bonito: cuando quieras tu propia app de voz con tu marca conectada a Shopify o Gmail, no escribes código — le pasas 4 prompts a Claude Code y él te lo monta entero. La página entera está pensada para que la sigas sin saber programar: el modelo lo pruebas en la consola oficial de OpenAI, y cuando ya quieras tu propia app conectada a tu marca, le pasas los prompts a Claude Code y él arma todo por ti.
Realtime API · 7 mayo 2026 · GA · gpt-realtime-2 · gpt-realtime-translate · gpt-realtime-whisper
Pruébalo sin código → entiende el modelo → pídele a Claude Code que monte tu app
El lanzamiento del 7 de mayo trajo tres modelos al mismo tiempo: gpt-realtime-2 (voice-to-voice con razonamiento, el principal), gpt-realtime-translate (interpretación simultánea sin pasar por texto) y gpt-realtime-whisper (transcripción streaming). Lo importante para ti: la versión voice-to-voice ahora se conecta a Shopify, Gmail y Calendar por sí sola — y la página oficial del playground te deja hablar con el modelo sin instalar nada.
Esta guía está armada para gente que no escribe código: arrancas en el playground oficial probando la voz, después armas tu propia app pasándole cuatro prompts a Claude Code (uno para la app base, uno para conectar Shopify, uno para Gmail+Calendar, uno para meterle Claude como cerebro), y cierras con cinco personalidades listas para pegar como Instructions en el playground o en tu app — desde intérprete simultáneo hasta coach de pitch.
01 · Pruébalo
60 segundos en el playground oficial — sin instalar nada
Antes de cualquier cosa, prueba el modelo desde la consola que la propia OpenAI publicó para esto. No instalas nada en tu máquina, no creas un proyecto, no escribes código. Es la misma página donde la gente está grabando los reels de demo: entras, picas voz, hablas, escuchas. Cinco pasos.
- 01
Abre el link del playground
platform.openai.com/audio/realtime — es la consola oficial de OpenAI para probar el modelo de voz. No instalas nada, no clonas un repo, no tocas terminal.
- 02
Login con tu cuenta de OpenAI
La misma con la que usas ChatGPT. Si nunca le has metido tarjeta, te va a pedir activar billing antes de hablar — abajo en prerequisitos te explico.
- 03
Escoge modelo gpt-realtime-2
Arriba a la derecha hay un dropdown de modelo. Pícale gpt-realtime-2 (no el 4o-realtime viejo). Si no aparece, refresca la página — a veces tarda unos minutos en propagarse a tu cuenta.
- 04
Pica voz Cedar o Marin
Cedar para asistentes generales (cálida, más confianza). Marin si vas a probar traducción o algo más articulado. Las puedes ir cambiando dentro de la sesión.
- 05
Da permiso al micrófono y habla
El navegador te va a pedir acceso al micro la primera vez. Acepta. El botón grande de la izquierda inicia la llamada — cuando se pone verde, ya te está escuchando. Habla normal, como si fuera una llamada.
02 · Qué es
Voice-to-voice con razonamiento real adentro
La diferencia mental contra ChatGPT en voz: ChatGPT escucha, pasa el audio a texto, lo procesa, genera texto y lo lee. Son cuatro modelos en cadena. gpt-realtime-2 es un solo modelo entrenado para entrar audio y salir audio — la latencia baja a niveles de llamada normal y conserva entonación, pausas y matices que el pipeline tradicional pierde. Encima trae razonamiento clase GPT-5: piensa antes de hablar cuando lo necesita y sigue instrucciones complejas sin enredarse.
El lanzamiento del 7 de mayo trajo tres modelos al mismo tiempo, los tres en GA, los tres en la misma Realtime API:
gpt-realtime-2
Voice-to-voice con razonamiento clase GPT-5. El que vas a usar para agentes de voz reales que llaman tools y siguen instrucciones complejas.
Cuándo usarlo: Agentes de voz con MCP, customer service, asistentes que interpretan y actúan, demos de producto en vivo.
gpt-realtime-translate
Traducción multilingüe en vivo, optimizada para mantener nombres propios y matices culturales sin pasar por texto intermedio.
Cuándo usarlo: Interpretación simultánea de juntas, doblaje en vivo, viajes y atención de clientes en idioma distinto al tuyo.
gpt-realtime-whisper
Transcripción streaming. La evolución del Whisper original, ahora pensada para llegar como tokens conforme la persona habla.
Cuándo usarlo: Subtítulos en vivo, captura de notas durante una junta, dictado a documento, indexación de podcasts en tiempo real.
03 · Las 10 voces
Cedar y Marin son nuevas — las 8 anteriores las retunearon
En el playground hay un dropdown de voz que las cambia en vivo, dentro de la misma sesión. Las dos nuevas son exclusivas de la Realtime API (no las encontrarás en TTS estándar). Regla rápida: agente generalista → cedar; traducción o anuncios → marin; coaching o salud → sage; brand casual → coral.
| Voz | Estado | Vibe | Cuándo usarla |
|---|---|---|---|
| cedar | Nueva | Cálida, mid-range, masculina. Default para agentes generales. | Customer service, asistentes de operaciones, presentaciones largas donde quieres confianza. |
| marin | Nueva | Clara, brillante, femenina. Articulación marcada. | Traducción, anuncios, lectura de instrucciones paso a paso. |
| alloy | Retuned | Neutra, natural. | Default histórica, segura para casi todo. |
| ash | Retuned | Profunda, calmada. | Coaching, narración pausada. |
| ballad | Retuned | Suave, melódica. | Storytelling, content largo. |
| coral | Retuned | Animada, cercana. | Asistentes amigables, marca casual. |
| echo | Retuned | Resonante, masculina. | Documentales, tutoriales. |
| sage | Retuned | Reflexiva, deliberada. | Asesoría, salud, finanzas. |
| shimmer | Retuned | Brillante, expresiva. | Anuncios cortos, hooks. |
| verse | Retuned | Versátil, balanceada. | Demos donde quieres una voz limpia neutra. |
04 · Antes de seguir
3 cosas que necesitas para pasar del playground a tu propia app
Hasta aquí, todo era playground — sin tarjeta, sin instalar. Si te quedas con eso, ya valió la pena el reel. Pero si vas a montar tu propia app con tu marca, tus tools y tu dominio, la siguiente sección le pasa los prompts a Claude Code para que la arme por ti. Estos son los tres prerequisitos:
- 01
Cuenta de OpenAI con billing activado
El playground también cobra (pocos centavos por minuto que estés hablando). Si nunca has metido tarjeta, agrégala en Settings → Billing y pon un límite mensual conservador de $20–50 mientras pruebas.
Activar billing en OpenAI → - 02
Claude Code instalado en tu computadora
Es el agente que va a leer los prompts de las siguientes secciones y montar tu app por ti. Si nunca lo has tocado, sigue la guía paso a paso de la comunidad — está pensada para gente que jamás abrió la terminal.
Instalar Claude Code · guía de la comunidad → - 03
Una carpeta vacía donde quieras tu app
Cuando le pidas algo a Claude Code, abre la terminal en esa carpeta y desde ahí pega los prompts. Él se encarga de crear archivos, instalar dependencias y decirte qué correr al final. Tú no escribes código.
05 · Monta tu app
Pídele a Claude Code que arme la app de voz por ti
Tú no escribes código. Abres una terminal en tu carpeta vacía, corres claude, pegas el prompt de abajo, y Claude Code se encarga del resto: crea Next.js, arma el server que mintea el token, monta el botón de hablar con su micrófono, agrega el dropdown de voz y el textarea de personalidad. Cuando termina, te dice exactamente qué comando correr y qué URL abrir.
Prompt para Claude Code · Monta tu app de voz desde cero
Pega esto en Claude Code dentro de tu carpeta vacía. Él crea Next.js, el server que mintea el token, el botón de hablar, todo. Tú solo le das tu API key cuando te la pida.
Quiero montar en este folder vacío una app web minimal que conecte con el modelo gpt-realtime-2 de OpenAI por voz — igual que el playground oficial pero corriendo en mi propio dominio con mi marca.
Stack: Next.js 16 con App Router, TypeScript, Tailwind. Sin librerías exóticas.
Lo que necesito que armes:
1. Un server route en /api/token que mintee un ephemeral key haciendo POST a https://api.openai.com/v1/realtime/client_secrets. Usa la env var OPENAI_API_KEY como Bearer. Modelo: gpt-realtime-2. Voz default: cedar. En el header manda OpenAI-Safety-Identifier con un hash sha256 de la IP del request (para limitar abuso).
2. Una página principal (/) con:
- Un dropdown para escoger entre las 10 voces (cedar, marin, alloy, ash, ballad, coral, echo, sage, shimmer, verse) — default cedar.
- Un textarea grande con label "Personalidad" donde el usuario pega un system prompt.
- Un botón grande "Hablar con el asistente". Al picarlo:
· Pide el micrófono con echoCancellation:true y noiseSuppression:true.
· Fetcha /api/token mandando la voz seleccionada.
· Abre una RTCPeerConnection, agrega el track del micro.
· Crea un dataChannel "oai-events".
· Hace SDP exchange con POST a https://api.openai.com/v1/realtime/calls usando el ephemeral key.
· Pone el audio remoto en un <audio autoplay>.
· Cuando el data channel abra, manda un session.update con session.instructions = lo que el usuario tenga en el textarea.
- Un indicador visual de estado: "esperando", "conectando", "escuchando", "hablando", "error".
3. Un README.md sencillo con: cómo crear .env.local con OPENAI_API_KEY, cómo correr yarn dev, cómo abrir localhost:3000.
Cuando vayas a crear el .env.local, pídeme la API key — no la inventes ni la pegues en el repo. Asegúrate de que .env.local esté en .gitignore.
Cuando termines, dime exactamente qué comando correr y qué URL abrir para probarlo.Después de que termine, tu app va a verse igual al playground oficial — con la diferencia de que vive en tu dominio, con tu marca, y la puedes seguir extendiendo con los prompts de las siguientes secciones.
06 · Conecta tools
Pídele a Claude Code que conecte Shopify, Gmail y Calendar
La diferencia más fuerte de gpt-realtime-2 contra el modelo viejo es MCP nativo: la API se conecta a tu Shopify o tu Gmail por sí sola — antes el cliente tenía que llamar el tool y devolver el resultado, ahora la API lo hace directo. Tú solo le dices a Claude Code qué conectar y qué reglas mantener (lectura libre, escritura siempre con tu confirmación). Cada uno de los prompts de abajo va por separado: pega el primero, espera a que Claude Code termine, prueba; pega el siguiente.
Prompt para Claude Code · Conecta tu Shopify por MCP
Cuando ya tengas la app base corriendo, pega esto. Claude Code agrega el MCP de Shopify para que el asistente busque productos y consulte pedidos en tiempo real durante la llamada.
A la app de voz que ya tengo en este folder, agrégale conexión MCP con mi Shopify para que el asistente pueda buscar productos, consultar inventario y traer status de pedidos en vivo durante la llamada.
Reglas duras:
- Lectura libre. Escritura siempre con confirmación humana.
- Nada de cargos ni cambios de pedido sin que el usuario apruebe.
Cambios:
1. En el body que /api/token manda a OpenAI, dentro de session.tools agrega:
{
type: "mcp",
server_label: "shopify_lectura",
server_url: process.env.SHOPIFY_MCP_URL,
authorization: process.env.SHOPIFY_ADMIN_TOKEN,
allowed_tools: ["search_products", "get_order", "get_inventory"],
require_approval: "never"
}
2. Para tools de escritura (crear pedido, actualizar inventario, ajustar precio) NO uses MCP directo. En su lugar, agrega como segundo entry:
{
type: "mcp",
server_label: "shopify_escritura",
server_url: process.env.SHOPIFY_MCP_URL,
authorization: process.env.SHOPIFY_ADMIN_TOKEN,
allowed_tools: ["create_order", "update_inventory"],
require_approval: "always"
}
3. En el cliente, suscríbete en el data channel a:
- mcp_list_tools.completed → muestra una palomita verde "Shopify conectado".
- response.mcp_call.in_progress → muestra "consultando catálogo…".
- mcp_approval_request → abre un modal con los args del tool y dos botones (Aprobar / Rechazar). Cuando el usuario decida, manda al data channel conversation.item.create con type "mcp_approval_response", approve true o false, e id correspondiente.
4. Actualiza el README con dos cosas:
- SHOPIFY_MCP_URL = https://<tu-store>.myshopify.com/api/mcp (cámbialo al dominio real del cliente).
- SHOPIFY_ADMIN_TOKEN = sácalo en tu Shopify admin → Settings → Apps and sales channels → Develop apps → genera un private app con scopes read_products, read_orders, write_orders.
Cuando crees el .env.local, pídeme las dos vars.Prompt para Claude Code · Conecta Gmail y Google Calendar
Pega esto cuando quieras que el asistente lea tu inbox y consulte tu calendario durante la llamada. Usa los conectores oficiales de OpenAI — solo lectura por default.
A la app de voz que tengo, agrégale los conectores oficiales de OpenAI para Gmail y Google Calendar para que el asistente pueda leer mi inbox y consultar mis eventos durante la llamada.
Reglas duras:
- Lectura por MCP libre.
- Para mandar correo o crear evento: NO uses MCP. Define un function tool clásico que muestre confirmación en el cliente antes de ejecutar la acción.
Cambios:
1. En /api/token, dentro de session.tools agrega los dos conectores oficiales:
{
type: "mcp",
connector_id: "connector_googlecalendar",
server_label: "calendar_oficial",
authorization: process.env.GOOGLE_OAUTH_TOKEN,
allowed_tools: ["search_events", "get_event"],
require_approval: "never"
}
{
type: "mcp",
connector_id: "connector_gmail",
server_label: "gmail_oficial",
authorization: process.env.GOOGLE_OAUTH_TOKEN,
allowed_tools: ["search_threads", "get_thread"],
require_approval: "never"
}
2. Para escritura, agrega dos function tools clásicos (no MCP):
- send_email_with_confirmation(to, subject, body) → en el cliente abre un modal con preview del correo. Si el usuario aprueba, llama a /api/gmail/send que usa el OAuth token.
- create_event_with_confirmation(title, start, end, attendees) → mismo patrón, modal de preview, /api/calendar/create al aprobar.
3. Crea los dos endpoints (/api/gmail/send y /api/calendar/create) usando la Google API estándar con el OAuth token de la env var.
4. Actualiza el README:
- GOOGLE_OAUTH_TOKEN: explícame cómo configurar OAuth en Google Cloud Console (proyecto, credenciales, scopes Gmail.send, Gmail.readonly, Calendar.events). Si te queda complicado, sugiere alternativa con un token de prueba que se renueve manual mientras desarrollo.
Pídeme la env var cuando crees el .env.local.07 · El truco
Que Claude piense, GPT hable
Claude todavía no tiene un voice-to-voice nativo equivalente, y eso no significa que tengas que escoger entre uno u otro. El patrón que está funcionando en producción es separar capas: gpt-realtime-2 maneja el audio (escucha el micro, habla con voz natural, latencia baja) y cuando llega una pregunta densa la delega a Claude Opus 4.7, que la piensa mejor y devuelve texto corto que GPT lee en voz alta. Lo mejor de ambos.
Usuario habla
↓
gpt-realtime-2 ←——————————————┐
│ (escucha · ASR interno) │
↓ │
¿necesita razonamiento? │
│ │
├── No ──→ responde directo ─┘
│
└── Sí ──→ ask_claude({ question, context })
↓
Claude Opus 4.7 (Anthropic SDK)
↓
texto corto (≤80 palabras)
↓
gpt-realtime-2 lo lee con voz cedarPrompt para Claude Code · Que Claude piense, GPT hable
El truco que cambia todo: gpt-realtime-2 es la voz, Claude Opus 4.7 es el cerebro. Pásale este prompt a Claude Code y agrega un function tool que ruta razonamiento profundo a Claude vía Anthropic SDK.
A la app de voz que tengo en este folder, agrégale un function tool ask_claude que llame a Claude Opus 4.7 vía Anthropic SDK cuando el modelo de voz necesite razonamiento profundo o análisis multi-paso.
La idea: gpt-realtime-2 escucha y habla con baja latencia, pero cuando llega una pregunta densa la delega a Claude — que piensa mejor — y lee la respuesta de vuelta al usuario.
Cambios:
1. Instala @anthropic-ai/sdk si no está.
2. En /api/token, dentro de session.tools agrega:
{
type: "function",
name: "ask_claude",
description: "Úsalo cuando la pregunta del usuario requiera razonamiento profundo, análisis de un documento largo, comparación cuidadosa o decisión multi-paso que no puedas resolver solo. Devuelve texto plano (máx 80 palabras) en español natural sin markdown que vas a leer en voz alta al usuario.",
parameters: {
type: "object",
properties: {
question: { type: "string", description: "La pregunta exacta para Claude, con contexto necesario." },
context: { type: "string", description: "Contexto opcional (datos del CRM, notas previas, etc.)." }
},
required: ["question"]
}
}
3. Crea endpoint /api/claude que reciba { question, context }, y use el Anthropic SDK con:
- model: "claude-opus-4-7"
- max_tokens: 1024
- system: "Eres el cerebro de un agente de voz. Devuelve respuestas cortas (máx 80 palabras) en español natural sin markdown. Los párrafos van a leerse en voz alta — no uses listas, ni bullets, ni asteriscos."
- message user: `Contexto: ${context ?? "(sin contexto)"}\n\nPregunta: ${question}`
Devuelve solo el texto.
4. En el cliente, cuando el data channel emita un evento response.function_call_arguments.done con name "ask_claude":
- Parsea los args.
- Llama POST /api/claude con esos args.
- Cuando regrese la respuesta, manda al data channel:
· conversation.item.create con type "function_call_output", call_id correspondiente, output: el texto que vino de Claude.
· response.create (para que gpt-realtime-2 lea el texto en voz alta).
5. Actualiza .env.local con ANTHROPIC_API_KEY (sácala en console.anthropic.com → Settings → API Keys).
Cuando termines, prueba pidiéndole al asistente algo que requiera razonamiento real ("compárame estos dos productos punto por punto") y verifica que llamó a ask_claude.08 · Personalidad
5 prompts listos para pegar como Instructions
Estos no son prompts para Claude Code — son las personalidades del asistente de voz. Las pegas en el campo Instructions del playground oficial (sin código, sin nada) y prueban en vivo. O en el textarea de Personalidad de tu app si Claude Code ya te la armó. Cada una incluye qué voz usar y reglas duras de comportamiento — el modelo es muy bueno respetando reglas duras si las escribes con disciplina.
Personalidad · Intérprete simultáneo ES↔EN (voz marin)
Pégalo en el campo Instructions del playground, o en el textarea de Personalidad de tu app si Claude Code ya te la armó. Voz recomendada: marin (clara, articulada).
Eres un intérprete simultáneo de español a inglés y de inglés a español. Reglas duras: - Detecta el idioma de cada turno y traduce al opuesto. Si el hablante mezcla, sigue al idioma que use más en ese turno. - Mantén nombres propios, marcas, números y unidades exactos. No traduzcas "Apple", "OXXO", "$1,500 USD" — quédate con la forma original. - No resumas. Si el orador habla 30 segundos, tú hablas 30 segundos. Tu trabajo es transmitir, no editar. - No comentes. No agregues "el orador dice" — habla en primera persona como si tú fueras el orador. - Si no escuchas bien una palabra, dilo: "no logré escuchar [última palabra]" y deja que el orador repita. Estilo: - Tono natural conversacional latinoamericano para español. Inglés americano neutral. - Evita jerga regional cuando traduzcas hacia español — usa "carro" no "coche", "okay" no "vale". - Velocidad: igualar el ritmo del orador. No apresures. Cuando termina la sesión, di: "fin de la interpretación".
Personalidad · Atención cliente Shopify (voz cedar)
Para el flow de Shopify por MCP. Lookup primero, no inventa inventario, escala a humano lo que no puede resolver. Pégalo en Instructions.
Eres el asistente de voz de [Tu Marca]. Atiendes dudas de catálogo, status de pedidos y devoluciones — siempre con datos vivos del Shopify conectado vía MCP.
Lo primero que haces en cada turno:
- Si el usuario pregunta por un producto, llama search_products en el MCP de Shopify antes de responder. Nunca inventes precio, stock ni disponibilidad.
- Si pregunta por un pedido, pide número de pedido o correo y llama get_order. No adivines status.
Reglas duras:
- No prometas envío de fecha exacta. Da rango ("entre 2 y 4 días hábiles") y di "te confirmamos por correo cuando salga".
- No autorizas devoluciones por voz. Cuando alguien pida devolución, di: "te paso a un humano para procesarlo, ya quedé con tus datos" y dispara la tool escalate_to_human.
- Cualquier acción que cobre dinero o cambie un pedido pasa por confirmación: "estoy a punto de [acción], ¿confirmamos?" — espera "sí" explícito antes de ejecutar la tool.
Estilo:
- Latinoamericano natural, tono cercano sin diminutivos infantiles.
- Frases cortas. Pausas cuando hay un dato importante (precio, número de pedido).
- Si el cliente sube de tono, bajas de tono. Empatía primero, datos después.
Si no encuentras el producto o pedido, di literal: "no logro encontrar ese dato en el sistema, ¿lo verificamos por correo?".Personalidad · Asistente Gmail + Calendar (voz cedar)
Para el flow de Gmail y Google Calendar. Lectura libre, escritura con confirmación explícita. Pégalo en Instructions cuando ya tengas los conectores prendidos.
Eres el asistente de calendario y correo. Conectado a Gmail y Google Calendar vía connectors oficiales — solo lectura por default, escritura solo con confirmación. Capacidades: - Listar inbox del día con resumen de 1 línea por hilo (mañana / hoy / no leídos). - Buscar disponibilidad en el calendario para un rango de fechas. - Resumir hilos largos de correo en 3 bullets antes de redactar respuesta. - Proponer un draft de respuesta o evento — el usuario aprueba con "sí, manda" o "sí, agenda" antes de ejecutar. Reglas duras: - Nunca mandas correo solo. Lees el draft en voz alta, esperas "sí, manda" antes de llamar la tool de send. - Nunca aceptas o rechazas reuniones solo. Propones la respuesta, el usuario confirma. - Eventos con costo (lugares de paga, viajes) suman doble confirmación: "voy a crear el evento [resumen], ¿lo creo?". Estilo: - Latinoamericano natural. Económico — el usuario está manejando o caminando, no quiere monólogos. - Usa jerarquía: lo urgente primero, lo importante después, lo informativo al final. - Si recibes pregunta no-relacionada (ej: "qué clima hace mañana"), responde brevemente y vuelve al hilo: "y volviendo a tu inbox…". Cuando el usuario diga "fin" o "gracias eso es todo", cierras con: "listo, te dejo con tus pendientes" y bajas el volumen.
Personalidad · Presentador en vivo de demo (voz cedar)
Para guiar a un usuario por una demo de pantalla. Ritmo lento, pausas naturales, pregunta antes de avanzar. Pégalo en Instructions.
Eres el presentador en vivo de [Producto]. Guías al usuario por una demo de pantalla en tiempo real.
Estructura de cada paso:
1. Anuncias el paso ("ahora vamos a [acción]").
2. Esperas 2 segundos para que el usuario te alcance visualmente.
3. Explicas qué está pasando en pantalla con detalle suficiente para entender, sin sobre-explicar.
4. Preguntas si tiene duda antes de avanzar al siguiente paso.
Reglas duras:
- Ritmo lento. Pausas naturales después de cada idea — la voz es para acompañar, no para llenar silencio.
- Si el usuario interrumpe con pregunta, te detienes, contestas, y preguntas si quiere seguir o pausar.
- No avanzas al siguiente paso si el usuario no ha confirmado que va contigo. Frases de check: "¿vamos?", "¿con eso ya?", "¿lo viste o repaso?".
Estilo:
- Tono de conferencista relajado. Latinoamericano natural, sin jerga técnica innecesaria.
- Cuando uses términos técnicos, explica brevemente en paréntesis verbal: "el endpoint, o sea el URL al que mandas la solicitud, es…".
- No respondas si el usuario no te llama. Si hay silencio prolongado (>10s), preguntas: "¿sigues conmigo?".
Al final de la demo, resume en 3 bullets qué vio el usuario y abre con: "¿qué pregunta te quedó?".Personalidad · Coach de pitch en tiempo real (voz sage)
Escucha al usuario practicar, da feedback corto cuando él termina. No interrumpe. Pégalo en Instructions.
Eres coach de pitch. Escuchas al usuario practicar su pitch y le das feedback corto y accionable — solo cuando él termine de hablar. Reglas duras: - No interrumpes nunca. Si el usuario para a media frase, esperas 4 segundos antes de hablar — puede que esté pensando. - Cuando él diga "listo" o haga pausa larga (>5 segundos), das feedback en este formato: · Una cosa que funcionó (concreta, citando lo que dijo). · Una cosa para ajustar (concreta, con la frase alternativa). · Una pregunta que te quedó como audiencia. - No reescribes el pitch entero. Solo el detalle del turno. Reglas de contenido: - Si el pitch dura >2 minutos, marca al final: "se sintió largo, prueba la versión de 90 segundos sin la parte de [X]". - Si el pitch arranca con "somos una plataforma que…" lo señalas: "empieza con el problema del cliente, no con tu producto". - Si el cierre no tiene CTA claro, lo señalas: "no me dijiste qué quieres que haga después de escucharte". Estilo: - Tono de mentor — directo pero cálido. Latinoamericano natural. - Tu turno dura 30-60 segundos máximo. El usuario habla, tú reaccionas y devuelves la palabra. Cuando el usuario diga "una más", reseteas y vuelves a escuchar.
09 · Casos reales
5 montajes que ya están corriendo en producción
- Interpretación de juntas en vivo. Modelo gpt-realtime-translate corriendo sobre el audio de Zoom (vía bot participante), traduce simultáneo a un canal aparte. Caso típico: juntas con stakeholders en otro idioma sin contratar intérprete.
- Customer service Shopify por voz. Botón “hablar con asistente” en la tienda → app armada con Claude Code → MCP de Shopify activo. Resuelve dudas de catálogo y status de pedido sin escalar. Devoluciones siempre se pasan a humano.
- Agente de inbox por voz mientras manejas. App móvil que abre llamada con voz cedar y conector de Gmail. Mientras manejas, le pides resumen del inbox del día y drafts de respuestas. Nada se manda sin tu “sí” explícito.
- Presentador guiado de demo. Para SaaS B2B: el usuario entra a la demo, el modelo lo guía por pantalla con voz cedar, ritmo lento, pausas para preguntas. Reduce dependencia de un SDR humano para demos básicas.
- Coach de pitch en tiempo real. Founders practicando con voz sage que escucha 30s, da feedback corto, no interrumpe. Ya hay startups vendiendo esto como producto independiente.
Patrón común: ninguno de estos requirió que el operador supiera programar. Los cinco se montaron pasándole prompts al agente (Claude Code o Codex) y dejándolo correr. Ecosistema de Agentes tiene el patrón de tres capas para mantener todo esto corriendo 24/7.
10 · Errores caros
5 cosas que te pueden pegar y cómo arreglarlas
Estos cinco aparecen siempre — son la fricción natural de pasar de chat de texto a chat de voz con tools en vivo. Cada uno con síntoma, causa, y el fix concreto que tú le dices a Claude Code para que lo arregle por ti.
- 01
El agente se escucha a sí mismo y entra en bucle de eco — repite tu última frase y la suya.
Causa: Olvidaste prender cancelación de eco al pedir el micrófono, o estás corriendo el audio de salida en una bocina muy cerca del micro.
Fix: Si Claude Code armó tu app, dile: "asegúrate de pedir el micrófono con echoCancellation y noiseSuppression activados". En el playground, usa audífonos — quita el problema de raíz.
- 02
Le dijiste al asistente que cree un pedido de Shopify y lo creó solo, sin confirmar — terminaste con un cargo de prueba.
Causa: Configuraste el MCP de Shopify dejando que el modelo ejecute tools de escritura sin pedir tu OK. La voz dispara acciones rápido — en escritura es bomba de tiempo.
Fix: Pídele a Claude Code: "para todos los tools de Shopify que cobran o crean, ponles require_approval='always' y muéstrame un dialog antes de ejecutar". Lectura puede quedarse libre, escritura siempre confirma.
- 03
Probaste 30 minutos en el playground y la factura del día llegó en $40 — no entiendes el cargo.
Causa: Pegaste un system prompt enorme (4 mil tokens) y cada turno está pagando audio out de la respuesta hablada (es la parte más cara — $64 por 1 millón de tokens).
Fix: Mantén el campo de Instructions corto (cabe en una pantalla). Para texto largo de referencia, súbelo a un archivo y deja que el modelo lo busque vía tool — no lo metas al system prompt en cada turno.
- 04
La sesión se queda muda — el modelo deja de hablar a media conversación y no entiendes qué pasó.
Causa: Disparaste un tool con confirmación obligatoria y el cliente nunca contestó al pedido de aprobación. El modelo se queda esperando el sí o no.
Fix: Si Claude Code te armó la app, dile: "agrega un timeout de 15 segundos a las aprobaciones de MCP — si el usuario no contesta, asume rechazo y dile al modelo que siga". En el playground, no metas tools de escritura mientras pruebas.
- 05
Subiste tu app a producción y un usuario abusivo gastó $200 en una hora con tus credenciales.
Causa: El token que usa el navegador para hablar con OpenAI lo emites sin atar al usuario que lo pidió. Cualquier abuso queda pegado a tu billing global.
Fix: Pídele a Claude Code: "al pedir el ephemeral key, manda el header OpenAI-Safety-Identifier con un hash de la IP o del user_id". Eso te deja banear abusos puntuales y poner límites por usuario.
Guía de la comunidad
gpt-realtime-2 es el primer modelo voice-to-voice de OpenAI con razonamiento real adentro — y el primero con MCP nativo, lo que significa que la API se conecta a tu Shopify o tu Gmail por sí sola en lugar de pasarle el resultado de cada tool. La comunidad tododeia lo está usando para tres cosas que importan: customer service en vivo con catálogo conectado, interpretación simultánea de juntas y demos de producto en voz. La página tiene los prompts copy-paste para Claude Code y las personalidades listas para pegar — lo único que falta es que abras el playground.
Probar en el Playground
platform.openai.com/audio/realtime · ya con voces Cedar y Marin
Ver docs del modelo
Pricing oficial · contexto · capabilities · rate limits por tier
Ecosistema de Agentes
Claude como cerebro · GPT como voz · 3 capas
Claude · Microsoft 365
La versión Anthropic equivalente para Outlook/Word
40 Claude Skills
Skills que combinan con voz adentro de tu agente
Fuentes oficiales
Para profundizar: cada session.instructions de la sección de prompts está pensado para pegarse tal cual en el body del POST a /v1/realtime/client_secrets.
Notas de uso: gpt-realtime-2 está en GA — puedes cobrarlo en producción sin advertencia de beta. Cualquier acción con efecto en mundo real (cobrar pedido, mandar correo, agendar reunión) debe pasar por require_approval:'always' — la voz facilita activar tools sin querer y un cobro de Shopify accidental no se deshace con un comando. El modelo no sustituye a un humano para decisiones legales, médicas o financieras formales: úsalo como capa de presentación e información, deja la firma en una persona.