Passer au contenu principal

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

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

StatutDescriptionSolution
400Paramètres de requête invalidesVérifiez les paramètres et le format de la requête
401Échec d’authentificationVérifiez votre clé API
402Solde insuffisantRechargez le solde de votre compte
429Limite de débit dépasséeRéduisez la fréquence des requêtes
500Erreur du serveurRéessayez plus tard

Exemple

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
  • Chat en direct : visitez notre site web
  • Documentation : consultez la documentation complète de l’API