> ## 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.

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

> Midjourney generation 集成指南 - XHuoAPI

Основная функция Midjourney Shorten API — подключение к официальной команде Midjourney `/shorten` (анализ Prompt), которая анализирует текст Prompt, выявляет ключевые слова с наивысшим весом и генерирует 5 более кратких вариантов Prompt. Этот интерфейс идеально подходит для:

* сокращения длинных Prompt перед вызовом `imagine` для повышения релевантности результата;
* обратного понимания веса каждого токена в Midjourney через варианты Prompt, что облегчает инженеринг Prompt;
* автоматизации процессов с объединением и сокращением ключевых слов из пользовательских Prompt.

В этом документе подробно описана интеграция Midjourney Shorten API, чтобы вы могли легко подключить данный API.

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

Для использования Midjourney Shorten API необходимо подать заявку на странице [Midjourney Shorten API](https://api.xhuoapi.ai/documents/f0c6be1d-c084-43ac-bde6-44ef9cf824a2). После перехода на страницу нажмите кнопку «Acquire».

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

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

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

Рассмотрим пример с длинным Prompt, чтобы показать, как использовать API для его анализа и сокращения.

### Настройка заголовков и тела запроса

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

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

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

* `prompt`: текст Prompt для анализа и сокращения, рекомендуется вводить на английском языке.

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

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/midjourney/shorten' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "prompt": "a serene mountain lake at sunrise, mist rising from the water, towering pine trees on the shore, golden hour lighting, ultra detailed, cinematic, 35mm film photography style, masterpiece --ar 16:9 --v 6"
}'
```

#### Python

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/midjourney/shorten"

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

payload = {
    "prompt": (
        "a serene mountain lake at sunrise, mist rising from the water, "
        "towering pine trees on the shore, golden hour lighting, ultra "
        "detailed, cinematic, 35mm film photography style, masterpiece "
        "--ar 16:9 --v 6"
    )
}

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

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

При успешном запросе API возвращает до 5 сокращённых вариантов Prompt. Например:

```json theme={null}
{
  "prompts": [
    "a serene mountain lake at sunrise, mist rising from the water, golden hour lighting --ar 16:9",
    "mountain lake sunrise with mist, golden light --ar 16:9 --v 6",
    "tranquil alpine lake, dawn mist, warm golden tones, cinematic --ar 16:9",
    "sunrise over a misty mountain lake, rich golden hour photography --ar 16:9 --style raw",
    "misty lake at dawn, mountains in background, golden sunrise --ar 16:9"
  ]
}
```

В поле `prompts` содержится несколько сокращённых вариантов Prompt, каждый из которых сохраняет ключевые слова с наивысшим весом в Midjourney и удаляет повторяющиеся или избыточные описания.

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

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

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

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

```
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

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

В этом документе вы узнали, как использовать Midjourney Shorten API для анализа и сокращения Prompt. Рекомендуется комбинировать этот API с Midjourney Imagine API: сначала получать несколько сокращённых вариантов через Shorten API, затем выбирать наиболее подходящий для передачи в Imagine API для генерации изображения. Если у вас возникнут вопросы, пожалуйста, обращайтесь в нашу техническую поддержку.
