Saltar al contenido principal

Guía de desarrollo

Esta guía le ayuda a integrar nuestros servicios de API en su aplicación.

Procesamiento asíncrono

Nuestra API utiliza un modelo de procesamiento asíncrono:
  1. Enviar una tarea: envíe una solicitud de generación y reciba un ID de tarea
  2. Consultar estado: revise periódicamente el estado de la tarea
  3. Obtener resultados: recupere los resultados de la generación cuando la tarea se complete

Ejemplo de polling

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

Manejo de errores

Errores comunes

EstadoDescripciónResolución
400Parámetros de solicitud no válidosRevise los parámetros y el formato de la solicitud
401Error de autenticaciónVerifique su clave de API
402Saldo insuficienteRecargue el saldo de su cuenta
429Límite de tasa superadoReduzca la frecuencia de las solicitudes
500Error del servidorReintente más tarde

Ejemplo

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

Buenas prácticas

  1. Almacenamiento en caché: los enlaces a imágenes/videos generados son válidos durante 24 horas
  2. Reintentos: implemente backoff exponencial ante errores transitorios
  3. Supervisión: revise regularmente el uso y las cuotas de la API
  4. Seguridad: mantenga su clave de API segura

Soporte

Si encuentra problemas durante el desarrollo, puede obtener ayuda a través de:
  • Correo electrónico: zhihong@apimart.ai
  • Chat en vivo: visite nuestro sitio web
  • Documentación: consulte la documentación completa de la API