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

# Intégration et utilisation de l'API Midjourney Shorten

> Midjourney generation 集成指南 - XHuoAPI

L'API Midjourney Shorten permet de se connecter à la commande officielle `/shorten` (Analyse de Prompt) de Midjourney, pour analyser un Prompt, identifier les mots-clés les plus importants, et générer 5 prompts candidats plus concis. Cette interface est particulièrement adaptée pour :

* Raccourcir un long Prompt avant d’appeler `imagine`, afin d’améliorer la pertinence de l’image générée ;
* Comprendre inversement la pondération des tokens par Midjourney via les prompts candidats, facilitant l’ingénierie de Prompt ;
* En automatisation, pour regrouper et simplifier les mots-clés des prompts fournis par l’utilisateur.

Ce document détaille la procédure d’intégration de l’API Midjourney Shorten, pour vous aider à l’intégrer facilement.

## Processus de demande

Pour utiliser l’API Midjourney Shorten, il faut d’abord faire une demande sur la page [Midjourney Shorten API](https://api.xhuoapi.ai/documents/f0c6be1d-c084-43ac-bde6-44ef9cf824a2). Sur la page, cliquez sur le bouton « Acquire ».

Si vous n’êtes pas connecté ou inscrit, vous serez automatiquement redirigé vers la [page de connexion](https://api.xhuoapi.ai) pour vous inscrire ou vous connecter. Après connexion, vous serez ramené à cette page.

Une première demande donne droit à un quota gratuit, permettant d’utiliser l’API sans frais.

## Exemple de requête

Prenons un Prompt long pour illustrer comment analyser et simplifier avec cette API.

### Configuration des en-têtes et du corps de la requête

**En-têtes de requête (Request Headers)** :

* `accept` : indique que la réponse doit être en JSON, ici `application/json`.
* `authorization` : clé d’API, à obtenir après demande.

**Corps de la requête (Request Body)** :

* `prompt` : le texte du Prompt à analyser et simplifier, idéalement en anglais.

### Exemple de code

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

### Exemple de réponse

En cas de succès, l’API renvoie jusqu’à 5 prompts candidats plus courts. Par exemple :

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

On remarque que le champ `prompts` contient plusieurs prompts simplifiés, conservant les mots-clés les plus importants selon la pondération de Midjourney, tout en éliminant les descriptions redondantes ou superflues.

## Gestion des erreurs

En cas d’erreur lors de l’appel, l’API retourne un code et un message d’erreur. Exemples :

* `400 token_mismatched` : Requête incorrecte, paramètres manquants ou invalides.
* `400 api_not_implemented` : Fonctionnalité non implémentée ou paramètres invalides.
* `401 invalid_token` : Non autorisé, jeton d’authentification invalide ou manquant.
* `429 too_many_requests` : Limite de requêtes dépassée.
* `500 api_error` : Erreur interne du serveur.

### Exemple de réponse d’erreur

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

## Conclusion

Ce document vous permet de comprendre comment analyser et simplifier un Prompt avec l’API Midjourney Shorten. Il est conseillé de combiner cette API avec l’API Midjourney Imagine : d’abord, utiliser Shorten pour obtenir plusieurs prompts simplifiés, puis choisir le plus adapté pour générer l’image via l’API Imagine. Pour toute question, n’hésitez pas à contacter notre support technique.
