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

# Integrazione e utilizzo dell'API Midjourney Shorten

> Midjourney generation 集成指南 - XHuoAPI

La funzione principale dell'API Midjourney Shorten è quella di interfacciarsi con il comando ufficiale `/shorten` (analisi del Prompt) di Midjourney, analizzando un Prompt per identificare le parole chiave con il peso più alto e generare 5 prompt candidati più sintetici. Questa API è particolarmente adatta a:

* Ridurre la lunghezza di un Prompt lungo prima di chiamare `imagine`, migliorando la pertinenza dell'immagine generata;
* Comprendere inversamente il peso di ogni token in Midjourney tramite i prompt candidati, facilitando l’ingegneria dei prompt;
* Integrare pipeline automatizzate per raggruppare e sintetizzare le parole chiave nei prompt inseriti dagli utenti.

Questo documento fornisce una guida dettagliata per integrare l'API Midjourney Shorten, aiutandoti a integrarla facilmente.

## Procedura di richiesta

Per utilizzare l'API Midjourney Shorten, è necessario prima richiedere il servizio sulla pagina [Midjourney Shorten API](https://api.xhuoapi.ai/documents/f0c6be1d-c084-43ac-bde6-44ef9cf824a2). Una volta entrati nella pagina, cliccare sul pulsante "Acquire".

Se non sei ancora loggato o registrato, verrai automaticamente reindirizzato alla [pagina di login](https://api.xhuoapi.ai) per registrarti e accedere; dopo il login, tornerai automaticamente alla pagina corrente.

Alla prima richiesta viene offerto un credito gratuito per utilizzare l'API senza costi.

## Esempio di richiesta

Prendiamo come esempio un Prompt piuttosto lungo per mostrare come utilizzare l'API per analizzarlo e sintetizzarlo.

### Impostazione delle intestazioni e del corpo della richiesta

**Request Headers** includono:

* `accept`: specifica di ricevere la risposta in formato JSON, qui impostato su `application/json`.
* `authorization`: la chiave API per chiamare l'API, selezionabile direttamente dopo la richiesta.

**Request Body** include:

* `prompt`: il testo del Prompt da analizzare e sintetizzare, si consiglia di inserirlo in inglese.

### Esempio di codice

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

### Esempio di risposta

In caso di successo, l'API restituirà fino a 5 prompt candidati sintetizzati. Ad esempio:

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

Come si vede, il campo `prompts` contiene diversi prompt candidati sintetizzati, ciascuno conserva le parole chiave con il peso più alto all’interno di Midjourney, eliminando descrizioni ridondanti o ripetute.

## Gestione degli errori

Durante la chiamata all'API, in caso di errore, l'API restituirà un codice di errore e un messaggio corrispondente. Ad esempio:

* `400 token_mismatched`: richiesta errata, probabilmente per parametri mancanti o non validi.
* `400 api_not_implemented`: richiesta errata, probabilmente per parametri mancanti o non validi.
* `401 invalid_token`: non autorizzato, token di autorizzazione mancante o non valido.
* `429 too_many_requests`: troppe richieste, superato il limite di frequenza.
* `500 api_error`: errore interno del server, si è verificato un problema sul server.

### Esempio di risposta di errore

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

## Conclusione

Con questo documento hai appreso come utilizzare l'API Midjourney Shorten per analizzare e sintetizzare i Prompt. Si consiglia di combinare questa API con Midjourney Imagine API: prima ottenere più prompt candidati sintetizzati con Shorten API, quindi scegliere quello più adatto da passare a Imagine API per generare l’immagine. Per qualsiasi domanda, non esitare a contattare il nostro team di supporto tecnico.
