Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

Paramètres de chemin

id
string
requis
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}.Si la tâche n’existe plus ou ne peut plus être résolue via le contrat public async-task, TokenLab renvoie async_task_not_found avec le message Task not found or no longer available.

Réponse

created
integer
Horodatage Unix de la création.
task_id
string
L’identifiant de la tâche.
status
string
Statut de la tâche : pending, processing, completed, ou failed.
data
array
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) : Le prompt utilisé pour la génération
error
string
Message d’erreur (présent uniquement lorsque le status est failed).
curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
  -H "Authorization: Bearer sk-your-api-key"
{
  "created": 1706000000,
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "data": [
    {
      "url": "",
      "revised_prompt": "a beautiful sunset over mountains"
    }
  ]
}

Bonnes pratiques de polling

Intervalle de polling recommandé : 3-5 secondes. La plupart des tâches de génération d’images se terminent en 30 à 120 secondes selon le modèle et le chemin du fournisseur routé.
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)
        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}")