Documentation API
Guide complet pour utiliser l'API Garmouk
Table des matières
Authentification
Toutes les requêtes à l'API doivent inclure votre clé API dans l'en-tête Authorization.
Authorization: Bearer mpa_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPour créer une clé API, rendez-vous sur la page Clés API.
URL de base
https://api.garmouk.com/api/v1Endpoints disponibles
POST /generate/text
Génère du texte à partir d'un prompt
POST /generate/image
Génère une image à partir d'un prompt
POST /generate/video
Génère une vidéo à partir d'un prompt
POST /generate/animation
Génère une animation à partir d'une image
GET /balance
Obtenir le solde actuel
Génération de texte
Génère du texte en utilisant un modèle de langage.
Requête
POST https://api.garmouk.com/api/v1/generate/text
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"model": "gpt-4o-mini",
"prompt": "Expliquez-moi comment fonctionne l'IA",
"options": {
"temperature": 0.7,
"max_tokens": 1000
}
}Réponse
{
"success": true,
"data": {
"id": "chatcmpl-...",
"model": "gpt-4o-mini",
"content": "L'intelligence artificielle...",
"tokens_used": 150,
"finish_reason": "stop",
"created_at": "2024-01-01T00:00:00Z"
},
"cost": 0.000075,
"balance_remaining": 9.999925,
"request_id": "req-..."
}Génération d'images
Génère une image à partir d'un prompt textuel.
Requête
POST https://api.garmouk.com/api/v1/generate/image
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"model": "dall-e-3",
"prompt": "Un chat astronautique dans l'espace",
"options": {
"width": 1024,
"height": 1024,
"num_images": 1
}
}Réponse
{
"success": true,
"data": {
"id": "img-...",
"model": "dall-e-3",
"images": [
{
"url": "https://...",
"width": 1024,
"height": 1024
}
],
"created_at": "2024-01-01T00:00:00Z"
},
"cost": 0.04,
"balance_remaining": 9.96,
"request_id": "req-..."
}Génération de vidéos
Génère une vidéo à partir d'un prompt textuel.
Requête
POST https://api.garmouk.com/api/v1/generate/video
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"model": "pika-1-5",
"prompt": "Un chat qui danse",
"options": {
"duration": 5,
"width": 1024,
"height": 576
}
}Note: La génération de vidéos est actuellement en cours de développement.
Génération d'animations
Génère une animation à partir d'une image source.
Requête
POST https://api.garmouk.com/api/v1/generate/animation
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"model": "pika-1-5",
"prompt": "Animation fluide",
"image_url": "https://example.com/image.jpg",
"options": {
"duration": 3
}
}Note: La génération d'animations est actuellement en cours de développement.
Gestion du solde
Chaque requête consomme votre solde selon le modèle utilisé et la complexité de la requête. Vous pouvez vérifier votre solde à tout moment.
Obtenir le solde
GET https://api.garmouk.com/api/v1/balance
Authorization: Bearer YOUR_API_KEYRéponse
{
"balance_usd": 9.998
}Note: Le solde est automatiquement débité après chaque requête réussie. Le montant débité est indiqué dans la réponse de chaque requête de génération.
Gestion des erreurs
L'API utilise des codes de statut HTTP standard pour indiquer le succès ou l'échec d'une requête.
401 Unauthorized
Clé API invalide, expirée ou révoquée
403 Forbidden
La clé API n'a pas le scope requis pour cette opération
400 Bad Request
Requête invalide (paramètres manquants ou incorrects)
402 Payment Required
Solde insuffisant
500 Internal Server Error
Erreur serveur
Exemples de code
cURL
curl -X POST https://api.garmouk.com/api/v1/generate/text \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"prompt": "Bonjour, comment allez-vous ?"
}'JavaScript (fetch)
const response = await fetch('https://api.garmouk.com/api/v1/generate/text', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'gpt-4o-mini',
prompt: 'Bonjour, comment allez-vous ?',
}),
});
const data = await response.json();
console.log(data);Python (requests)
import requests
response = requests.post(
'https://api.garmouk.com/api/v1/generate/text',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
json={
'model': 'gpt-4o-mini',
'prompt': 'Bonjour, comment allez-vous ?',
},
)
data = response.json()
print(data)Limites de taux
Les limites de taux sont appliquées par clé API pour protéger nos serveurs.
- 60 requêtes par minute par défaut
- Les limites peuvent varier selon votre plan d'abonnement
- Les en-têtes de réponse incluent les informations sur les limites restantes