Tutoriel
Comment utiliser l'API Krea 3 ? Générez votre première image en 5 minutes
Krea 3 ou Krea 2 Medium Turbo : comment choisir, exemples curl / Python, tableau des paramètres et messages d'erreur bruts.
TL;DR
- Krea 3 (
krea-3/text-to-image) est un modèle de génération d'images à partir de texte : une simple description produit des photos réalistes, des illustrations et des concept arts ; avant de générer, il comprend et enrichit le prompt. Deux variantes au même prix : berry (priorité à la qualité, par défaut) / jam (priorité à la vitesse), commutables viavariant. Ouvrez la page du modèle pour l'essayer ; les nouveaux utilisateurs reçoivent 200 crédits à l'inscription. - Tarif à l'image : Krea 3 à $0.036 ; dans la même famille, Krea 2 Medium Turbo (
krea-2-medium-turbo) est plus économique à $0.0215 (tableau tarifaire complet sur la page des prix). - L'appel passe par l'endpoint HiAPI
/v1/tasks: soumettez la tâche pour obtenir untaskId, puis interrogez le résultat ; en cas de succès, téléchargez l'image depuisoutput[0].url.
Ce qu'il sait faire
- Une seule phrase suffit pour une image complète : avant de générer, le modèle raisonne et enrichit le prompt ; même
a lighthousesera complété avec l'heure, la lumière et la composition ; si vous êtes précis, il suit votre description. - Deux variantes berry / jam sous un même ID : basculez avec
variant, paramètres et prix strictement identiques ; avec le même seed, les deux diffèrent en composition et en teintes : lancez chacune une fois et choisissez entre deux propositions. - 6 formats prédéfinis jusqu'à 1K : carré, portrait et paysage, 6 au total (de 1024×1024 à 1024×576), sortie en PNG ou JPEG.
- Des affiches avec texte de titre aussi : placez le texte entre guillemets, les titres courts sont généralement fidèles.
Voici un résultat réel de berry :
Studio product photograph of a frosted glass perfume bottle with a brushed brass cap standing on a block of travertine, hard afternoon sunlight casting a long palm-leaf shadow across a warm beige wall, crisp reflections, high-end editorial look
(En français : photographie produit en studio : flacon de parfum en verre dépoli avec bouchon en laiton brossé, posé sur un bloc de travertin, lumière dure d'après-midi projetant la longue ombre d'une feuille de palmier sur un mur beige chaud, reflets nets, rendu éditorial haut de gamme. Format par défaut square_hd.)

