Guía de Mock LLM API
Crea endpoints LLM streaming gratis que imitan a OpenAI, Claude y otros proveedores de IA. Crea y prueba funcionalidades de IA sin gastar miles en llamadas a la API.
Primeros pasos
Crear un endpoint mock LLM en streaming lleva menos de 30 segundos. Sigue estos sencillos pasos:
- 1
Visita la página de Mock LLM
Ve a mockapi.dog/llm-mock. Se genera automáticamente un código único de 6 caracteres para tu endpoint.
- 2
Elige el perfil del proveedor LLM
Selecciona el formato de respuesta del proveedor que quieres emular:
- • OpenAI - Formato de la API Chat Completions o de la API Responses, según la ruta a la que llame tu SDK
- • Anthropic Claude - Formato de streaming de la API Messages
- • Stream genérico - Stream de tokens independiente del proveedor
- • JSON genérico - Respuesta JSON simple (sin streaming)
- 3
Selecciona el modo de contenido
Elige cómo se genera el contenido de la respuesta:
- • Generado - Genera automáticamente texto similar al de un LLM (estilo Chat, Técnico o Markdown)
- • Estático - Usa tu texto exactamente tal cual lo escribes
- • Híbrido - Tu texto seguido de una continuación generada
- 4
Configura la generación de tokens (opcional)
Para los modos Generado o Híbrido, define el mínimo y el máximo de tokens (10-2000, por defecto 100-300). La longitud del texto generado será aleatoria entre esos valores. No es necesario en modo Estático.
- 5
Completa la verificación y guarda
Completa la verificación de Turnstile y pulsa "Guardar endpoint mock". ¡La URL de tu endpoint se copia automáticamente!
https://abc123.mockapi.dog/v1/chat/completions
¡Listo! Empieza a hacer streaming al instante
Tu endpoint está listo. Reemplaza tu baseURL de OpenAI/Claude por la de tu endpoint mock y empieza a probar. Sin autenticación ni claves de API.
El problema del coste
Las APIs LLM reales son caras. Durante el desarrollo, las pruebas y el prototipado, los costes pueden dispararse rápido. Esto es lo que pagarías con proveedores reales:
OpenAI GPT-4
CaroEjemplo: Probar un chatbot con 1000 conversaciones (500 tokens de media cada una) = 20 $+
Anthropic Claude
CostosoPipeline CI/CD: Ejecutar tests 100 veces al día = 300 $+/mes
Con MockAPI Dog: 0 $
Respuestas en streaming gratuitas para desarrollo y pruebas. Ahorra miles durante la fase de desarrollo. Cambia a APIs reales solo cuando estés listo para producción.
¿Por qué usar Mock LLM API?
Ahorra dinero
Evita gastar miles de dólares durante el desarrollo. Prueba tu UI, la lógica de streaming y el manejo de errores sin gastar créditos de API.
- Sin claves de API ni configuración de facturación
- Peticiones gratis durante el desarrollo
- Perfecto para desarrolladores indie y startups
Pruebas instantáneas
Prueba respuestas en streaming, animaciones de UI y estados de error al instante, sin esperar la latencia de un modelo real ni chocar con los límites de uso del proveedor.
- Velocidad de respuesta y tokens configurables
- Prueba casos límite y escenarios de error
- Inspecciona en tiempo real las peticiones que envía tu app
Múltiples proveedores
Prueba tu app con distintos proveedores LLM sin gestionar varias claves de API. Cambia entre OpenAI, Claude y formatos genéricos sin esfuerzo.
- Endpoints compatibles con OpenAI
- Soporte del formato Anthropic Claude
- Formato de streaming SSE genérico
Integración con CI/CD
Ejecuta tests automatizados en tu pipeline CI/CD sin preocuparte por costes de API ni límites de uso. Prueba tus funcionalidades de IA en cada commit.
- Sin necesidad de autenticación
- Respuestas consistentes y predecibles
- Ejecución rápida para feedback inmediato
Proveedores soportados
MockAPI Dog soporta los formatos de streaming de los proveedores LLM más populares. Solo tienes que poner tu endpoint como baseURL en el SDK que prefieras.
Formato OpenAI
Compatible con el SDK oficial de OpenAI. Un mismo endpoint responde a Chat Completions y a la API Responses, con o sin streaming. Las respuestas indican gpt-5.4 como modelo y, con Chat Completions, stream_options.include_usage añade un chunk final de uso.
Formato Anthropic
Compatible con el SDK oficial de Anthropic. Emula la API Messages, con o sin streaming, con la misma secuencia de eventos que espera el SDK. Las respuestas indican claude-sonnet-5 como modelo.
Formato SSE genérico
Server-Sent Events (SSE) estándar. Cada evento lleva {"token": "..."} y el stream termina con {"done": true}. Úsalo con cualquier cliente de streaming o crea tu propia integración personalizada.
- Integraciones LLM personalizadas
- Pruebas de implementaciones de EventSource
- Aprender protocolos de streaming
Cómo llegan las peticiones a tu endpoint
Los SDKs añaden su propia ruta al baseURL. MockAPI Dog elimina esos sufijos antes de buscar coincidencias, así que pon como baseURL exactamente la URL que guardaste.
POST https://xyz789.mockapi.dog/llm/chat/completions → /llm- Los perfiles genéricos coinciden exactamente con la ruta guardada, así que llama directamente a esa URL.
- Los endpoints LLM se guardan como POST, el método que usan todos los SDKs.
¿Streaming o JSON?
Una respuesta se envía en streaming cuando el cuerpo de la petición tiene "stream": true. Si el cuerpo no tiene campo stream, se envía en streaming cuando la cabecera Accept incluye text/event-stream. Si no, recibes una única respuesta JSON.
Modos de contenido
Elige cómo genera el contenido de la respuesta tu endpoint mock LLM. Cada modo ofrece un control diferente sobre el texto que se envía.
Generado
Genera automáticamente texto similar al de un LLM en distintos estilos. Elige entre Chat (tono conversacional), Técnico (centrado en programación) o Markdown (con listas y bloques de código).
Estático
Usa el texto exacto que proporciones como respuesta. El texto se envía tal cual, sin generación ni modificación.
Híbrido
Combina tu texto con una continuación autogenerada. Primero se envía tu texto, después contenido generado similar al de un LLM.
Estilos de texto para contenido generado
Cuando uses los modos Generado o Híbrido, puedes elegir entre los estilos Chat (conversacional), Técnico (centrado en programación) o Markdown (con formato, listas y bloques de código).
Ajustes de generación de tokens
Ajusta finamente cómo genera y envía tokens tu endpoint mock LLM para que encaje con tus necesidades de prueba.
Número de tokens
Define cuántos tokens se generan, estimando unos 4 caracteres por token. Útil para probar respuestas de distintas longitudes.
Velocidad de streaming
El texto se envía en chunks de 5-20 caracteres. Define un retardo mínimo y máximo entre chunks (10-500ms) y cada retardo se elige al azar dentro de ese rango. Si lo dejas en blanco, se usa 30-120ms.
Consejo
Prueba con distintas velocidades para asegurarte de que tu UI gestiona bien tanto streamings rápidos como lentos. Los tiempos de respuesta de las APIs LLM reales pueden variar mucho.
Ejemplos de código
Así puedes usar tu endpoint mock LLM con SDKs y librerías populares.
SDK de OpenAI
Reemplaza el baseURL por el de tu endpoint mock. ¡Sin clave de API!
import OpenAI from 'openai'; const openai = new OpenAI({baseURL: 'https://xyz789.mockapi.dog/llm',apiKey: 'dummy-api-key', // Mock endpoint doesn't check API keys }); async function main() { const stream = await openai.chat.completions.create({ model: 'gpt-5.4', messages: [{ role: 'user', content: 'Hello!' }], stream: true, }); for await (const chunk of stream) { const content = chunk.choices[0]?.delta?.content || ''; process.stdout.write(content); } } main();
SDK de OpenAI (API Responses)
El mismo endpoint también responde a la API Responses. Lee el texto de los eventos response.output_text.delta.
import OpenAI from 'openai'; const openai = new OpenAI({baseURL: 'https://xyz789.mockapi.dog/llm',apiKey: 'dummy-api-key', // Mock endpoint doesn't check API keys }); async function main() { const stream = await openai.responses.create({ model: 'gpt-5.4', input: 'Hello!', stream: true, }); for await (const event of stream) { if (event.type === 'response.output_text.delta') { process.stdout.write(event.delta); } } } main();
SDK de Anthropic
Úsalo con el SDK de Anthropic configurando un baseURL personalizado.
import Anthropic from '@anthropic-ai/sdk'; const anthropic = new Anthropic({baseURL: 'https://xyz789.mockapi.dog/claude',apiKey: 'dummy-api-key', // Mock endpoint doesn't check API keys }); async function main() { const stream = await anthropic.messages.stream({ model: 'claude-sonnet-5', max_tokens: 1024, messages: [{ role: 'user', content: 'Hello!' }], }); for await (const chunk of stream) { if (chunk.type === 'content_block_delta' && chunk.delta.type === 'text_delta') { process.stdout.write(chunk.delta.text); } } } main();
Fetch genérico (SSE)
Úsalo con JavaScript/TypeScript puro para máxima flexibilidad.
async function streamResponse() {const response = await fetch('https://xyz789.mockapi.dog/llm/stream', {method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ prompt: 'Hello, world!', stream: true, // without this (or Accept: text/event-stream) you get plain JSON }), }); const reader = response.body?.getReader(); const decoder = new TextDecoder(); while (true) { const { done, value } = await reader.read(); if (done) break; const chunk = decoder.decode(value); const lines = chunk.split('\n'); for (const line of lines) { if (line.startsWith('data: ')) { try { const json = JSON.parse(line.slice(6)); if (json.done) return; console.log(json.token); } catch (e) { // Skip invalid JSON } } } } } streamResponse();
¡Así de fácil!
Solo reemplaza el baseURL y listo. Tu código existente funcionará sin cambios.
Casos de uso reales
Desarrollo de chatbots
Crea y prueba interfaces de chatbot sin gastar en llamadas a APIs. Prueba el hilo de mensajes, las animaciones de streaming y el manejo de errores.
- Probar animaciones de mensajes en streaming
- Verificar el hilo de la conversación
- Depurar casos límite de la UI
Testing y QA
Ejecuta tests automatizados y QA manual sin costes de API. Prueba distintos escenarios de respuesta y casos límite de forma consistente.
- Tests E2E automatizados en CI/CD
- Datos de prueba consistentes
- Ejecución de tests rápida
Aprendizaje y tutoriales
Aprende integración con IA sin gastar dinero. Perfecto para tutoriales, cursos y contenido educativo.
- Sin configurar claves de API para el alumnado
- Práctica gratis
- Entorno de aprendizaje seguro
MVPs y demos
Crea pruebas de concepto y demos sin costes iniciales. Muestra tu visión a inversores y stakeholders antes de invertir en APIs de producción.
- Prototipado rápido
- Demos para inversores
- Validar ideas a bajo coste
Funciones avanzadas
Request Inspector
Activa el registro para ver en tiempo real los prompts, cabeceras y parámetros que envía tu app. Las cabeceras de autorización y cookies se ocultan, pero otras como x-api-key se guardan tal cual, así que usa una clave de API ficticia.
Retardos configurables
Añade un retardo fijo antes de que empiece la respuesta y ajusta la velocidad de streaming para probar estados de carga y el manejo de timeouts.
Simulación de errores
Haz que falle un porcentaje de peticiones o provoca un error a demanda con una cabecera de la petición, usando códigos de estado como 401, 429 o 503. Los errores se envían como JSON antes de que empiece el streaming, así que tu SDK los lanza como errores de API.
Sin autenticación
Los endpoints mock no requieren claves de API ni autenticación. Perfecto para pipelines CI/CD y demos públicas.
Resolución de problemas
El streaming no funciona
Una respuesta solo se envía en streaming cuando el cuerpo de la petición incluye "stream": true, o cuando no hay campo stream y la cabecera Accept incluye text/event-stream. Si no, el endpoint devuelve una única respuesta JSON. Comprueba también que tu cliente lee la respuesta como un stream.
// Make sure to set stream: true
const stream = await openai.chat.completions.create({
stream: true, // This is required!
// ...
});La respuesta es demasiado rápida o lenta
Abre "Ajustes de retardos, velocidad de streaming y simulación de errores" y cambia el retardo mínimo y máximo en la pestaña "Velocidad de streaming". Revisa también la pestaña "Retardos" por si hay un retardo fijo antes de la respuesta.
Problemas de compatibilidad con el SDK
Asegúrate de que el perfil de proveedor del endpoint coincide con tu SDK (el SDK de OpenAI necesita el perfil OpenAI y el de Anthropic, el perfil Anthropic). Pon como baseURL la URL que guardaste y deja que el SDK añada su propia ruta.
Errores de CORS en el navegador
Los endpoints mock están configurados con cabeceras CORS permisivas. Si sigues recibiendo errores de CORS, revisa las cabeceras de tu petición y asegúrate de no enviar cabeceras restringidas.
El SDK recibe un 404 Not Found
Los endpoints LLM solo responden a peticiones POST a la ruta guardada más el sufijo propio del SDK. El cuerpo del 404 muestra el código, el recurso y el método que recibió el servidor, así que compáralos con tu endpoint guardado.
Las peticiones devuelven 429 Too Many Requests
Cada endpoint tiene un límite diario de llamadas. Al alcanzarlo, las llamadas devuelven 429 con el límite y una hora resetAt (medianoche, hora del servidor) en el cuerpo. Además, cada dirección IP está limitada a 100 peticiones por minuto en todo el servicio.
Consejos y buenas prácticas
Prueba con distintas velocidades
La velocidad de las APIs LLM reales varía. Prueba tu UI con streamings rápidos y lentos para garantizar una buena experiencia en cualquier condición.
Usa variables de entorno
Guarda tu baseURL en variables de entorno. Cambia entre APIs mock y de producción modificando una sola variable.
// .env.development
OPENAI_BASE_URL=https://xyz789.mockapi.dog/llm
// .env.production
OPENAI_BASE_URL=https://api.openai.com/v1Prueba escenarios de error
No pruebes solo los flujos felices. Usa la simulación de errores para probar límites de uso (429), fallos de autenticación (401) y caídas del servicio (503), y un retardo fijo para probar timeouts.
Flujo de desarrollo LLM
Sigue este flujo para un desarrollo de IA eficiente:
- Construye la UI y la lógica de streaming con endpoints mock
- Prueba a fondo con distintos modos de contenido y velocidades
- Ejecuta tests automatizados en CI/CD con endpoints mock
- Cambia a la API real solo en pruebas de integración finales
- Despliega con claves de API de producción
Valida antes de producción
Antes de cambiar a APIs de producción, valida tu implementación con la API real del proveedor en un entorno de staging para detectar diferencias de comportamiento.
Glosario
LLM (Large Language Model)
Modelos de IA como GPT-4 y Claude que generan respuestas de texto similares a las humanas. Ejemplos: la serie GPT de OpenAI, Claude de Anthropic, Gemini de Google.
API en streaming
Una API que envía datos en chunks en lugar de esperar a la respuesta completa. Permite mostrar texto generado por IA en tiempo real mientras se va creando.
Token
La unidad básica de texto en los LLMs. Aproximadamente equivalente a una palabra o un fragmento de palabra. Los precios de los LLMs suelen basarse en el número de tokens.
SSE (Server-Sent Events)
Una tecnología que permite a los servidores enviar datos al cliente en tiempo real. La usan las APIs LLM para enviar respuestas en streaming.
baseURL
La dirección base para las peticiones a la API. Reemplázala por la URL de tu endpoint mock para redirigir las peticiones a MockAPI Dog en lugar de al proveedor real.
Proveedor
Empresas que ofrecen APIs LLM, como OpenAI (GPT), Anthropic (Claude), Google (Gemini), etc.
¿Listo para empezar a construir?
Crea tu primer endpoint LLM en streaming en segundos. Sin registro, sin tarjeta de crédito, sin complicaciones. Empieza a crear funcionalidades de IA sin gastar miles en llamadas a la API.