Tutoriel
Comment utiliser l'API Imagen 4 ? Générez votre première image en 5 minutes
Comment choisir entre les trois versions (Fast / Standard / Ultra), exemples curl et Python, tableau des paramètres et erreurs courantes, tout opérationnel en 5 minutes avec HiAPI /v1/tasks.
- Modèle
- imagen-4
TL;DR
- Imagen 4 (
imagen-4.0) est un modèle de génération d'images à partir de texte, à 0,06 $ l'image : il suffit d'écrire un prompt et de choisir le format pour obtenir une image, idéal pour le portrait photographique, les gros plans nature et les natures mortes de produits. Ouvrez la page du modèle pour tester en ligne ; les nouveaux utilisateurs reçoivent 200 crédits à l'inscription. - La même gamme compte deux autres versions :
imagen-4.0-fastà 0,03 $ l'image pour multiplier les essais, etimagen-4.0-ultraà 0,09 $ l'image pour les détails de la version finale. - L'appel passe par l'interface HiAPI
/v1/tasks: soumettez la tâche pour obtenir untaskId, puis interrogez le résultat ; une fois le succès confirmé, téléchargez l'image depuisoutput[0].url.
Ce qu'il sait faire
- Génération directe à partir du texte : aucune image de référence n'est acceptée, le contenu est entièrement décrit par le prompt, et
aspect_ratioest obligatoire (six valeurs : 1:1, 16:9, 9:16, 3:4, 4:3, auto). - Trois positions dans une seule gamme : Fast pour les essais, la version standard pour la production quotidienne, Ultra pour affiner les détails ; les trois ID de modèle s'utilisent par étapes dans un même projet.
- Toujours 1 image par appel : pas de paramètre de nombre d'images, de taille en pixels ni de format de sortie ; pour relancer, changez le
seed.
Voici un résultat réel de la version standard :
Sunlit Scandinavian living room with linen sofa; oak shelves and a monstera plant; editorial interior photography
(En français : salon scandinave baigné de soleil, canapé en lin, étagères en chêne et un monstera ; photographie d'intérieur façon magazine. Format choisi : 16:9.)

imagen-4.0, 16:9, 1280×720, 0,06 $.
Comment choisir entre les trois modèles
imagen-4.0-fast |
imagen-4.0 (standard) |
imagen-4.0-ultra |
|
|---|---|---|---|
| Par image | 0,03 $ | 0,06 $ | 0,09 $ |
| Positionnement | Essais en masse, exploration de directions | Production quotidienne | Détails de la version finale, matières et mise en page du texte |
| Environ pour 10 $ | 333 images | 166 images | 111 images |
| Idéal pour | Réunions de sélection, séries de croquis | Livraison d'images courantes | Validation finale, visuels sensibles aux détails |
Repère budgétaire : en restant uniquement sur la version standard, 1 000 images par mois coûtent environ 60,00 $ ; plus vous déplacez les essais vers Fast, plus la facture baisse, en réservant Ultra aux validations finales.
Les trois modèles s'appellent de la même façon, il suffit de changer le champ model ; la structure des paramètres est identique, seul le type de seed diffère (voir le tableau des paramètres). Fast et Ultra disposent chacun d'un tutoriel d'intégration en anglais : Imagen 4 Fast API guide, Imagen 4 Ultra API guide. Pour choisir des prompts selon le cas d'usage, consultez le recueil de prompts ; pour le tableau tarifaire complet des trois versions et le budget mensuel, voir la page tarifs, et pour deux séries de comparaisons à prompt identique avec Nano Banana 2.1, voir la page comparative.
Deux parcours de prise en main
Navigateur en 3 étapes : ouvrez la page du modèle → collez le prompt, choisissez le format → cliquez sur générer, 0,06 $ par image en version standard. Pour la première fois, générez une image dans le navigateur afin de vérifier que le style correspond à vos attentes, puis passez au code.
API en 3 étapes : POST /v1/tasks pour soumettre → récupérez le taskId → GET /v1/tasks/<taskId> jusqu'au statut success, puis téléchargez.
curl : la première image
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: your-unique-key-001" \
-d '{
"model": "imagen-4.0",
"input": {
"prompt": "Sunlit Scandinavian living room with linen sofa; oak shelves and a monstera plant; editorial interior photography",
"aspect_ratio": "16:9"
}
}'
Pour changer de version, modifiez uniquement model : imagen-4.0-fast ou imagen-4.0-ultra. Le taskId renvoyé sert de justificatif pour la consultation.
Python : soumission, interrogation, téléchargement
import time, uuid, requests
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"model": "imagen-4.0",
"input": {
"prompt": "Sunlit Scandinavian living room with linen sofa; oak shelves and a monstera plant; editorial interior photography",
"aspect_ratio": "16:9",
},
}
# Soumission : avec Idempotency-Key, une nouvelle tentative réseau ne crée pas de tâche en double
resp = requests.post(
BASE,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json=payload,
timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]
# Interrogation : queued -> handling -> archiving -> success / fail
while True:
task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
print(task["status"])
if task["status"] in ("success", "fail"):
break
time.sleep(3)
if task["status"] == "success":
image_url = task["output"][0]["url"] # adresse temporaire, téléchargez et sauvegardez rapidement
img = requests.get(image_url, timeout=60)
with open("output_image", "wb") as f: # nommez l'extension selon le format réellement renvoyé
f.write(img.content)
print("saved")
Tableau des paramètres
| Champ | Obligatoire | Valeurs | Description |
|---|---|---|---|
prompt |
Oui | 1–5000 caractères | Description du contenu de l'image |
aspect_ratio |
Oui | 1:1 / 16:9 / 9:16 / 3:4 / 4:3 / auto | Format de sortie, obligatoire |
negative_prompt |
Non | ≤5000 caractères | Contenu à éviter |
seed |
Non | Standard et Ultra : chaîne (≤500 caractères) ; Fast : entier | Mêmes paramètres et même seed pour reproduire l'image |
Les trois modèles partagent le même tableau de paramètres. La présence d'un champ hors tableau dans le corps de la requête entraîne directement une erreur 400.
Les erreurs que vous rencontrerez
| Code de statut | Signification | Que faire |
|---|---|---|
| 400 INVALID_REQUEST | Corps de requête invalide (prompt ou aspect_ratio manquant, valeur d'énumération erronée, champ hors tableau) |
Corrigez le corps de la requête d'après le tableau des paramètres |
| 402 INSUFFICIENT_QUOTA | Solde insuffisant (aucun débit) | Rechargez puis réessayez |
| 429 RATE_LIMITED | Limitation de débit déclenchée | Réduisez la fréquence de soumission |
| 409 / 422 IDEMPOTENCY_KEY_* | Soumission en double avec la même clé d'idempotence (en cours de traitement / paramètres incohérents) | Utilisez un nouveau Idempotency-Key |
| 415 UNSUPPORTED_MEDIA_TYPE | Format de requête incorrect | Vérifiez Content-Type: application/json |
Si une tâche échoue à l'état final, d'autres codes d'erreur existent comme CONTENT_POLICY_VIOLATION, TASK_FAILED, TASK_TIMEOUT, etc. ; un échec n'est pas facturé, les crédits prélevés sont intégralement remboursés.
À vérifier avant la mise en production
- Callback : passez
"callback": {"url": "https://..."}au niveau supérieur du corps de la requête ; la tâche notifiera votre service à l'état final, ce qui évite l'interrogation répétée. - Sauvegardez rapidement :
output[0].urlest une adresse temporaire, téléchargez-la dès réception et stockez-la dans votre propre stockage. - Indiquez explicitement le format :
aspect_ratioest obligatoire, ne comptez pas sur une valeur par défaut ; pour du contenu vertical pour les réseaux sociaux, choisissez 9:16. - Le type de seed dépend du modèle : entier pour Fast, chaîne pour la version standard et Ultra.
Questions fréquentes
Les trois modèles s'appellent-ils de la même façon ?
Oui, changez uniquement le champ model, le reste du code ne bouge pas.
Peut-on spécifier une taille en pixels ou un format de sortie ?
Non. Il n'existe pas de paramètre de taille en pixels ni de format ; le format de sortie est déterminé par aspect_ratio, 1 image par appel.
Un échec est-il facturé ?
Non. Les crédits prélevés sont intégralement remboursés après l'état final d'échec.
Le texte dans l'image est-il fiable ?
À vérifier en agrandissant. Les visuels de type affiche comportent parfois une lettre en trop ou un accent manquant ; agrandissez la partie texte et vérifiez-la avant publication.
Peut-on mélanger les trois versions dans un même projet ?
Oui. La logique des prompts et des formats est commune.
Prochaine étape : copiez le prompt du salon ci-dessus pour tester une image sur la page du modèle, puis choisissez des modèles dans le recueil de prompts selon le cas d'usage pour générer en série.
Articles similaires
Voir tous les articles →-
Tutoriel
Comment appeler hailuo-2.3-fast/image-to-video via l'API HiAPI : curl et Python en pratique
La première requête exploitable du palier image-vers-vidéo rapide et économique — de l'ID du modèle au téléchargement du MP4
-
Tutoriel
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
Tutoriel
Utiliser Kandinsky 6.0 Pro texte-vers-vidéo sur HiAPI : tutoriel curl et Python
Démonstration pratique axée sur la requête : construire l'appel du prompt au clip vidéo, soumettre la requête, interroger l'état d'achèvement et télécharger le résultat