Guide d'API LLM simulée

Créez gratuitement des endpoints LLM en streaming qui imitent OpenAI, Claude et d'autres fournisseurs IA. Construisez et testez vos fonctionnalités IA sans dépenser des milliers en appels d'API.

Premiers pas

La création d'un endpoint LLM en streaming simulé prend moins de 30 secondes. Suivez ces étapes simples :

  1. 1

    Visitez la page LLM Mock

    Rendez-vous sur mockapi.dog/llm-mock. Un code unique de 6 caractères est généré automatiquement pour votre endpoint.

  2. 2

    Choisissez le profil de fournisseur LLM

    Sélectionnez le format de réponse du fournisseur à émuler :

    • OpenAI - Format de l'API Chat Completions ou de l'API Responses, selon le chemin appelé par votre SDK
    • Anthropic Claude - Format de streaming de l'API Messages
    • Stream générique - Flux de tokens indépendant du fournisseur
    • JSON générique - Réponse JSON simple (sans streaming)
  3. 3

    Sélectionnez le mode de contenu

    Choisissez comment le contenu de la réponse est généré :

    • Généré - Génération automatique de texte de type LLM (style Chat, Technique ou Markdown)
    • Statique - Utilise votre texte tel quel, sans modification
    • Hybride - Votre texte suivi d'une continuation générée
  4. 4

    Configurez la génération de tokens (facultatif)

    Pour les modes Généré ou Hybride, définissez les tokens minimum et maximum (10-2000, 100-300 par défaut). La longueur du texte généré sera aléatoire entre ces valeurs. Inutile pour le mode Statique.

  5. 5

    Validez la vérification et enregistrez

    Effectuez la vérification Turnstile, puis cliquez sur « Enregistrer l'endpoint simulé ». L'URL de votre endpoint est automatiquement copiée !

    https://abc123.mockapi.dog/v1/chat/completions

Et voilà ! Démarrez le streaming immédiatement

Votre endpoint est prêt à l'emploi. Remplacez la baseURL OpenAI/Claude par votre endpoint simulé et commencez à tester. Aucune authentification ni clé d'API requise.

Le problème du coût

Les véritables API LLM sont coûteuses. Pendant le développement, les tests et le prototypage, les coûts peuvent rapidement déraper. Voici ce que vous paieriez chez les vrais fournisseurs :

OpenAI GPT-4

Coûteux
Entrée10 $ / 1M tokens
Sortie30 $ / 1M tokens

Exemple : Tester un chatbot avec 1000 conversations (500 tokens en moyenne chacune) = 20 $ et plus

Anthropic Claude

Onéreux
Entrée8 $ / 1M tokens
Sortie24 $ / 1M tokens

Pipeline CI/CD : Exécuter des tests 100 fois par jour = 300 $ et plus/mois

Avec MockAPI Dog : 0 $

Réponses en streaming gratuites pour le développement et les tests. Économisez des milliers en phase de développement. Passez aux vraies API uniquement lorsque vous êtes prêt pour la production.

Pourquoi utiliser une API LLM simulée ?

Économisez de l'argent

Évitez de dépenser des milliers de dollars en développement. Testez votre interface, votre logique de streaming et votre gestion d'erreurs sans consommer de crédits d'API.

  • Aucune clé d'API ni configuration de facturation requise
  • Requêtes gratuites pendant le développement
  • Idéal pour les développeurs indépendants et les startups

Tests instantanés

Testez les réponses en streaming, les animations d'interface et les états d'erreur instantanément, sans subir la latence des vrais modèles ni les limites de débit des fournisseurs.

  • Vitesse de réponse et tokens configurables
  • Testez les cas limites et scénarios d'erreur
  • Inspectez en direct les requêtes envoyées par votre application

Plusieurs fournisseurs

Testez votre application avec différents fournisseurs LLM sans gérer plusieurs clés d'API. Basculez entre OpenAI, Claude et formats génériques sans effort.

  • Endpoints compatibles OpenAI
  • Prise en charge du format Anthropic Claude
  • Format de streaming SSE générique

Intégration CI/CD

