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

# Integracja i użycie Midjourney Shorten API

> Midjourney generation 集成指南 - XHuoAPI

Główną funkcją Midjourney Shorten API jest integracja z oficjalnym poleceniem Midjourney `/shorten` (analiza promptu), które analizuje podany prompt, identyfikuje słowa kluczowe o najwyższej wadze i generuje 5 bardziej zwięzłych propozycji promptów. Interfejs ten jest szczególnie przydatny do:

* skracania długich promptów przed wywołaniem `imagine`, co zwiększa trafność generowanych obrazów;
* odwrotnego rozumienia wagi poszczególnych tokenów w Midjourney na podstawie propozycji promptów, co ułatwia inżynierię promptów;
* automatyzacji procesów, grupowania i skracania słów kluczowych w promptach wprowadzanych przez użytkowników.

Niniejsza dokumentacja szczegółowo opisuje sposób integracji Midjourney Shorten API, pomagając w łatwej integracji tego API.

## Proces aplikacji

Aby korzystać z Midjourney Shorten API, należy najpierw złożyć wniosek na stronie [Midjourney Shorten API](https://api.xhuoapi.ai/documents/f0c6be1d-c084-43ac-bde6-44ef9cf824a2). Po wejściu na stronę kliknij przycisk „Acquire”.

Jeśli nie jesteś zalogowany lub zarejestrowany, nastąpi automatyczne przekierowanie do [strony logowania](https://api.xhuoapi.ai), gdzie możesz się zarejestrować i zalogować. Po zalogowaniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę.

Przy pierwszym wniosku otrzymujesz darmowy limit, który pozwala na bezpłatne korzystanie z API.

## Przykład zapytania

Weźmy na przykład długi prompt i pokażmy, jak użyć tego API do jego analizy i skrócenia.

### Ustawienie nagłówków i ciała zapytania

**Nagłówki zapytania** obejmują:

* `accept`: określa format odpowiedzi, tutaj `application/json`.
* `authorization`: klucz API do wywołania, który można wybrać z listy po złożeniu wniosku.

**Ciało zapytania** zawiera:

* `prompt`: tekst promptu do analizy i skrócenia, zaleca się wprowadzenie w języku angielskim.

### Przykład kodu

#### 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())
```

### Przykład odpowiedzi

Po pomyślnym wywołaniu API zwróci maksymalnie 5 zwięzłych propozycji promptów. Na przykład:

```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"
  ]
}
```

Widzimy, że odpowiedź zawiera pole `prompts` z kilkoma zwięzłymi propozycjami promptów, z których każdy zachowuje słowa kluczowe o najwyższej wadze w Midjourney, usuwając powtarzające się lub zbędne opisy.

## Obsługa błędów

Podczas wywoływania API, w przypadku błędów, API zwraca odpowiedni kod i komunikat błędu, na przykład:

* `400 token_mismatched`: Niepoprawne żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `400 api_not_implemented`: Niepoprawne żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `401 invalid_token`: Nieautoryzowany dostęp, nieprawidłowy lub brakujący token autoryzacyjny.
* `429 too_many_requests`: Zbyt wiele żądań, przekroczono limit szybkości.
* `500 api_error`: Błąd wewnętrzny serwera, wystąpił problem po stronie serwera.

### Przykład odpowiedzi błędu

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

## Podsumowanie

Dzięki tej dokumentacji poznaliście sposób użycia Midjourney Shorten API do analizy i skracania promptów. Zaleca się łączenie tego interfejsu z Midjourney Imagine API: najpierw użyć Shorten API, aby uzyskać kilka zwięzłych propozycji, a następnie wybrać najbardziej odpowiednią do przekazania do Imagine API w celu generowania obrazów. W razie jakichkolwiek pytań prosimy o kontakt z naszym zespołem wsparcia technicznego.
