Utilisation de l'API Web pour FLUX [pro] : le dernier modèle d'IA de génération d'images par l'équipe originale de Stable Diffusion

Mary-Kate Olsen
Libérer: 2024-10-20 12:38:02
original
454 Les gens l'ont consulté

Introduction

Auparavant, j'ai écrit un article intitulé « Exécuter le modèle d'IA de génération d'images FLUX.1 ([dev]/[schnell]) par les développeurs originaux de Stable Diffusion sur un MacBook (M2)." Il a présenté le modèle de génération d'images FLUX.1 de Black Forest Labs, fondé par les créateurs de Stable Diffusion.

Maintenant, deux mois plus tard, FLUX 1.1 [pro] (nom de code Blueberry) a été publié, ainsi que l'accès public à son API Web, bien qu'il soit toujours en version bêta.

Aujourd'hui, nous publions FLUX1.1 [pro], notre modèle le plus avancé et le plus efficace à ce jour, parallèlement à la disponibilité générale de l'API bêta BFL. Cette version marque une avancée significative dans notre mission visant à doter les créateurs, les développeurs et les entreprises d'une technologie générative de pointe et évolutive.

Référence : Annonce de FLUX1.1 [pro] et de l'API BFL - Black Forest Labs

Dans cet article, je vais vous montrer comment utiliser l'API Web FLUX 1.1 [pro].

Tous les exemples de code sont écrits en Python.

Créer un compte et une clé API

Commencez par créer un compte et connectez-vous sur la page API sous l'option S'inscrire.

Les crédits sont au prix de 0,01 $ chacun et j'ai reçu 50 crédits lors de l'inscription (cela peut varier).

Sur la base de la page Tarifs, les coûts du modèle sont les suivants :

  • FLUX 1.1 [pro] : 0,04 $ par image
  • FLUX.1 [pro] : 0,05 $ par image
  • FLUX.1 [dev] : 0,025 $ par image

Une fois connecté, générez une clé API en sélectionnant Ajouter une clé et en saisissant le nom de votre choix.

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Votre clé apparaîtra comme indiqué ci-dessous.

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Configuration de l'environnement

J'utilise macOS 14 Sonoma comme système d'exploitation.

La version Python est :

$ python --version
Python 3.12.2
Copier après la connexion
Copier après la connexion
Copier après la connexion

Pour exécuter l'exemple de code, j'ai installé les requêtes :

$ pip install requests
Copier après la connexion
Copier après la connexion
Copier après la connexion

J'ai confirmé la version installée :

$ pip list | grep -e requests 
requests           2.31.0
Copier après la connexion
Copier après la connexion
Copier après la connexion

Pour éviter le codage en dur, j'ai enregistré la clé API en tant que variable d'environnement en éditant le fichier zshrc.

$ open ~/.zshrc
Copier après la connexion
Copier après la connexion

J'ai nommé la variable d'environnement BFL_API_KEY:

export BFL_API_KEY=<Your API Key Here>
Copier après la connexion
Copier après la connexion

Exemple de code

Vous trouverez ci-dessous l'exemple de code du guide de démarrage, avec quelques commentaires supplémentaires. Idéalement, il devrait gérer les erreurs en utilisant le statut, mais je l'ai laissé inchangé par souci de simplicité.

import os
import requests
import time

# Request
request = requests.post(
    'https://api.bfl.ml/v1/flux-pro-1.1',
    headers={
        'accept': 'application/json',
        'x-key': os.environ.get("BFL_API_KEY"),
        'Content-Type': 'application/json',
    },
    json={
        'prompt': 'A cat on its back legs running like a human is holding a big silver fish with its arms. The cat is running away from the shop owner and has a panicked look on his face. The scene is situated in a crowded market.',
        'width': 1024,
        'height': 768,
    },
).json()
print(request)
request_id = request["id"]

# Wait for completion
while True:
    time.sleep(0.5)
    result = requests.get(
        'https://api.bfl.ml/v1/get_result',
        headers={
            'accept': 'application/json',
            'x-key': os.environ.get("BFL_API_KEY"),
        },
        params={
            'id': request_id,
        },
    ).json()
    if result["status"] == "Ready":
        print(f"Result: {result['result']['sample']}")
        break
    else:
        print(f"Status: {result['status']}")