Exécutez des tests automatisés dans votre pipeline CI/CD sans vous soucier des coûts d'API ou des limites de débit. Testez vos fonctionnalités IA à chaque commit.

  • Aucune authentification requise
  • Réponses cohérentes et prévisibles
  • Exécution rapide pour un retour immédiat

Fournisseurs pris en charge

MockAPI Dog prend en charge les formats de streaming des fournisseurs LLM populaires. Définissez simplement votre endpoint comme baseURL dans votre SDK préféré.

Format OpenAI

GPT

Compatible avec le SDK officiel d'OpenAI. Un même endpoint répond à l'API Chat Completions et à l'API Responses, en streaming ou non. Les réponses indiquent le modèle gpt-5.4 et, avec Chat Completions, stream_options.include_usage ajoute un fragment final contenant l'usage.

Modèles compatibles :
gpt-5.4gpt-5.4-minigpt-5.1gpt-4.1

Format Anthropic

Claude

Compatible avec le SDK officiel d'Anthropic. Émule l'API Messages, en streaming ou non, avec la séquence d'événements attendue par le SDK. Les réponses indiquent le modèle claude-sonnet-5.

Modèles compatibles :
claude-opus-5claude-sonnet-5claude-haiku-4-5claude-opus-4-8

Format SSE générique

Universel

Format standard Server-Sent Events (SSE). Chaque événement contient {"token": "..."} et le flux se termine par {"done": true}. À utiliser avec n'importe quel client de streaming ou pour bâtir votre propre intégration.

Cas d'usage :
  • Intégrations LLM personnalisées
  • Tests d'implémentations EventSource
  • Apprentissage des protocoles de streaming

Comment les requêtes atteignent votre endpoint

Les SDK ajoutent leur propre chemin à la baseURL. MockAPI Dog retire ces suffixes avant la correspondance : définissez donc la baseURL exactement sur l'URL enregistrée.

Le profil OpenAI retire :
/v1/chat/completions/chat/completions/v1/responses/responses
Le profil Anthropic retire :
/v1/messages/messages
POST https://xyz789.mockapi.dog/llm/chat/completions → /llm
  • Les profils génériques correspondent exactement au chemin enregistré : appelez donc directement cette URL.
  • Les endpoints LLM sont enregistrés en POST, la méthode utilisée par tous les SDK.

Streaming ou JSON ?

Une réponse est diffusée en streaming si le corps de la requête contient "stream": true. Si le corps n'a pas de champ stream, elle l'est lorsque l'en-tête Accept inclut text/event-stream. Sinon, vous obtenez une réponse JSON unique.

Modes de contenu

Choisissez la façon dont votre endpoint LLM simulé génère le contenu de la réponse. Chaque mode offre un contrôle différent sur le texte diffusé.

Généré

Génère automatiquement du texte de type LLM dans différents styles. Choisissez entre Chat (ton conversationnel), Technique (orienté programmation) ou Markdown (formaté avec listes et blocs de code).

Idéal pour : Tests réalistes sans rédiger de contenu personnalisé, animations d'interface, prototypage général

Statique

Utilise votre texte exact comme réponse. Le texte est diffusé tel qu'il est écrit, sans génération ni modification.

Idéal pour : Scénarios de test précis, réponses attendues exactes, tests de cas limites

Hybride

Combine votre texte avec une continuation générée automatiquement. Votre texte est diffusé en premier, suivi d'un contenu généré de type LLM.

Idéal pour : Démarrage contrôlé avec continuation réaliste, tests de réponses partielles

Styles de texte pour le contenu généré

En mode Généré ou Hybride, vous pouvez choisir entre les styles Chat (conversationnel), Technique (orienté programmation) ou Markdown (incluant le formatage, les listes et les blocs de code).

Paramètres de génération de tokens

Affinez la façon dont votre endpoint LLM simulé génère et diffuse les tokens pour répondre à vos besoins de test.

Nombre de tokens

Définissez le nombre de tokens à générer, estimé à environ 4 caractères par token. Utile pour tester différentes longueurs de réponses.

