Expansion du prompt pour l’image et la vidéo

· Hyperouter · 3 min de lecture

Les modèles d’image et de vidéo réagissent bien aux prompts longs et précis, et la plupart des gens en écrivent de courts. L’expansion du prompt comble cet écart : avec "prompt_expand": true, Hyperouter réécrit votre prompt pour le modèle avant le rendu. Une image reçoit une description plus complète, et une vidéo un script seconde par seconde.

Elle est désactivée par défaut : un prompt part donc vers le modèle tel que vous l’avez écrit.

Quels modèles l’acceptent

Les modèles d’image et de vidéo Lumina et Qwen qui listent prompt_expand l’acceptent. Des modèles sont ajoutés au fil du temps, vérifiez donc la liste plutôt qu’un article : GET /v1/models renvoie supported_parameters pour chaque modèle, et un modèle qui accepte le champ y liste prompt_expand.

curl https://api.hyperouter.app/v1/models \
  -H "Authorization: Bearer $HYPEROUTER_API_KEY"

Le champ ne fonctionne que pour créer une image ou une vidéo. Sur tout autre modèle, et pour une modification, une extension ou un remix de vidéo, il est refusé avec 400 unsupported_parameter. Il ne peut pas être combiné avec prompt_extend: true, qui est refusé avec 400 invalid_body.

L’activer dans une requête

prompt_expand est un champ de premier niveau des appels de création d’image et de vidéo. Les OpenAI SDK l’envoient comme champ supplémentaire du corps. Qwen Image 2.0 l’accepte :

curl https://api.hyperouter.app/v1/images/generations \
  -H "Authorization: Bearer $HYPEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen/qwen-image-2.0",
    "prompt": "A lighthouse at dusk",
    "prompt_expand": true
  }'

Pour une vidéo, utilisez POST /v1/videos avec le même champ. Un second champ, locale, est une balise BCP 47 telle que zh-CN. Avec prompt_expand, il fixe la langue des répliques d’une vidéo, lorsque le modèle parle cette langue. Sans lui, les répliques sont en anglais.

Voir ce qui a servi au rendu

La réponse contient expanded_prompt, le prompt reçu par le modèle. Votre propre prompt reste inchangé. Le champ figure dans :

Hyperouter conserve expanded_prompt pendant 30 jours après la requête, puis répond null. Il vaut aussi null lorsque rien n’a été étendu.

Stockez expanded_prompt avec vos propres données si vous en avez besoin au-delà de 30 jours.

Ce que cela coûte

La réécriture est facturée sur la même requête, aux prix par token de x-ai/grok-4.6 pour les tokens utilisés. Hyperouter bloque d’avance le maximum que la réécriture peut coûter, avec le rendu, comme pour toute requête, et débite ce qui a été utilisé. Il n’y a pas de second appel.

Une réécriture qui échoue, expire ou ne peut pas être utilisée ne fait pas échouer votre requête. Le modèle effectue le rendu de votre prompt tel que vous l’avez envoyé, la réponse contient expanded_prompt: null, et la réécriture ne coûte rien.

Obtenir l’accès

L’expansion du prompt est disponible pour un compte une fois qu’Hyperouter l’a activée. Pour en demander l’accès, ouvrez un ticket de support dans le tableau de bord.

Tant qu’elle n’est pas activée, GET /v1/models ne liste prompt_expand pour aucun modèle. Une requête avec prompt_expand: true sur un modèle qui le propose répond :

{
  "error": {
    "message": "...",
    "type": "permission_error",
    "code": "feature_not_enabled",
    "param": "prompt_expand"
  }
}

Le statut est 403. Rien n’est bloqué et rien n’est envoyé au fournisseur : la requête refusée ne coûte donc rien. Fiez-vous à code, pas à message.

Et ensuite