Documentation API

Guide complet pour utiliser l'API Garmouk

Authentification

Toutes les requêtes à l'API doivent inclure votre clé API dans l'en-tête Authorization.

Authorization: Bearer mpa_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Pour créer une clé API, rendez-vous sur la page Clés API.

URL de base

https://api.garmouk.com/api/v1

Endpoints 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_KEY

Ré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