Documentation API
Maestro API est une API d'inférence IA compatible OpenAI, hébergée en France. Changez simplement l'URL de base — votre code existant fonctionne sans modification.
💡 Base URL : https://api.maestrostudio.fr/v1
Authentification
Toutes les requêtes doivent inclure votre clé API dans le header Authorization.
Authorization: Bearer sk-votre-cle-api
Générez vos clés API depuis votre Dashboard → Clés API.
Démarrage rapide
Python
JavaScript
cURL
PHP
# pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://api.maestrostudio.fr/v1",
api_key="sk-votre-cle-api"
)
response = client.chat.completions.create(
model="qwen2.5-14b",
messages=[
{"role": "user", "content": "Bonjour !"}
]
)
print(response.choices[0].message.content)
// npm install openai
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://api.maestrostudio.fr/v1',
apiKey: 'sk-votre-cle-api',
});
const response = await client.chat.completions.create({
model: 'qwen2.5-14b',
messages: [{role: 'user', content: 'Bonjour !'}],
});
console.log(response.choices[0].message.content);
curl https://api.maestrostudio.fr/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-votre-cle-api" \
-d '{
"model": "qwen2.5-14b",
"messages": [{"role": "user", "content": "Bonjour !"}]
}'
// composer require openai-php/client
$client = OpenAI::factory()
->withBaseUri('https://api.maestrostudio.fr/v1')
->withApiKey('sk-votre-cle-api')
->make();
$response = $client->chat()->create([
'model' => 'qwen2.5-14b',
'messages' => [['role' => 'user', 'content' => 'Bonjour !']],
]);
echo $response->choices[0]->message->content;
Chat Completions
Endpoint principal pour interagir avec les modèles de langage.
POST
/v1/chat/completions
Générer une réponse
Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| model | string | Requis | Identifiant du modèle. Ex: qwen2.5-14b |
| messages | array | Requis | Liste des messages de la conversation |
| max_tokens | integer | Optionnel | Nombre maximum de tokens en sortie (défaut: 1024) |
| temperature | float | Optionnel | Créativité de la réponse, entre 0 et 2 (défaut: 0.7) |
| stream | boolean | Optionnel | Activer le streaming des tokens |
| system | string | Optionnel | Prompt système pour définir le comportement |
Exemple avec système prompt
response = client.chat.completions.create(
model="qwen2.5-14b",
messages=[
{"role": "system", "content": "Tu es un assistant médical expert."},
{"role": "user", "content": "Quels sont les symptômes de la dépression ?"}
],
temperature=0.3,
max_tokens=512
)
Streaming
with client.chat.completions.stream(
model="qwen2.5-14b",
messages=[{"role": "user", "content": "Raconte une histoire"}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Modèles disponibles
GET
/v1/models
Lister les modèles
| ID Modèle | Type | Contexte | Description |
|---|---|---|---|
| qwen2.5-14b | LLM | 4096 tokens | Modèle principal — polyvalent, français, code |
| whisper-large-v3-turbo | Audio | — | Transcription audio multilingue |
Transcription Audio
Convertit un fichier audio en texte.
POST
/audio/asr
Transcrire un fichier audio
Paramètres (multipart/form-data)
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| audio_file | file | Requis | Fichier audio (MP3, WAV, M4A, OGG, FLAC) |
| language | string | Optionnel | Code langue ISO (ex: fr, en). Détection auto si absent. |
| output | string | Optionnel | txt ou json (défaut: txt) |
Exemple Python
import requests
with open("consultation.mp3", "rb") as f:
response = requests.post(
"https://api.maestrostudio.fr/audio/asr",
headers={"Authorization": "Bearer sk-votre-cle"},
files={"audio_file": f},
data={"language": "fr", "output": "json"}
)
data = response.json()
print(data["text"])
Exemple cURL
curl https://api.maestrostudio.fr/audio/asr \
-H "Authorization: Bearer sk-votre-cle" \
-F "audio_file=@consultation.mp3" \
-F "language=fr" \
-F "output=txt"
Migration depuis OpenAI
La migration est immédiate — changez uniquement l'URL de base et la clé API.
- base_url = "https://api.openai.com/v1"
- api_key = "sk-openai-..."
+ base_url = "https://api.maestrostudio.fr/v1"
+ api_key = "sk-votre-cle-maestro"
⚠️ Remplacez les noms de modèles OpenAI (gpt-4, gpt-3.5-turbo) par qwen2.5-14b.
Gestion des erreurs
| Code | Signification | Solution |
|---|---|---|
| 401 | Clé API invalide ou manquante | Vérifiez votre clé dans le Dashboard |
| 402 | Crédits insuffisants | Rechargez vos crédits dans le Dashboard |
| 429 | Trop de requêtes | Réduisez la fréquence de vos appels |
| 500 | Erreur serveur | Réessayez dans quelques secondes |
Limites & quotas
| Plan | Tokens/minute | Requêtes/minute | Contexte max |
|---|---|---|---|
| Free | 50 000 | 30 | 4096 tokens |
| Starter | 200 000 | 60 | 4096 tokens |
| Pro | 500 000 | 120 | 4096 tokens |
| Business | Illimité | 600 | 4096 tokens |