Passer au contenu principal
La principale fonctionnalité de l’API Luma Tasks est de permettre la consultation de l’état d’exécution d’une tâche en entrant l’ID de tâche généré par l’API Luma Videos Generation. Ce document détaillera les instructions d’intégration de l’API Luma Tasks, vous aidant à intégrer facilement et à tirer pleinement parti de la puissance de cette API. Grâce à l’API Luma Tasks, vous pouvez facilement interroger l’état d’exécution des tâches de l’API Luma Videos Generation.

Processus de demande

Pour utiliser l’API Luma Tasks, vous devez d’abord vous rendre sur la page de demande Luma Videos Generation API pour demander le service correspondant, puis copier l’ID de tâche de l’API Luma Videos Generation, comme indiqué sur l’image : Enfin, accédez à la page de l’API Tasks Luma Tasks API pour demander le service correspondant. Une fois sur la page, cliquez sur le bouton « Acquire », comme indiqué sur l’image : Page de demande Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion vous invitant à vous inscrire et à vous connecter. Après vous être connecté ou inscrit, vous serez automatiquement renvoyé à la page actuelle. Lors de votre première demande, un quota gratuit sera offert, vous permettant d’utiliser cette API gratuitement.

Exemple de demande

L’API Luma Tasks peut être utilisée pour interroger les résultats de l’API Luma Videos Generation. Pour savoir comment utiliser l’API Luma Videos Generation, veuillez consulter le document Luma Videos Generation API. Prenons un exemple avec un ID de tâche retourné par le service Luma Videos Generation. Supposons que nous ayons un ID de tâche : 50fc6182-fa86-4c7d-ac12-2fa27ec2f151, nous allons maintenant démontrer comment procéder en passant cet ID de tâche.

Exemple de tâche

Configuration des en-têtes de demande et du corps de la demande

Request Headers comprend :
  • accept : spécifie que la réponse doit être au format JSON, ici rempli avec application/json.
  • authorization : la clé pour appeler l’API, que vous pouvez sélectionner directement après la demande.
Request Body comprend :
  • id : l’ID de tâche téléchargé.
  • action : la manière d’opérer sur la tâche.
Configurez comme indiqué sur l’image ci-dessous :

Exemple de code

Vous pouvez constater que divers langages de code ont déjà été générés automatiquement sur le côté droit de la page, comme indiqué sur l’image :

Voici quelques exemples de code :

CURL

curl -X POST 'https://api.acedata.cloud/luma/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
  "action": "retrieve"
}'

Python

import requests

url = "https://api.acedata.cloud/luma/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
    "action": "retrieve"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Exemple de réponse

Après une demande réussie, l’API renverra les détails de la tâche vidéo ici. Par exemple :
{
  "_id": "66d297a3550a4144a5a5db42",
  "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
  "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
  "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
  "created_at": 1725077411.961,
  "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
  "request": {
    "action": "generate",
    "prompt": "Astronauts shuttle from space to volcano"
  },
  "trace_id": "0b7c1c1a-045c-4145-a434-609cba88f0a9",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
    "video_id": "4b088fc8-2bbc-4706-80a6-a0fb118adc1a",
    "prompt": "Astronauts shuttle from space to volcano",
    "video_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
    "video_height": 752,
    "video_width": 1360,
    "state": "completed",
    "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.jpg",
    "thumbnail_width": 1360,
    "thumbnail_height": 752
  },
  "finished_at": 1725077566.241
}
Le résultat de la réponse contient plusieurs champs, le champ request est le corps de la demande lors de l’initiation de la tâche, tandis que le champ response est le corps de la réponse renvoyé après l’achèvement de la tâche, dont les résultats sont cohérents avec ceux de l’API Luma Videos Generation. Les champs sont décrits comme suit.
  • id, l’ID de la tâche vidéo générée, utilisé pour identifier de manière unique cette tâche de génération vidéo.
  • video_id, l’identifiant unique de la vidéo dans la tâche vidéo consultée, nécessaire pour toute opération d’extension sur la vidéo à l’avenir.
  • request, les informations de demande dans la tâche vidéo.
  • response, les informations de réponse dans la tâche vidéo.

Opération de requête en masse

Ceci est destiné à interroger les détails des tâches vidéo pour plusieurs ID de tâche, contrairement à ce qui précède, l’action doit être sélectionnée comme retrieve_batch. Request Body comprend :
  • ids : tableau des ID de tâche téléchargés.
  • action : la manière d’opérer sur la tâche.
Configurez comme indiqué sur l’image ci-dessous :

Exemple de code

Vous pouvez constater que divers langages de code ont déjà été générés automatiquement sur le côté droit de la page, comme indiqué sur l’image :

Voici quelques exemples de code :

Exemple de réponse

Après une demande réussie, l’API renverra les détails spécifiques de toutes les tâches vidéo en masse. Par exemple :
{
  "items": [
    {
      "_id": "66d297a3550a4144a5a5db42",
      "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
      "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
      "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
      "created_at": 1725077411.961,
      "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
      "request": {
        "action": "générer",
        "prompt": "Des astronautes se déplacent de l'espace au volcan"
      },
      "trace_id": "0b7c1c1a-045c-4145-a434-609cba88f0a9",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
        "video_id": "4b088fc8-2bbc-4706-80a6-a0fb118adc1a",
        "prompt": "Des astronautes se déplacent de l'espace au volcan",
        "video_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "terminé",
        "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.jpg",
        "thumbnail_width": 1360,
        "thumbnail_height": 752
      },
      "finished_at": 1725077566.241
    },
    {
      "_id": "66d29ed3550a4144a5a6c089",
      "id": "76a05f61-68ad-4c1a-838f-a00cd08cf65b",
      "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
      "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
      "created_at": 1725079250.921,
      "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
      "request": {
        "action": "générer",
        "prompt": "la la la"
      },
      "trace_id": "338f1616-741d-40b6-8d62-c025434024c6",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "76a05f61-68ad-4c1a-838f-a00cd08cf65b",
        "video_id": "5a638d6a-7481-4c5e-8843-36c9d1b5bcd5",
        "prompt": "la la la",
        "video_url": "https://platform.cdn.acedata.cloud/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "terminé",
        "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.jpg",
        "thumbnail_width": 1360,
        "thumbnail_height": 752
      },
      "finished_at": 1725079406.71
    }
  ],
  "count": 2
}

CURL

curl -X POST 'https://api.acedata.cloud/luma/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["50fc6182-fa86-4c7d-ac12-2fa27ec2f151","76a05f61-68ad-4c1a-838f-a00cd08cf65b"],
  "action": "récupérer_batch"
}'

Python

import requests

url = "https://api.acedata.cloud/luma/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "ids": ["50fc6182-fa86-4c7d-ac12-2fa27ec2f151","76a05f61-68ad-4c1a-838f-a00cd08cf65b"],
    "action": "récupérer_batch"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Gestion des erreurs

Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :
  • 400 token_mismatched : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 400 api_not_implemented : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 401 invalid_token : Non autorisé, jeton d’autorisation invalide ou manquant.
  • 429 too_many_requests : Trop de requêtes, vous avez dépassé la limite de taux.
  • 500 api_error : Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

Exemple de réponse d’erreur

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "échec de la récupération"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusion

Grâce à ce document, vous avez compris comment utiliser l’API Luma Tasks pour interroger les détails de toutes les tâches vidéo individuelles ou en lot. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, n’hésitez pas à contacter notre équipe de support technique.