> ## 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.

# Guía de desarrollo

> Integre la API en su aplicación

# 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

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

## Manejo de errores

### Errores comunes

| Estado | Descripción                        | Resolución                                         |
| ------ | ---------------------------------- | -------------------------------------------------- |
| 400    | Parámetros de solicitud no válidos | Revise los parámetros y el formato de la solicitud |
| 401    | Error de autenticación             | Verifique su clave de API                          |
| 402    | Saldo insuficiente                 | Recargue el saldo de su cuenta                     |
| 429    | Límite de tasa superado            | Reduzca la frecuencia de las solicitudes           |
| 500    | Error del servidor                 | Reintente más tarde                                |

### Ejemplo

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

## 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](mailto:zhihong@apimart.ai)
* Chat en vivo: visite nuestro sitio web
* Documentación: consulte la documentación completa de la API
