> ## 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. Рекомендується поєднувати цей інтерфейс з Midjourney Imagine API: спочатку отримувати кілька стислих кандидатів через Shorten API, а потім обирати найкращий для передачі в Imagine API для генерації зображень. Якщо у вас виникнуть питання, будь ласка, звертайтеся до нашої технічної підтримки.
