Zum Hauptinhalt springen

Entwicklungsleitfaden

Dieser Leitfaden hilft Ihnen, unsere API-Dienste in Ihre Anwendung zu integrieren.

Asynchrone Verarbeitung

Unsere API verwendet ein asynchrones Verarbeitungsmodell:
  1. Aufgabe einreichen: Senden Sie eine Generierungsanfrage und erhalten Sie eine Aufgaben-ID
  2. Status abfragen: Prüfen Sie regelmäßig den Status der Aufgabe
  3. Ergebnis abrufen: Holen Sie das Generierungsergebnis ab, sobald die Aufgabe abgeschlossen ist

Beispiel zum Abfragen

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")

Fehlerbehandlung

Häufige Fehler

StatusBeschreibungLösung
400Ungültige AnfrageparameterPrüfen Sie Parameter und Format der Anfrage
401Authentifizierung fehlgeschlagenAPI-Schlüssel überprüfen
402Unzureichendes GuthabenKontoguthaben aufladen
429Rate Limit überschrittenAnfragenrate reduzieren
500ServerfehlerSpäter erneut versuchen

Beispiel

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')}")

Best Practices

  1. Caching: Generierte Bild-/Videolinks sind 24 Stunden gültig
  2. Wiederholungen: Implementieren Sie exponentielles Backoff bei vorübergehenden Fehlern
  3. Monitoring: Prüfen Sie regelmäßig API-Nutzung und Kontingente
  4. Sicherheit: Bewahren Sie Ihren API-Schlüssel sicher auf

Support

Wenn Sie während der Entwicklung auf Probleme stoßen, erhalten Sie Hilfe über:
  • E-Mail: zhihong@apimart.ai
  • Live-Chat: Besuchen Sie unsere Website
  • Dokumentation: Durchsuchen Sie die vollständige API-Dokumentation