Réponse courte50-100 tokens
Réponse moyenne200-500 tokens
Réponse longue1000-2000 tokens

Vitesse de streaming

Le texte est diffusé par fragments de 5-20 caractères. Définissez un délai minimum et maximum entre les fragments (10-500 ms) : chaque délai est tiré au hasard dans cette plage. Laissé vide, il vaut 30-120 ms par défaut.

Rapide30-60ms
Par défaut30-120ms
Lent100-200ms

Astuce de pro

Testez à différentes vitesses pour vous assurer que votre interface gère élégamment le streaming rapide comme le lent. Les vraies API LLM peuvent varier considérablement en temps de réponse.

Exemples de code

Voici comment utiliser votre endpoint LLM simulé avec des SDK et bibliothèques populaires.

SDK OpenAI

Remplacez la baseURL par votre endpoint simulé. Aucune clé d'API requise !

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 OpenAI (API Responses)

Le même endpoint répond aussi à l'API Responses. Lisez le texte dans les événements 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 Anthropic

Utilisez le SDK Anthropic en définissant une baseURL personnalisée.

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 générique (SSE)

À utiliser avec du JavaScript/TypeScript natif pour une flexibilité maximale.

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();

C'est aussi simple que ça !

Remplacez simplement la baseURL et c'est parti. Votre code existant fonctionnera sans modifications.

Cas d'usage concrets

Développement de chatbots

Construisez et testez des interfaces de chatbot sans dépenser en appels d'API. Testez le fil des messages, les animations de streaming et la gestion des erreurs.

  • Tester les animations de messages en streaming
  • Vérifier le fil de conversation
  • Déboguer les cas limites de l'interface

Tests et QA

Exécutez des tests automatisés et manuels sans frais d'API. Testez différents scénarios de réponse et cas limites de manière cohérente.

  • Tests E2E automatisés en CI/CD
  • Données de test cohérentes
  • Exécution rapide des tests

Apprentissage et tutoriels

Apprenez l'intégration IA sans dépenser. Idéal pour les tutoriels, les cours et le contenu pédagogique.

  • Pas de configuration de clé d'API pour les étudiants
  • Pratique gratuite
  • Environnement d'apprentissage sécurisé

MVP et démos

Construisez des preuves de concept et des démos sans coûts initiaux. Présentez votre vision aux investisseurs et parties prenantes avant d'investir dans des API de production.

  • Prototypage rapide
  • Démos pour investisseurs
  • Validez vos idées à moindre coût

Fonctionnalités avancées

Request Inspector

Activez la journalisation pour suivre en direct les prompts, en-têtes et paramètres envoyés par votre application. Les en-têtes Authorization et cookie sont masqués, mais les autres, comme x-api-key, sont stockés tels quels : utilisez donc une clé d'API factice.

Délais configurables

Ajoutez un délai fixe avant le début de la réponse et ajustez la vitesse de streaming, pour tester les états de chargement et la gestion des timeouts.

Simulation d'erreurs

Faites échouer un pourcentage de requêtes ou déclenchez une erreur à la demande via un en-tête de requête, avec des codes de statut comme 401, 429 ou 503. Les erreurs sont envoyées en JSON avant tout streaming : votre SDK les lève donc comme des erreurs d'API.

Aucune authentification

Les endpoints simulés ne nécessitent ni clés d'API ni authentification. Idéal pour les pipelines CI/CD et les démos publiques.

Dépannage

Le streaming ne fonctionne pas

Une réponse n'est diffusée en streaming que si le corps de la requête contient "stream": true, ou s'il n'a pas de champ stream et que l'en-tête Accept inclut text/event-stream. Sinon, l'endpoint renvoie une réponse JSON unique. Vérifiez aussi que votre client lit la réponse comme un flux.

// Make sure to set stream: true const stream = await openai.chat.completions.create({ stream: true, // This is required! // ... });

Réponse trop rapide/lente

Ouvrez les « Paramètres de délais, vitesse de streaming et simulation d'erreurs » et modifiez les délais min et max dans l'onglet « Vitesse de streaming ». Vérifiez aussi l'onglet « Délais » pour un délai fixe avant la réponse.

