Comment tester la génération d'images HiDream-I1 via l'API

Chaque semaine, de nouveaux modèles IA génèrent des images époustouflantes. HiDream-I1-Full est puissant. APIs pratiques et scalables. Ce tuto guide : HiDream-I1-Full, options API.

Louis Dupont

Louis Dupont

5 June 2025

Comment tester la génération d'images HiDream-I1 via l'API

Il semble que chaque semaine, nous ayons de nouveaux modèles de génération d'images par IA capables de créer des visuels époustouflants. L'un de ces modèles puissants est HiDream-I1-Full. Bien que l'exécution de ces modèles en local puisse être gourmande en ressources, l'utilisation d'API offre un moyen pratique et évolutif d'intégrer cette technologie dans vos applications ou flux de travail.

Ce tutoriel vous guidera à travers :

  1. Comprendre HiDream-I1-Full : Ce que c'est et ses capacités.
  2. Options d'API : Explorer deux plateformes populaires proposant HiDream-I1-Full via API : Replicate et Fal.ai.
  3. Tests avec Apidog : Un guide étape par étape sur la façon d'interagir avec et de tester ces API à l'aide de l'outil Apidog.
💡
Vous voulez un excellent outil de test d'API qui génère une belle documentation d'API ?

Vous voulez une plateforme intégrée, tout-en-un, pour que votre équipe de développeurs travaille ensemble avec une productivité maximale ?

Apidog répond à toutes vos demandes et remplace Postman à un prix beaucoup plus abordable !
button

Public cible : Développeurs, designers, passionnés d'IA et toute personne intéressée par l'utilisation de la génération d'images par IA avancée sans configurations locales complexes.

Prérequis :

Qu'est-ce que HiDream-I1-Full ?

HiDream AI : le nouveau roi de la génération d'images par IA ?

HiDream-I1-Full est un modèle de diffusion texte-image avancé développé par HiDream AI. Il appartient à la famille de modèles conçus pour générer des images de haute qualité, cohérentes et esthétiquement plaisantes basées sur des descriptions textuelles (prompts).

Détails du modèle : Vous pouvez trouver la fiche du modèle officielle et plus d'informations techniques sur Hugging Face : https://huggingface.co/HiDream-ai/HiDream-I1-Full

Principales capacités (typiques pour les modèles de cette classe) :

Comparaison des repères de HiDream AI avec GOT-4o, Recraft V3, Google Image 3, Ideogram 3.0 et FLUX (Source : ArtificialAnalysis)

Pourquoi utiliser une API ?

