TokenLab

Images

Obtenir le statut de l'image

Obtenir le statut et le résultat d'une tâche de génération d'image asynchrone

GET
/v1/tasks/{id}

Paramètres de chemin

idstringpathrequis

L'ID de tâche retourné par la requête de génération d'image initiale.

Si la réponse de création inclut poll_url, privilégiez l'appel de cette URL exacte pour le polling. Certaines tâches d'image peuvent afficher une poll_url sous /v1/tasks/{id} au lieu du chemin de statut spécifique à l'image.

Vous pouvez aussi interroger les IDs publics de tâche image comme ldtask_... via /v1/images/{id}. Cet alias de compatibilité utilise les mêmes contrôles d’autorisation et de propriété, les mêmes en-têtes de facturation, snapshots terminaux et forme de réponse que /v1/images/generations/{id}.

Une tâche publique expirée ou indisponible peut renvoyer 404 async_task_not_found. Si son appartenance à la clé API actuelle ne peut pas être établie, la réponse est 403 task_not_owned.

Réponse

Les champs de résultat, d’erreur, d’horodatage et de modèle sont renvoyés lorsqu’ils sont disponibles pour la tâche.

idstring

Identifiant de la tâche.

poll_urlstring

URL de polling à privilégier lorsque la réponse de création la fournit.

createdinteger

Horodatage Unix de la création.

task_idstring

L'identifiant de la tâche.

statusstring

Statut de la tâche : pending, processing, completed, ou failed.

dataarray

Tableau d'images générées (rempli lorsque le status est completed).

Chaque objet contient :

  • url (string) : URL de l'image générée
  • revised_prompt (string): Révision optionnelle du prompt lorsque le modèle sélectionné la renvoie
errorstring | object

Message d'erreur (présent uniquement lorsque le status est failed).

Requête

curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
  -H "Authorization: Bearer sk-your-api-key"

Réponse

{
  "created": 1706000000,
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "data": []
}

Bonnes pratiques de polling

Interrogez toutes les 3 à 5 secondes pendant pending ou processing, puis arrêtez à completed ou failed.

import requests
import time

def poll_image_task(task_id, api_key, max_wait=300, interval=3):
    """Poll for image generation result with timeout."""
    url = f"https://api.tokenlab.sh/v1/tasks/{task_id}"
    headers = {"Authorization": f"Bearer {api_key}"}

    start_time = time.time()
    while time.time() - start_time < max_wait:
        response = requests.get(url, headers=headers, timeout=30)
        response.raise_for_status()
        data = response.json()

        if data["status"] == "completed":
            return data["data"][0]["url"]
        elif data["status"] == "failed":
            raise Exception(data.get("error", "Generation failed"))

        time.sleep(interval)

    raise TimeoutError(f"Task {task_id} did not complete within {max_wait}s")

# Usage
image_url = poll_image_task("ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "sk-your-api-key")
print(f"Generated image: {image_url}")

Autorisation

BearerAuth
AuthorizationBearer <token>

Authentification par clé API. Créez ou gérez vos clés API dans Dashboard > API > API Keys.

Emplacement: header

Paramètres de chemin

id*string

L'ID de tâche asynchrone renvoyé par id / task_id, ou intégré dans poll_url

Réponse

application/json

application/json

application/json

application/json