Copier après la connexion
Copier après la connexion

Dans cet exemple, l'invite est :

Un chat sur ses pattes arrière courant comme un humain tient un gros poisson argenté avec ses bras. Le chat s'enfuit du commerçant et a un air paniqué sur le visage. La scène se situe dans un marché bondé.

Le format du résultat final ressemble à ceci. Le temps de réponse était plus rapide que celui des autres API que j'ai testées.

$ python --version
Python 3.12.2
Copier après la connexion
Copier après la connexion
Copier après la connexion

Le exemple contient l'URL de l'image générée, qui était hébergée sur bflapistorage.blob.core.windows.net lorsque je l'ai testé.

Voici l'image générée :

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Le résultat correspond étroitement à l'invite, capturant le sentiment d'urgence.

Expérimenter avec des invites alternatives

J'ai essayé différentes invites pour générer des images variées.

Héroïne Moe japonaise

Invite : "Héroïne moe japonaise", en utilisant le style anime.

$ pip install requests
Copier après la connexion
Copier après la connexion
Copier après la connexion

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Bonbons d'anime japonais populaire

Invite : "Bonbons qui apparaissent dans les dessins animés japonais populaires", en utilisant le style anime.

$ pip list | grep -e requests 
requests           2.31.0
Copier après la connexion
Copier après la connexion
Copier après la connexion

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Lycéen masculin en voyage scolaire

Invite : "Lycéen en voyage scolaire", en utilisant le style anime.

$ open ~/.zshrc
Copier après la connexion
Copier après la connexion

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Une princesse jouant de la guitare

Invite : "Une princesse jouant de la guitare", en utilisant un style d'art fantastique.

export BFL_API_KEY=<Your API Key Here>
Copier après la connexion
Copier après la connexion

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Une jolie fée sur un ordinateur portable blanc

Invite : "Une jolie fée sur un ordinateur portable blanc", en utilisant un style photographique.

import os
import requests
import time

# Request
request = requests.post(
    'https://api.bfl.ml/v1/flux-pro-1.1',
    headers={
        'accept': 'application/json',
        'x-key': os.environ.get("BFL_API_KEY"),
        'Content-Type': 'application/json',
    },
    json={
        'prompt': 'A cat on its back legs running like a human is holding a big silver fish with its arms. The cat is running away from the shop owner and has a panicked look on his face. The scene is situated in a crowded market.',
        'width': 1024,
        'height': 768,
    },
).json()
print(request)
request_id = request["id"]

# Wait for completion
while True:
    time.sleep(0.5)
    result = requests.get(
        'https://api.bfl.ml/v1/get_result',
        headers={
            'accept': 'application/json',
            'x-key': os.environ.get("BFL_API_KEY"),
        },
        params={
            'id': request_id,
        },
    ).json()
    if result["status"] == "Ready":
        print(f"Result: {result['result']['sample']}")
        break
    else:
        print(f"Status: {result['status']}")
Copier après la connexion
Copier après la connexion

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Femme japonaise de 28 ans aux cheveux noirs coupés

Invite : "Jolie femme japonaise de 28 ans aux cheveux noirs coupés", en utilisant le style photographique.

$ python --version
Python 3.12.2
Copier après la connexion
Copier après la connexion
Copier après la connexion

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Le centre-ville de Hong Kong dans les années 1980

Invite : "Le centre-ville de Hong Kong dans les années 1980", en utilisant le style photographique.

$ pip install requests
Copier après la connexion
Copier après la connexion
Copier après la connexion

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Shinjuku Kabukicho en 2020

Invite : "Shinjuku Kabukicho en 2020", en utilisant le style photographique.

$ pip list | grep -e requests 
requests           2.31.0
Copier après la connexion
Copier après la connexion
Copier après la connexion

Using the Web API for FLUX  [pro]: The Latest Image Generation AI Model by the Original Team of Stable Diffusion

Toutes les images générées étaient d'une qualité exceptionnelle.

Après avoir généré autant d'images IA de haute qualité, la réalité semble presque surréaliste.

Conclusion

Black Forest Labs continue d'innover et d'améliorer ses modèles d'IA.

J'attends avec impatience la future version des capacités de génération vidéo.

Article japonais original

Diffusion stable par AI FLUX 1.1 [pro] avec API Web像を生成してみた

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!