Skip to content

Documentation API

Une API LLM compatible OpenAI pour intégrer facilement l'IA dans vos applications.

Démarrage rapide

Tous les abonnés à Mammouth ont quelques crédits inclus.

FormuleStarterStandardExpert
Crédits mensuels2$4$10$

Avec l'API Mammouth directement

Génère une réponse de complétion de chat basée sur votre prompt.

python
import requests
url = "https://api.mammouth.ai/v1/chat/completions"
headers = {
    "Authorization": "Bearer VOTRE_CLE_API",
    "Content-Type": "application/json"
}
data = {
    "model": "gpt-4.1",
    "messages": [
        {
            "role": "user",
            "content": "Explique les bases de l'apprentissage automatique"
        }
    ]
}
response = requests.post(url, headers=headers, json=data)
print(response.json())

javascript
const fetch = require("node-fetch");

async function callMammouth() {
  const url = "https://api.mammouth.ai/v1/chat/completions";
  const headers = {
    Authorization: "Bearer VOTRE_CLE_API",
    "Content-Type": "application/json",
  };

  const data = {
    model: "gpt-4.1",
    messages: [
      {
        role: "user",
        content: "Crée un exemple de fonction JavaScript",
      },
    ],
  };

  try {
    const response = await fetch(url, {
      method: "POST",
      headers: headers,
      body: JSON.stringify(data),
    });

    const result = await response.json();
    console.log(result.choices[0].message.content);
  } catch (error) {
    console.error("Erreur:", error);
  }
}

callMammouth();

bash
curl -X POST https://api.mammouth.ai/v1/chat/completions \
  -H "Authorization: Bearer VOTRE_CLE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {
        "role": "user",
        "content": "Salut, comment allez-vous ?"
      }
    ]
  }'

➡️ Obtenez votre clé API dans vos paramètres.

Avec la bibliothèque OpenAI

python
import openai

# Configurer le client pour utiliser Mammouth.ai
openai.api_base = "https://api.mammouth.ai/v1"
openai.api_key = "VOTRE_CLE_API"

response = openai.ChatCompletion.create(
    model="gpt-4.1",
    messages=[
        {"role": "user", "content": "Quels sont les avantages des énergies renouvelables ?"}
    ]
)

print(response.choices[0].message.content)

Format de réponse

Réponse réussie

json
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-4.1",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Bonjour ! Je vais très bien, merci de demander. Comment puis-je vous aider aujourd'hui ?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 19,
    "total_tokens": 31
  }
}

Réponse en streaming

Quand stream: true est défini, les réponses sont retournées sous forme de Server-Sent Events :

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gpt-4.1","choices":[{"index":0,"delta":{"content":"Bonjour"},"finish_reason":null}]}

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gpt-4.1","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}

data: [DONE]

Modèles et tarifs

ModèleEntrée ($/M tokens)Sortie ($/M tokens)
gpt-4.128
gpt-4.1-mini0.41.6
gpt-4.1-nano0.10.4
gpt-4o2.510
o4-mini1.14.4
o328
mistral-large-241126
mistral-medium-30.42
mistral-small-3.2-24b-instruct0.10.3
magistral-medium-250625
codestral-25010.30.9
grok-3315
grok-3-mini0.30.5
gemini-2.5-flash0.32.5
gemini-2.5-pro2.515
deepseek-r1-052838
deepseek-v3-03240.90.9
llama-4-maverick0.220.88
llama-4-scout0.150.6
claude-3-5-haiku-202410220.84
claude-3-7-sonnet-20250219315
claude-sonnet-4-20250514315
claude-opus-4-202505141575

Les prix peuvent varier et ne pas être à jour dans ce tableau.

📜 L'utilisation et les coûts sont loggés dans vos paramètres.

💡 Nous avons ajouté des alias alignés avec l'app Mammouth pour faciliter la sélection de modèles : si vous écrivez mistral, cela utilisera mistral-medium-3 automatiquement.

Codes d'erreur

CodeDescription
400Requête incorrecte - Paramètres manquants ou incorrects
401Non autorisé - Clé API invalide
429Trop de requêtes - Limite de débit dépassée
500Erreur serveur interne - Problème côté serveur
503Service indisponible - Serveur temporairement indisponible

Format de réponse d'erreur

json
{
  "error": {
    "message": "Clé API invalide fournie",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

Paramètres

Paramètres requis

ParamètreTypeDescription
messagesarrayListe des messages dans la conversation
modelstringIdentificateur du modèle à utiliser

Paramètres optionnels

ParamètreTypeDéfautDescription
temperaturenumber0.7Contrôle la créativité (0.0 à 2.0)
max_tokensinteger2048Nombre maximum de tokens à générer
top_pnumber1.0Contrôle la diversité des réponses
streambooleanfalseStreaming de réponse en temps réel

Conseils d'optimisation

Paramètres de température

  • 0.0 - 0.3 : Réponses très cohérentes et prévisibles
  • 0.4 - 0.7 : Équilibre entre créativité et cohérence
  • 0.8 - 1.0 : Réponses plus créatives et variées

Structure des messages

json
{
  "messages": [
    {
      "role": "system",
      "content": "Vous êtes un assistant IA spécialisé en programmation."
    },
    {
      "role": "user",
      "content": "Comment optimiser une boucle for en Python ?"
    }
  ]
}

Types de rôles

  • system : Définit le comportement et le contexte de l'assistant
  • user : Représente les messages de l'utilisateur
  • assistant : Représente les réponses précédentes de l'IA

Migration depuis OpenAI

Si vous utilisez déjà l'API OpenAI, migrer vers Mammouth.ai est simple :

  1. Changez l'URL de base de https://api.openai.com/v1 à https://api.mammouth.ai/v1
  2. Mettez à jour votre clé API
  3. Gardez tous les autres paramètres identiques

Bibliothèque Python OpenAI

python
import openai

# Avant
openai.api_base = "https://api.openai.com/v1"
openai.api_key = "sk-openai-key"

# Après
openai.api_base = "https://api.mammouth.ai/v1"
openai.api_key = "votre-cle-mammouth"