> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Guide de développement

> Intégrez l'API dans votre application

# Guide de développement

Ce guide vous aide à intégrer nos services API dans votre application.

## Traitement asynchrone

Notre API utilise un modèle de traitement asynchrone :

1. Soumettre une tâche : envoyer une requête de génération et recevoir un ID de tâche
2. Interroger le statut : vérifier périodiquement le statut de la tâche
3. Obtenir les résultats : récupérer les résultats de la génération une fois la tâche terminée

### Exemple d'interrogation

```python theme={null}
import time
import requests

def wait_for_completion(api_key, task_id, max_wait=300):
    """Poll the task until it completes"""
    url = f"https://api.apimart.ai/v1/tasks/{task_id}"
    headers = {"Authorization": f"Bearer {api_key}"}
    start_time = time.time()

    while time.time() - start_time < max_wait:
        data = requests.get(url, headers=headers).json()["data"]
        status = data["status"]

        if status == "completed":
            return data["result"]
        elif status in ("failed", "cancelled"):
            raise Exception(f"Task {status}: {data.get('error')}")

        time.sleep(2)  # wait 2 seconds before polling again

    raise Exception("Task timeout")
```

## Gestion des erreurs

### Erreurs courantes

| Statut | Description                     | Solution                                           |
| ------ | ------------------------------- | -------------------------------------------------- |
| 400    | Paramètres de requête invalides | Vérifiez les paramètres et le format de la requête |
| 401    | Échec d'authentification        | Vérifiez votre clé API                             |
| 402    | Solde insuffisant               | Rechargez le solde de votre compte                 |
| 429    | Limite de débit dépassée        | Réduisez la fréquence des requêtes                 |
| 500    | Erreur du serveur               | Réessayez plus tard                                |

### Exemple

```python theme={null}
import requests

response = requests.post(
    "https://api.apimart.ai/v1/images/generations",
    headers={"Authorization": f"Bearer {api_key}"},
    json={"model": "gpt-4o-image", "prompt": "a cute panda"},
)

if response.status_code != 200:
    error = response.json().get("error", {})
    if response.status_code == 401:
        print("Invalid API key")
    elif response.status_code == 402:
        print("Insufficient account balance")
    else:
        print(f"Error: {error.get('message')}")
```

## Bonnes pratiques

1. Mise en cache : les liens d'images/vidéos générés sont valides 24 heures
2. Nouvelles tentatives : implémentez un backoff exponentiel en cas d'erreurs transitoires
3. Surveillance : vérifiez régulièrement l'utilisation de l'API et les quotas
4. Sécurité : gardez votre clé API en sécurité

## Support

Si vous rencontrez des problèmes pendant le développement, vous pouvez obtenir de l'aide via :

* E-mail : [zhihong@apimart.ai](mailto:zhihong@apimart.ai)
* Chat en direct : visitez notre site web
* Documentation : consultez la documentation complète de l'API
