Saltar al contenido principal
La API de Tareas de Hailuo tiene como función principal consultar el estado de ejecución de una tarea mediante el ID de tarea generado por la API de Generación de Videos de Hailuo. Este documento detallará las instrucciones de integración de la API de Tareas de Hailuo, ayudándole a integrar y aprovechar al máximo las potentes funciones de esta API. A través de la API de Tareas de Hailuo, puede consultar fácilmente el estado de ejecución de las tareas de la API de Generación de Videos de Hailuo.

Proceso de Solicitud

Para utilizar la API de Tareas de Hailuo, primero debe ir a la página de solicitud API de Generación de Videos de Hailuo para solicitar el servicio correspondiente, y luego copiar el ID de tarea de la API de Generación de Videos de Hailuo, como se muestra en la imagen:

Finalmente, acceda a la página de la API de Tareas API de Tareas de Hailuo para solicitar el servicio correspondiente. Una vez en la página, haga clic en el botón “Acquire”, como se muestra en la imagen: Página de Solicitud Si aún no ha iniciado sesión o registrado, será redirigido automáticamente a la página de inicio de sesión para invitarle a registrarse e iniciar sesión. Después de registrarse e iniciar sesión, será redirigido automáticamente a la página actual. En la primera solicitud, se otorgará un crédito gratuito, lo que le permitirá utilizar esta API de forma gratuita.

Ejemplo de Solicitud

La API de Tareas de Hailuo se puede utilizar para consultar los resultados de la API de Generación de Videos de Hailuo. Para obtener información sobre cómo utilizar la API de Generación de Videos de Hailuo, consulte el documento API de Generación de Videos de Hailuo. Tomaremos como ejemplo un ID de tarea devuelto por el servicio de la API de Generación de Videos de Hailuo para demostrar cómo utilizar esta API. Supongamos que tenemos un ID de tarea: 58cc618b-9639-4ee7-add2-d2fcf260d9a3, a continuación, se demostrará cómo hacerlo pasando un ID de tarea.

Ejemplo de Tarea

Configuración de Encabezados de Solicitud y Cuerpo de Solicitud

Encabezados de Solicitud incluyen:
  • accept: especifica que se aceptan respuestas en formato JSON, aquí se debe llenar como application/json.
  • authorization: la clave para llamar a la API, que se puede seleccionar directamente después de la solicitud.
Cuerpo de Solicitud incluye:
  • id: el ID de tarea cargado.
  • action: el método de operación sobre la tarea.
Configurado como se muestra en la imagen:

Ejemplo de Código

Se puede observar que en el lado derecho de la página se han generado automáticamente códigos en varios lenguajes, como se muestra en la imagen:

Algunos ejemplos de código son los siguientes:

CURL

curl -X POST 'https://api.acedata.cloud/hailuo/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
  "action": "retrieve"
}'

Python

import requests

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

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

payload = {
    "id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
    "action": "retrieve"
}

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

Ejemplo de Respuesta

Después de una solicitud exitosa, la API devolverá la información detallada de la tarea de video aquí. Por ejemplo:
{
  "_id": "67866dff550a4144a5867aa7",
  "id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
  "api_id": "d5af91f6-a7ec-4015-b0a5-d25051158470",
  "application_id": "2f9f4d93-9193-4c49-a1a5-eddf0ff38abb",
  "created_at": 1736863231.588,
  "credential_id": "f634e655-012e-432e-92a8-a87e4a80d636",
  "request": {
    "action": "generate",
    "prompt": "Calor interno"
  },
  "trace_id": "0c1f9f13-0aef-4d9a-a9d2-1d27055ff190",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
    "trace_id": "0c1f9f13-0aef-4d9a-a9d2-1d27055ff190",
    "data": [
      {
        "id": "2a1tbgnjdxrg80cmcmes19s33r",
        "model": "minimax-t2v",
        "prompt": "Calor interno",
        "first_image_url": null,
        "video_url": "https://file.aigpai.com/czjl/tjU3QYKgU96IJFgpL0eMfBFhmy0qXz9Y05P2IBhShCYaDCFUA/tmp5uligw3a.output.mp4",
        "state": "succeeded"
      }
    ]
  }
}
El resultado devuelto tiene varios campos, el campo request es el cuerpo de la solicitud al iniciar la tarea, mientras que el campo response es el cuerpo de respuesta devuelto después de completar la tarea. La descripción de los campos es la siguiente.
  • id, el ID de la tarea de video generada, utilizado para identificar de manera única esta tarea de generación de video.
  • request, información de solicitud en la tarea de video.
  • response, información de respuesta en la tarea de video.