krea-3/text-to-image, berry, square_hd, 1024×1024, $0.036.
Comment choisir entre les deux modèles
krea-3/text-to-image (Krea 3) |
krea-2-medium-turbo (Krea 2 Medium Turbo) |
|
|---|---|---|
| Par image | $0.036 | $0.0215 |
| Format | 6 préréglages (max 1024×1024), pas de taille personnalisée | aspect_ratio 8 ratios, dont le format cinéma 2.35:1 |
| Paramètres spécifiques | variant (berry/jam), reasoning_level (enrichissement par raisonnement), negative_prompt (berry uniquement) |
creativity 4 niveaux (raw/low/medium/high) |
| Traitement du prompt | Raisonnement et enrichissement avant génération ; même une phrase courte produit une image complète | Rendu direct d'après le texte ; plus vous êtes précis, plus le résultat l'est |
| Idéal pour | Images finalisées, exploration rapide avec des prompts courts, affiches avec texte | Génération en série, compositions larges, production quotidienne à budget maîtrisé |
Les deux modèles peuvent se combiner : Krea 2 pour les ébauches et la direction, Krea 3 pour la version finale ; une ébauche plus une version finale coûtent $0.0575. Pour choisir un prompt selon le cas d'usage, consultez le guide complet des prompts.
Deux parcours pour démarrer
Navigateur en 3 étapes : ouvrez la page du modèle → collez le prompt, choisissez le format → cliquez sur générer, $0.036 l'image.
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": "krea-3/text-to-image",
"input": {
"prompt": "Studio product photograph of a frosted glass perfume bottle with a brushed brass cap standing on a block of travertine, hard afternoon sunlight casting a long palm-leaf shadow across a warm beige wall, crisp reflections, high-end editorial look",
"image_size": "square_hd",
"variant": "berry",
"reasoning_level": "medium"
}
}'
Pour passer à Krea 2 Medium Turbo, modifiez uniquement model et les champs input :
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "krea-2-medium-turbo",
"input": {
"prompt": "Futuristic city skyline at dusk, neon reflections on wet streets, cinematic widescreen",
"aspect_ratio": "2.35:1",
"creativity": "low"
}
}'
Le taskId renvoyé sert de référence pour la requête de résultat.
Python : soumettre, interroger, télécharger
import time, uuid, requests
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"model": "krea-3/text-to-image",
"input": {
"prompt": "Studio product photograph of a frosted glass perfume bottle with a brushed brass cap standing on a block of travertine, hard afternoon sunlight casting a long palm-leaf shadow across a warm beige wall, crisp reflections, high-end editorial look",
"image_size": "square_hd",
"variant": "berry",
"reasoning_level": "medium",
},
}
# 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 (krea-3/text-to-image)
| Champ | Obligatoire | Valeurs | Description |
|---|---|---|---|
prompt |
Oui | 1–5000 caractères | Description de l'image ; plus vous êtes précis, plus le résultat suit la description |
image_size |
Non | square_hd / square / portrait_4_3 / portrait_16_9 / landscape_4_3 / landscape_16_9, square_hd par défaut | Préréglage de format, max 1024×1024 ; ni auto ni largeur/hauteur personnalisées |
variant |
Non | berry / jam, berry par défaut | berry privilégie la qualité, jam la vitesse ; même prix |
reasoning_level |
Non | low / medium, medium par défaut | Degré d'enrichissement du prompt par raisonnement ; medium pour les prompts courts, low quand vous êtes précis |
negative_prompt |
Non | ≤1024 caractères | Éléments à éviter ; effectif uniquement avec berry |
output_format |
Non | png / jpeg, png par défaut | Format de sortie |
seed |
Non | entier 0–2147483647 | Reproductibilité au sein d'une même variante ; berry et jam ne se reproduisent pas mutuellement |
Les champs de Krea 2 Medium Turbo sont différents : prompt (obligatoire), aspect_ratio (8 valeurs, 1:1 par défaut), creativity (raw/low/medium/high, low par défaut), seed. Tout champ hors tableau dans le corps de la requête renvoie directement 400.
Les erreurs que vous rencontrerez (messages bruts de l'API)
| Ce que vous avez fait | Réponse |
|---|---|
image_size défini sur auto |
400 invalid input: image_size: value must be one of 'square_hd', 'square', 'portrait_4_3', 'portrait_16_9', 'landscape_4_3', 'landscape_16_9' |
Champ hors tableau (ex. num_images) |
400 invalid input: <root>: additional properties 'num_images' not allowed |
prompt vide |
400 invalid input: prompt: minLength: got 0, want 1 |
variant mal orthographié |
400 invalid input: variant: value must be one of 'berry', 'jam' |
| Solde insuffisant | 402 insufficient account balance; top up and retry |
Les requêtes échouant à la validation des paramètres ne sont pas facturées. Soumettre à nouveau avec le même Idempotency-Key renvoie 409 (en cours de traitement) ou 422 (paramètres incohérents) ; réessayez avec une nouvelle clé.
À vérifier avant la mise en production
- Callback : passez au niveau supérieur du corps de la requête
"callback": {"url": "https://..."}; une fois la tâche dans un état final, votre service est notifié, ce qui évite l'interrogation répétée. - Sauvegardez sans tarder :
output[0].urlest une adresse temporaire ; téléchargez et stockez l'image dès réception. - Seulement 6 formats : pour du 2.35:1 cinéma ou davantage de ratios, utilisez
aspect_ratiode Krea 2 Medium Turbo. - Le seed ne se reproduit qu'au sein d'une variante : berry et jam avec le même seed donnent des images différentes ; pour une série, fixez variant + seed.
Questions fréquentes
Un prompt court suffit-il pour générer une image ?
Oui. Le modèle raisonne et enrichit le prompt : a lighthouse suffit à produire une image complète ; pour maîtriser les détails, soyez plus précis dans le prompt.
berry et jam ne diffèrent-elles que par la vitesse ?
Pas seulement. Avec le même seed, composition et teintes diffèrent, pour une qualité comparable : lancez les deux et choisissez.
Le negative_prompt agit-il sur les deux variantes ?
Uniquement sur berry ; transmis à jam, il n'a aucun effet.
Combien d'images par requête ?
Une seule image par requête. Pour en obtenir plusieurs, soumettez plusieurs tâches ou relancez avec un autre seed.
Combien d'images pour $10 ?
Krea 3 coûte $0.036 l'image, soit environ 277 images. Les nouveaux utilisateurs reçoivent 200 crédits à l'inscription (1 dollar = 2 000 crédits).
Prochaine étape : reprenez le prompt du flacon de parfum pour tester une image sur la page du modèle, puis piochez des modèles dans le guide complet des prompts selon votre cas d'usage.
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