L'exécution de grands modèles d'IA comme HiDream-I1-Full en local nécessite des ressources informatiques importantes (GPU puissants, RAM et stockage importants) et une configuration technique (gestion des dépendances, poids du modèle, configurations de l'environnement). L'utilisation d'une API offre plusieurs avantages :

Comment utiliser HiDream-I1-Full via API

Plusieurs plateformes hébergent des modèles d'IA et fournissent un accès API. Nous nous concentrerons sur deux choix populaires pour HiDream-I1-Full :

Option 1 : Utiliser l'API HiDream de Replicate

Replicate est une plateforme qui facilite l'exécution de modèles d'apprentissage automatique via une simple API, sans avoir besoin de gérer l'infrastructure. Ils hébergent une vaste bibliothèque de modèles publiés par la communauté.

Comment fonctionne Replicate :

  1. Authentification : Vous avez besoin d'un jeton d'API Replicate, que vous pouvez trouver dans les paramètres de votre compte. Ce jeton est transmis dans l'en-tête Authorization.
  2. Démarrage d'une prédiction : Vous envoyez une requête POST au point de terminaison de l'API Replicate pour les prédictions. Le corps de la requête contient la version du modèle et les paramètres d'entrée (comme prompt, negative_prompt, seed, etc.).
  3. Fonctionnement asynchrone : Replicate fonctionne généralement de manière asynchrone. La requête POST initiale renvoie immédiatement un ID de prédiction et des URL pour vérifier l'état.
  4. Obtention des résultats : Vous devez interroger l'URL d'état (fournie dans la réponse initiale) à l'aide de requêtes GET jusqu'à ce que l'état soit succeeded (ou failed). La réponse finale réussie contiendra l'URL (s) de l'image (s) générée (s).

Exemple Python conceptuel (en utilisant requests) :

import requests
import time
import os

REPLICATE_API_TOKEN = "YOUR_REPLICATE_API_TOKEN" # Utilisez des variables d'environnement en production
MODEL_VERSION = "TARGET_MODEL_VERSION_FROM_REPLICATE_PAGE" # par exemple, "9a0b4534..."

# 1. Démarrer la prédiction
headers = {
    "Authorization": f"Token {REPLICATE_API_TOKEN}",
    "Content-Type": "application/json"
}
payload = {
    "version": MODEL_VERSION,
    "input": {
        "prompt": "Une ville cyberpunk majestueuse au coucher du soleil, des néons se reflétant sur des rues mouillées, illustration détaillée",
        "negative_prompt": "laid, déformé, flou, basse qualité, texte, filigrane",
        "width": 1024,
        "height": 1024,
        "seed": 12345
        # Ajoutez d'autres paramètres selon la page du modèle Replicate
    }
}

start_response = requests.post("<https://api.replicate.com/v1/predictions>", json=payload, headers=headers)
start_response_json = start_response.json()

if start_response.status_code != 201:
    print(f"Erreur lors du démarrage de la prédiction : {start_response_json.get('detail')}")
    exit()

prediction_id = start_response_json.get('id')
status_url = start_response_json.get('urls', {}).get('get')

print(f"Prédiction démarrée avec l'ID : {prediction_id}")
print(f"URL d'état : {status_url}")

# 2. Interroger les résultats
output_image_url = None
while True:
    print("Vérification de l'état...")
    status_response = requests.get(status_url, headers=headers)
    status_response_json = status_response.json()

    status = status_response_json.get('status')
    if status == 'succeeded':
        output_image_url = status_response_json.get('output') # Généralement une liste d'URL
        print("Prédiction réussie !")
        print(f"Sortie : {output_image_url}")
        break
    elif status == 'failed' or status == 'canceled':
        print(f"Prédiction échouée ou annulée : {status_response_json.get('error')}")
        break
    elif status in ['starting', 'processing']:
        # Attendre avant de réinterroger
        time.sleep(5) # Ajustez l'intervalle d'interrogation selon les besoins
    else:
        print(f"État inconnu : {status}")
        print(status_response_json)
        break

# Maintenant, vous pouvez utiliser l'output_image_url

Tarification : Replicate facture en fonction du temps d'exécution du modèle sur leur matériel. Consultez leur page de tarification pour plus de détails.

Option 2 : Fal.ai

Fal.ai est une autre plateforme axée sur la fourniture d'inférence rapide, évolutive et rentable pour les modèles d'IA via des API. Ils mettent souvent l'accent sur les performances en temps réel.

Comment fonctionne Fal.ai :

  1. Authentification : Vous avez besoin des informations d'identification de l'API Fal (ID de clé et Secret de clé, souvent combinés sous la forme KeyID:KeySecret). Ceci est transmis dans l'en-tête Authorization, généralement sous la forme Key YourKeyID:YourKeySecret.
  2. Point de terminaison de l'API : Fal.ai fournit une URL de point de terminaison directe pour la fonction de modèle spécifique.
  3. Format de la requête : Vous envoyez une requête POST à l'URL du point de terminaison du modèle. Le corps de la requête est généralement JSON contenant les paramètres d'entrée requis par le modèle (similaire à Replicate : prompt, etc.).
  4. Synchrone vs. Asynchrone : Fal.ai peut offrir les deux. Pour les tâches potentiellement longues comme la génération d'images, ils pourraient utiliser :

Exemple Python conceptuel (en utilisant requests - en supposant une file d'attente asynchrone) :

import requests
import time
import os

FAL_API_KEY = "YOUR_FAL_KEY_ID:YOUR_FAL_KEY_SECRET" # Utilisez des variables d'environnement
MODEL_ENDPOINT_URL = "<https://fal.run/fal-ai/hidream-i1-full>" # Vérifiez l'URL exacte sur Fal.ai

# 1. Soumettre la requête à la file d'attente (Exemple - vérifiez les documents Fal pour la structure exacte)
headers = {
    "Authorization": f"Key {FAL_API_KEY}",
    "Content-Type": "application/json"
}
payload = {
    # Les paramètres sont souvent directement dans la charge utile pour les fonctions sans serveur Fal.ai
    # ou dans un objet 'input' selon la configuration. Vérifiez les documents !
    "prompt": "Un portrait hyperréaliste d'un astronaute flottant dans l'espace, la Terre se reflétant dans la visière du casque",
    "negative_prompt": "dessin animé, dessin, illustration, croquis, texte, lettres",
    "seed": 98765
    # Ajoutez d'autres paramètres pris en charge par l'implémentation Fal.ai
}

# Fal.ai pourrait nécessiter l'ajout de '/queue' ou de paramètres de requête spécifiques pour l'asynchrone
# Exemple : POST <https://fal.run/fal-ai/hidream-i1-full/queue>
# Vérifiez leur documentation ! En supposant un point de terminaison qui renvoie une URL d'état :

submit_response = requests.post(f"{MODEL_ENDPOINT_URL}", json=payload, headers=headers, params={"fal_webhook": "OPTIONAL_WEBHOOK_URL"}) # Vérifiez les documents pour les paramètres de requête comme webhook

if submit_response.status_code >= 300:
    print(f"Erreur lors de la soumission de la requête : {submit_response.status_code}")
    print(submit_response.text)
    exit()

submit_response_json = submit_response.json()

# La réponse asynchrone de Fal.ai pourrait différer - elle pourrait renvoyer un request_id ou une URL d'état directe
# En supposant qu'elle renvoie une URL d'état similaire à Replicate pour cet exemple conceptuel
status_url = submit_response_json.get('status_url') # Ou construire à partir de request_id, vérifiez les documents
request_id = submit_response_json.get('request_id') # Autre identifiant

if not status_url and request_id:
     # Vous devrez peut-être construire l'URL d'état, par exemple, <https://fal.run/fal-ai/hidream-i1-full/requests/{request_id}/status>
     # Ou interroger un point de terminaison d'état générique : <https://fal.run/requests/{request_id}/status>
     print("Besoin de construire l'URL d'état ou d'utiliser request_id, vérifiez la documentation Fal.ai.")
     exit() # Nécessite une implémentation spécifique basée sur les documents Fal

print(f"Requête soumise. URL d'état : {status_url}")

# 2. Interroger les résultats (si asynchrone)
output_data = None
while status_url: # Interrogez uniquement si nous avons une URL d'état
    print("Vérification de l'état...")
    # L'interrogation pourrait également nécessiter une authentification
    status_response = requests.get(status_url, headers=headers)
    status_response_json = status_response.json()

    status = status_response_json.get('status') # Vérifiez les documents Fal.ai pour les clés d'état ('COMPLETED', 'FAILED', etc.)

    if status == 'COMPLETED': # Exemple d'état
        output_data = status_response_json.get('response') # Ou 'result', 'output', vérifiez les documents
        print("Requête terminée !")
        print(f"Sortie : {output_data}") # La structure de la sortie dépend du modèle sur Fal.ai
        break
    elif status == 'FAILED': # Exemple d'état
        print(f"Requête échouée : {status_response_json.get('error')}") # Vérifiez le champ d'erreur
        break
    elif status in ['IN_PROGRESS', 'IN_QUEUE']: # Exemples d'états
        # Attendre avant de réinterroger
        time.sleep(3) # Ajustez l'intervalle d'interrogation
    else:
        print(f"État inconnu : {status}")
        print(status_response_json)
        break

# Utilisez les output_data (qui pourraient contenir des URL d'images ou d'autres informations)

Tarification : Fal.ai facture généralement en fonction du temps d'exécution, souvent avec une facturation à la seconde. Consultez leurs détails de tarification pour le modèle spécifique et les ressources de calcul.

Tester l'API HiDream avec Apidog

Apidog est un puissant outil de conception, de développement et de test d'API. Il fournit une interface conviviale pour envoyer des requêtes HTTP, inspecter les réponses et gérer les détails de l'API, ce qui le rend idéal pour tester les API Replicate et Fal.ai avant de les intégrer dans le code.

button

Étapes pour tester l'API HiDream-I1-Full à l'aide d'Apidog :

Étape 1. Installer et ouvrir Apidog : Téléchargez et installez Apidog ou utilisez sa version web. Créez un compte si nécessaire.

Étape 2. Créer une nouvelle requête :

Étape 3. Définir la méthode HTTP et l'URL :

Étape 4. Configurer les en-têtes :

Ajoutez l'en-tête Content-Type :

Ajoutez l'en-tête Authorization :

Pour Replicate :

Pour Fal.ai :

Étape 5. Configurer le corps de la requête :

Accédez à l'onglet Body.

Sélectionnez le format raw et choisissez JSON dans le menu déroulant.

Collez la charge utile JSON en fonction des exigences de la plateforme.

Exemple de corps JSON pour Replicate :

{
  "version": "PASTE_MODEL_VERSION_FROM_REPLICATE_PAGE_HERE",
  "input": {
    "prompt": "Une peinture à l'aquarelle d'un coin de bibliothèque confortable avec un chat endormi",
    "negative_prompt": "photorealistic, 3d render, bad art, deformed",
    "width": 1024,
    "height": 1024,
    "seed": 55555
  }
}

Exemple de corps JSON pour Fal.ai

{
  "prompt": "Une peinture à l'aquarelle d'un coin de bibliothèque confortable avec un chat endormi",
  "negative_prompt": "photorealistic, 3d render, bad art, deformed",
  "width": 1024,
  "height": 1024,
  "seed": 55555
  // D'autres paramètres comme 'model_name' pourraient être nécessaires selon la configuration de Fal.ai
}

Important : Reportez-vous à la documentation spécifique sur les pages Replicate ou Fal.ai pour les paramètres exacts requis et facultatifs pour la version du modèle HiDream-I1-Full que vous utilisez. Des paramètres tels que guidance_scale, num_inference_steps, etc., pourraient être disponibles.

Étape 6. Envoyer la requête :

Interroger les résultats (pour les API asynchrones) :

Afficher l'image : Copiez l'URL de l'image à partir de la réponse finale réussie et collez-la dans votre navigateur web pour afficher l'image générée.

💡
Vous voulez un excellent outil de test d'API qui génère une belle documentation d'API ?

Vous voulez une plateforme intégrée, tout-en-un, pour que votre équipe de développeurs travaille ensemble avec une productivité maximale ?

Apidog répond à toutes vos demandes et remplace Postman à un prix beaucoup plus abordable !
button

Conclusion

HiDream-I1-Full offre de puissantes capacités de génération d'images, et l'utilisation d'API à partir de plateformes comme Replicate ou Fal.ai rend cette technologie accessible sans gérer d'infrastructure complexe. En comprenant le flux de travail de l'API (requête, interrogation potentielle, réponse) et en utilisant des outils comme Apidog pour les tests, vous pouvez facilement expérimenter et intégrer la génération d'images par IA de pointe dans vos projets.

N'oubliez pas de consulter toujours la documentation spécifique sur Replicate et Fal.ai pour les URL de point de terminaison les plus récentes, les paramètres requis, les méthodes d'authentification et les détails de tarification, car ceux-ci peuvent changer au fil du temps. Bonne génération !

Explore more

Fathom-R1-14B : Modèle de raisonnement IA avancé d'Inde

Fathom-R1-14B : Modèle de raisonnement IA avancé d'Inde

L'IA en expansion rapide. Fathom-R1-14B (14,8 milliards de paramètres) excelle en raisonnement mathématique et général, conçu par Fractal AI Research.

5 June 2025

Mistral Code : L'assistant de codage le plus personnalisable basé sur l'IA pour les entreprises

Mistral Code : L'assistant de codage le plus personnalisable basé sur l'IA pour les entreprises

Découvrez Mistral Code, l'IA d'aide au code la plus personnalisable pour les entreprises.

5 June 2025

Comment Claude Code transforme le codage de l'IA en 2025

Comment Claude Code transforme le codage de l'IA en 2025

Découvrez Claude Code en 2025 : codage IA révolutionné. Fonctionnalités, démo, et pourquoi il gagne du terrain après Windsurf d'Anthropic. Indispensable !

5 June 2025

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API