Operación de Consulta por Lotes

Esto es para consultar los detalles de las tareas de video para múltiples IDs de tarea, a diferencia de lo anterior, se debe seleccionar la acción como retrieve_batch. Cuerpo de Solicitud incluye:
  • ids: un array de IDs de tarea cargados.
  • action: el método de operación sobre la tarea.
Configurado como se muestra en la imagen:

Ejemplo de Código

Se puede observar que en el lado derecho de la página se han generado automáticamente códigos en varios lenguajes, como se muestra en la imagen:

Algunos ejemplos de código son los siguientes:

Ejemplo de Respuesta

Después de una solicitud exitosa, la API devolverá la información detallada de todas las tareas de video en lote. Por ejemplo:
{
  "items": [
    {
      "_id": "67866fad550a4144a587053c",
      "id": "09d4a93e-d5c8-4778-bdf2-711773d71c59",
      "api_id": "d5af91f6-a7ec-4015-b0a5-d25051158470",
      "application_id": "2f9f4d93-9193-4c49-a1a5-eddf0ff38abb",
      "created_at": 1736863661.511,
      "credential_id": "f634e655-012e-432e-92a8-a87e4a80d636",
      "request": {
        "action": "generate",
        "prompt": "Calor interno"
      },
      "trace_id": "0edc94c6-4938-4bff-bb16-20364c254e40",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "09d4a93e-d5c8-4778-bdf2-711773d71c59",
        "trace_id": "0edc94c6-4938-4bff-bb16-20364c254e40",
        "data": [
          {
            "id": "24zdgea0s1rge0cmcmjbsfj2m8",
            "model": "minimax-t2v",
            "prompt": "Calor interno",
            "first_image_url": null,
            "video_url": "https://file.aigpai.com/czjl/6cTYBRBDVJIQANzG7GaPwPblbeIiFe4yUDcVoMkkXttqJCFUA/tmpm4ke45c5.output.mp4",
            "state": "succeeded"
          }
        ]
      }
    },
    {
      "_id": "67866dff550a4144a5867aa7",
      "id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
      "api_id": "d5af91f6-a7ec-4015-b0a5-d25051158470",
      "application_id": "2f9f4d93-9193-4c49-a1a5-eddf0ff38abb",
      "created_at": 1736863231.588,
      "credential_id": "f634e655-012e-432e-92a8-a87e4a80d636",
      "request": {
        "action": "generate",
        "prompt": "Calor interno"
      },
      "trace_id": "0c1f9f13-0aef-4d9a-a9d2-1d27055ff190",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "58cc618b-9639-4ee7-add2-d2fcf260d9a3",
        "trace_id": "0c1f9f13-0aef-4d9a-a9d2-1d27055ff190",
        "data": [
          {
            "id": "2a1tbgnjdxrg80cmcmes19s33r",
            "model": "minimax-t2v",
            "prompt": "Calor interno",
            "first_image_url": null,
            "video_url": "https://file.aigpai.com/czjl/tjU3QYKgU96IJFgpL0eMfBFhmy0qXz9Y05P2IBhShCYaDCFUA/tmp5uligw3a.output.mp4",
            "state": "succeeded"
          }
        ]
      }
    }
  ],
  "count": 2
}

CURL

curl -X POST 'https://api.acedata.cloud/hailuo/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["09d4a93e-d5c8-4778-bdf2-711773d71c59","58cc618b-9639-4ee7-add2-d2fcf260d9a3"],
  "action": "retrieve_batch"
}'

Python

import requests

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

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

payload = {
    "ids": ["09d4a93e-d5c8-4778-bdf2-711773d71c59","58cc618b-9639-4ee7-add2-d2fcf260d9a3"],
    "action": "retrieve_batch"
}

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

Manejo de errores

Al llamar a la API, si se encuentra con un error, la API devolverá el código de error correspondiente y la información. Por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 401 invalid_token: No autorizado, token de autorización inválido o faltante.
  • 429 too_many_requests: Demasiadas solicitudes, ha superado el límite de tasa.
  • 500 api_error: Error interno del servidor, algo salió mal en el servidor.

Ejemplo de respuesta de error

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "la recuperación falló"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusión

A través de este documento, ha comprendido cómo utilizar la API de Hailuo Tasks para consultar detalles específicos de tareas de video individuales o por lotes. Esperamos que este documento le ayude a integrar y utilizar mejor esta API. Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de soporte técnico.