Problèmes de compatibilité du SDK

Assurez-vous que le profil de fournisseur de l'endpoint correspond à votre SDK (le SDK OpenAI nécessite le profil OpenAI, le SDK Anthropic le profil Anthropic). Définissez la baseURL sur l'URL enregistrée et laissez le SDK ajouter son propre chemin.

Erreurs CORS dans le navigateur

Les endpoints simulés sont configurés avec des en-têtes CORS permissifs. Si vous obtenez encore des erreurs CORS, vérifiez vos en-têtes de requête et assurez-vous de ne pas envoyer d'en-têtes restreints.

Le SDK reçoit une erreur 404 Not Found

Les endpoints LLM ne répondent qu'aux requêtes POST vers le chemin enregistré suivi du suffixe propre au SDK. Le corps de la 404 indique le code, la ressource et la méthode reçus par le serveur : comparez-les avec votre endpoint enregistré.

Les requêtes renvoient 429 Too Many Requests

Chaque endpoint a une limite quotidienne d'appels. Une fois atteinte, les appels renvoient 429 avec la limite et une heure resetAt (minuit, heure du serveur) dans le corps. Chaque adresse IP est aussi limitée à 100 requêtes par minute sur l'ensemble du service.

Conseils et bonnes pratiques

Testez à différentes vitesses

Les vraies API LLM varient en vitesse. Testez votre interface avec un streaming rapide et lent pour garantir une expérience utilisateur fluide en toutes conditions.

Utilisez des variables d'environnement

Stockez votre baseURL dans des variables d'environnement. Basculez entre les API simulées et de production en changeant une seule variable.

// .env.development OPENAI_BASE_URL=https://xyz789.mockapi.dog/llm // .env.production OPENAI_BASE_URL=https://api.openai.com/v1

Testez les scénarios d'erreur

Ne testez pas seulement les chemins heureux. Utilisez la simulation d'erreurs pour tester les limites de débit (429), les échecs d'authentification (401) et les pannes (503), et un délai fixe pour tester les timeouts.

Workflow de développement LLM

Suivez ce workflow pour un développement IA efficace :

  1. Construisez l'interface et la logique de streaming avec des endpoints simulés
  2. Testez à fond avec différents modes de contenu et vitesses
  3. Exécutez des tests automatisés en CI/CD avec des endpoints simulés
  4. Passez à la vraie API uniquement pour les tests d'intégration finaux
  5. Déployez avec des clés d'API de production

Validez avant la production

Avant de basculer sur les API de production, validez votre implémentation avec l'API réelle du fournisseur dans un environnement de staging pour détecter toute différence de comportement.

Glossaire

LLM (Large Language Model)

Modèles d'IA comme GPT-4 et Claude qui génèrent des réponses textuelles proches du langage humain. Exemples : la série GPT d'OpenAI, Claude d'Anthropic, Gemini de Google.

API en streaming

Une API qui envoie les données par fragments plutôt que d'attendre la réponse complète. Permet l'affichage en temps réel du texte généré par l'IA au fur et à mesure de sa création.

Token

L'unité de base du texte dans les LLM. Approximativement équivalent à un mot ou un fragment de mot. La tarification des LLM est généralement basée sur le nombre de tokens.

SSE (Server-Sent Events)

Une technologie qui permet aux serveurs d'envoyer des données aux clients en temps réel. Utilisée par les API LLM pour diffuser leurs réponses.

baseURL

L'adresse de base pour les requêtes API. Remplacez-la par l'URL de votre endpoint simulé pour rediriger les requêtes vers MockAPI Dog au lieu du vrai fournisseur.

Fournisseur

Sociétés qui proposent des API LLM, telles qu'OpenAI (GPT), Anthropic (Claude), Google (Gemini), etc.

Prêt à commencer à construire ?

Créez votre premier endpoint LLM en streaming simulé en quelques secondes. Sans inscription, sans carte bancaire, sans complications. Commencez à développer des fonctionnalités IA sans dépenser des milliers en appels d'API.