> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Интеграция и использование Luma Tasks API

> Luma Video Generation 集成指南 - XHuoAPI

Основная функция Luma Tasks API заключается в том, чтобы запрашивать статус выполнения задачи, используя ID задачи, сгенерированный Luma Videos Generation API.

В этом документе подробно описывается интеграция Luma Tasks API, чтобы помочь вам легко интегрировать и в полной мере использовать мощные возможности этого API. С помощью Luma Tasks API вы можете легко запрашивать статус выполнения задач Luma Videos Generation API.

## Процесс подачи заявки

Чтобы использовать Luma Tasks API, сначала необходимо перейти на страницу заявки [Luma Videos Generation API](https://api.xhuoapi.ai/documents/5bd3597d-1ff8-44ad-a580-b66b48393e7f) и подать заявку на соответствующую услугу, затем скопировать ID задачи Luma Videos Generation API, как показано на рисунке:

![](https://cdn.xhuoapi.ai/ynk4ow.png)

Затем перейдите на страницу Tasks API [Luma Tasks API](https://api.xhuoapi.ai/documents/7d32369c-4ead-4364-a4c5-652bc768b3ff) и подайте заявку на соответствующую услугу, после перехода на страницу нажмите кнопку «Acquire», как показано на рисунке:

![Страница заявки](https://cdn.xhuoapi.ai/rci31i.png)

Если вы еще не вошли в систему или не зарегистрированы, вы будете автоматически перенаправлены на [страницу входа](https://api.xhuoapi.ai), где вас пригласят зарегистрироваться и войти в систему. После входа в систему вы будете автоматически возвращены на текущую страницу.

При первой подаче заявки предоставляется бесплатный лимит, который позволяет бесплатно использовать этот API.

## Пример запроса

Luma Tasks API можно использовать для запроса результатов Luma Videos Generation API. Для получения информации о том, как использовать Luma Videos Generation API, пожалуйста, обратитесь к документации [Luma Videos Generation API](https://api.xhuoapi.ai/documents/16bb0108-1f09-45b3-97ac-16a668750a8c).

Мы возьмем один из ID задач, возвращенных службой Luma Videos Generation API, в качестве примера, чтобы продемонстрировать, как использовать этот API. Предположим, у нас есть ID задачи: 50fc6182-fa86-4c7d-ac12-2fa27ec2f151, далее мы покажем, как передать этот ID задачи.

### Пример задачи

<p>
  <img src="https://cdn.xhuoapi.ai/frcrux.png" width="500" className="m-auto" />
</p>

### Установка заголовков запроса и тела запроса

**Request Headers** включает:

* `accept`: указывает на прием ответа в формате JSON, здесь указывается `application/json`.
* `authorization`: ключ для вызова API, после подачи заявки его можно выбрать из выпадающего списка.

**Request Body** включает:

* `id`: загруженный ID задачи.
* `action`: способ выполнения операции над задачей.

Настройка, как показано на рисунке:

<p>
  <img src="https://cdn.xhuoapi.ai/g6ev5b.png" width="500" className="m-auto" />
</p>

### Пример кода

Можно заметить, что на правой стороне страницы автоматически сгенерирован код на различных языках, как показано на рисунке:

<p>
  <img src="https://cdn.xhuoapi.ai/i4fxqf.png" width="500" className="m-auto" />
</p>

Некоторые примеры кода:

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/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

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/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)
```

### Пример ответа

После успешного запроса API вернет информацию о деталях видео задачи. Например:

```json theme={null}
{
  "_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": "Астронавты перемещаются из космоса к вулкану"
  },
  "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": "Астронавты перемещаются из космоса к вулкану",
    "video_url": "https://platform.cdn.xhuoapi.ai/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
    "video_height": 752,
    "video_width": 1360,
    "state": "completed",
    "thumbnail_url": "https://platform.cdn.xhuoapi.ai/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.jpg",
    "thumbnail_width": 1360,
    "thumbnail_height": 752
  },
  "finished_at": 1725077566.241
}
```

Возвращаемый результат содержит несколько полей, поле request — это тело запроса, отправленного для создания задачи, в то время как поле response — это тело ответа, возвращенное после завершения задачи, результаты которого совпадают с запросом и ответом Luma Videos Generation API. Описание полей следующее.

* `id`: ID, сгенерированного для этой видео задачи, используется для уникальной идентификации этой задачи по созданию видео.
* `video_id`: уникальный идентификатор видео в данной задаче, который необходимо передать при следующем расширении операции над видео.
* `request`: информация о запросе в задаче видео.
* `response`: информация о возвращенном ответе в задаче видео.

## Пакетный запрос

Это запрос для получения деталей видео задач по нескольким ID задач, в отличие от вышеуказанного, необходимо выбрать action как retrieve\_batch.

**Request Body** включает:

* `ids`: массив загруженных ID задач.
* `action`: способ выполнения операции над задачей.

Настройка, как показано на рисунке:

<p>
  <img src="https://cdn.xhuoapi.ai/mpcf1m.png" width="500" className="m-auto" />
</p>

### Пример кода

Можно заметить, что на правой стороне страницы автоматически сгенерирован код на различных языках, как показано на рисунке:

<p>
  <img src="https://cdn.xhuoapi.ai/zs6y35.png" width="500" className="m-auto" />
</p>

Некоторые примеры кода:

### Пример ответа

После успешного запроса API вернет конкретную информацию о всех пакетных видео задачах. Например:

```json theme={null}
{
  "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": "generate",
        "prompt": "Астронавты перемещаются из космоса к вулкану"
      },
      "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": "Астронавты перемещаются из космоса к вулкану",
        "video_url": "https://platform.cdn.xhuoapi.ai/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "completed",
        "thumbnail_url": "https://platform.cdn.xhuoapi.ai/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": "generate",
        "prompt": "ла ла ла"
      },
      "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": "ла ла ла",
        "video_url": "https://platform.cdn.xhuoapi.ai/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "completed",
        "thumbnail_url": "https://platform.cdn.xhuoapi.ai/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.jpg",
        "thumbnail_width": 1360,
        "thumbnail_height": 752
      },
      "finished_at": 1725079406.71
    }
  ],
  "count": 2
}
```

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/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": "retrieve_batch"
}'
```

#### Python

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/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": "retrieve_batch"
}

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

## Ошибка обработки

При вызове API, если возникнет ошибка, API вернет соответствующий код ошибки и информацию. Например:

* `400 token_mismatched`：Неверный запрос, возможно, из-за отсутствия или недействительных параметров.
* `400 api_not_implemented`：Неверный запрос, возможно, из-за отсутствия или недействительных параметров.
* `401 invalid_token`：Неавторизован, недействительный или отсутствующий токен авторизации.
* `429 too_many_requests`：Слишком много запросов, вы превысили лимит частоты.
* `500 api_error`：Внутренняя ошибка сервера, что-то пошло не так на сервере.

### Пример ответа об ошибке

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "не удалось получить"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Заключение

С помощью этого документа вы узнали, как использовать Luma Tasks API для запроса всех конкретных деталей о единичных или пакетных видео задачах. Надеемся, что этот документ поможет вам лучше интегрировать и использовать этот API. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться в нашу техническую поддержку.
