English | 简体中文 | 繁體中文 | 日本語 | Español | Français | Русский | Deutsch
Flux-API-Worker est un service de génération d'images IA déployé sur Cloudflare Worker. Il utilise le modèle Flux fourni par Cloudflare pour générer des images et offre une interface API efficace pour traiter les requêtes. Ce service peut être facilement intégré dans diverses applications pour fournir aux utilisateurs de puissantes capacités de génération d'images IA. ✨🖼️🚀
- 🎨 Génération d'images à partir de prompts personnalisés
- 🌐 Fonction d'optimisation des prompts en option
- 📐 Prise en charge de plusieurs tailles et ratios d'image prédéfinis
- 💾 Stockage des images générées avec Cloudflare KV
- 🔄 Prise en charge des réponses en continu (streaming) et non-streaming
- 🔒 Messages système intégrés pour assurer une qualité de sortie cohérente
- 🌍 Prise en charge du partage de ressources entre origines (CORS)
- Connectez-vous à votre compte Cloudflare et accédez à la page Workers. 👨💻👩💻
- Cliquez sur le bouton "Créer un service". 🆕
- Nommez votre Worker, par exemple "flux-api". ✏️
- Collez le code du Worker fourni dans l'éditeur. 📋
- Cliquez sur le bouton "Enregistrer et déployer". 🚀
Dans la page des paramètres du Worker, trouvez la section "Variables d'environnement" et ajoutez les variables suivantes :
Nom de la variable | Description | Type | Exemple | Valeur par défaut |
---|---|---|---|---|
API_KEY |
Clé d'authentification API 🔐 | Chaîne | "votre-clé-api-complexe-ici" |
- |
CF_ACCOUNT_ID |
ID du compte Cloudflare 🆔 | Chaîne | "1a2b3c4d5e6f7g8h9i0j" |
- |
CF_API_TOKEN |
Jeton API Cloudflare 🎟️ | Chaîne | "votre-jeton-api-cloudflare" |
- |
PROMPT_OPTIMIZATION |
Activer l'optimisation du prompt 🌐 | Chaîne | "true" ou "false" |
- |
EXTERNAL_API_BASE |
URL de base de l'API externe 🔗 | Chaîne | "https://api.service-externe.com" |
- |
EXTERNAL_MODEL |
Nom du modèle d'optimisation externe 🤖 | Chaîne | "gpt-3.5-turbo" |
- |
EXTERNAL_API_KEY |
Clé d'accès pour l'API externe 🗝️ | Chaîne | "votre-clé-api-externe" |
- |
FLUX_NUM_STEPS |
Nombre d'étapes pour le modèle Flux 🚶 | Entier | "4" |
4 |
IMAGE_EXPIRATION |
Durée d'expiration des images dans KV (secondes) ⏳ | Entier | "1800" |
1800 |
Assurez-vous de configurer correctement ces variables dans les paramètres des variables d'environnement de votre Cloudflare Worker. Pour les variables ayant des valeurs par défaut, vous pouvez conserver ces valeurs si aucun changement n'est nécessaire. 🔧✅
Note : Pour des raisons de sécurité, définissez une chaîne complexe pour
API_KEY
. Elle sera utilisée pour valider la légitimité des appels API. 🔒🛡️
- Dans le tableau de bord Cloudflare, allez sur la page "Workers". 🖥️
- Cliquez sur l'onglet "KV". 📑
- Créez un nouvel espace de noms appelé "FLUX_CF_KV". 🆕
- Dans les paramètres du Worker, liez cet espace de noms KV à la variable
FLUX_CF_KV
. 🔗
L'accès à la racine du Worker (https://<nom_de_votre_worker>.<votre_sous-domaine>.workers.dev/
) affichera une page d'accueil confirmant que le service API est opérationnel. ✅🏠
Point d'accès principal pour la génération d'images :
https://<nom_de_votre_worker>.<votre_sous-domaine>.workers.dev/v1/chat/completions
🎨✨
Pour obtenir des informations sur les modèles disponibles :
https://<nom_de_votre_worker>.<votre_sous-domaine>.workers.dev/v1/models
Ce point d'accès renvoie des informations sur le modèle Flux actuellement utilisé. 🤖📊
Pour récupérer une image générée :
https://<nom_de_votre_worker>.<votre_sous-domaine>.workers.dev/image/{image_key}
📥🎭
Envoyez une requête POST au point d'accès de complétion de chat avec le format suivant :
{
"messages": [
{
"role": "user",
"content": "Un chat mignon 3:2"
}
],
"stream": false
}
Les en-têtes de requête doivent inclure :
Authorization: Bearer VOTRE_CLE_API
Content-Type: application/json
Important : Remplacez
VOTRE_CLE_API
par la valeur deAPI_KEY
que vous avez définie dans les variables d'environnement. 🔑🔄
Si vous souhaitez recevoir une réponse en continu, définissez le paramètre stream
sur true
:
{
"messages": [
{
"role": "user",
"content": "Un chat mignon 3:2"
}
],
"stream": true
}
Les réponses en continu seront renvoyées au format Server-Sent Events (SSE), permettant d'obtenir la progression de la génération en temps réel. ⚡🔄
Flux-API-Worker prend en charge les tailles et ratios d'image prédéfinis suivants :
- 1:1 (1024x1024) - Taille par défaut 🟦
- 1:2 (512x1024) 📱
- 3:2 (768x512) 🖼️
- 3:4 (768x1024) 📱
- 16:9 (1024x576) 🖥️
- 9:16 (576x1024) 📱
Pour spécifier une taille particulière, ajoutez simplement le ratio correspondant après le prompt, par exemple :
"Un chat mignon 16:9"
Si aucune taille n'est spécifiée, le système générera par défaut une image de 1:1 (1024x1024). 🎛️🔧
Flux-API-Worker prend en charge CORS, permettant l'accès à l'API depuis des applications web sur différents domaines. Cela signifie que vous pouvez appeler l'API directement depuis des applications JavaScript frontend sans rencontrer de problèmes de cross-origin. 🔗🚫🚧
Flux-API-Worker peut être facilement intégré dans diverses applications telles que NextWeb, ChatBox, etc. Lors de la configuration dans ces applications :
- Définissez l'adresse API sur l'URL de votre Worker (point d'accès de complétion de chat). 🔗
- Entrez l'API KEY que vous avez définie. 🔑
- Inutile de tenir compte des paramètres System Message fournis par l'application, car le Flux-API-Worker utilise un System Message intégré. 💬🚫
Note : Flux-API-Worker a supprimé la fonctionnalité de contexte, chaque appel générera une nouvelle image unique. 🆕🖼️
Exemple de réponse non-streaming :
{
"id": "chatcmpl-1234567890",
"created": 1677649420,
"model": "@cf/black-forest-labs/flux-1-schnell",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "🎨 Prompt original : Un chat mignon 3:2\n💬 Modèle de génération de prompt : Original Prompt\n🌐 Prompt optimisé : Un chat mignon\n📐 Spécifications de l'image : 768x512\n🌟 Image générée avec succès !\nVoici le résultat :\n\n"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 100,
"total_tokens": 120
}
}
- Assurez-vous que toutes les variables d'environnement nécessaires sont correctement configurées. ✅🔧
- La clé API doit être conservée en sécurité et ne pas être exposée dans le code client. 🔒🙈
- Les images ont une durée d'expiration dans le stockage KV (30 minutes par défaut), sauvegardez rapidement les images importantes. ⏳💾
- Si la fonctionnalité d'optimisation des prompts est activée, assurez-vous que l'API externe est correctement configurée. 🌐🔧
- Lors de l'utilisation des réponses en continu, assurez-vous que votre client peut traiter correctement les Server-Sent Events. 🌊📡
- En cas d'erreur d'autorisation, vérifiez que la clé API est correctement définie et utilisée. 🔑❓
- Si la génération d'image échoue, vérifiez que le jeton API Cloudflare a les bonnes permissions. 🎟️🔍
- Si l'optimisation des prompts ne fonctionne pas, vérifiez que
PROMPT_OPTIMIZATION
est réglé sur 'true' et que l'API externe est correctement configurée. 🌐🔧 - Si vous recevez une erreur 404, assurez-vous d'accéder au bon chemin de point d'accès. 🔍🚷
- Pour d'autres erreurs, consultez les logs du Worker pour obtenir des informations d'erreur plus détaillées. 📋🔬
Vous pouvez modifier le code du Worker pour optimiser davantage les fonctionnalités de l'API, par exemple :
- Ajuster les tailles et ratios d'image pris en charge 📏✂️
- Modifier les messages système intégrés pour changer le comportement de génération de prompts 💬🔄
- Ajouter des mécanismes supplémentaires de gestion des erreurs et de journalisation 🚨📊
- Implémenter des limites de taux personnalisées ou d'autres mesures de sécurité 🛡️⏱️
J'espère que ce README vous aidera à déployer et utiliser rapidement Flux-API-Worker. Si vous avez des questions ou besoin d'aide supplémentaire, n'hésitez pas à me contacter. 💌👨💻👩💻
Si vous trouvez ce repo utile, n'hésitez pas à lui donner une étoile. ⭐⭐⭐ Merci !