English | 简体中文 | 繁體中文 | 日本語 | Español | Français | Русский | Deutsch
Flux-API-Worker - это сервис генерации изображений с помощью ИИ, развернутый на Cloudflare Worker. Он использует модель Flux, предоставляемую Cloudflare, для создания изображений и предлагает эффективный API-интерфейс для обработки запросов. Этот сервис можно легко интегрировать в различные приложения, предоставляя пользователям мощные возможности генерации изображений с помощью ИИ. ✨🖼️🚀
- 🎨 Поддержка пользовательских подсказок для генерации изображений
- 🌐 Опциональная функция оптимизации запросов
- 📐 Поддержка различных предустановленных размеров и соотношений сторон изображений
- 💾 Хранение сгенерированных изображений с использованием Cloudflare KV
- 🔄 Поддержка потоковых и непотоковых ответов
- 🔒 Встроенные системные сообщения для обеспечения стабильного качества вывода
- 🌍 Поддержка Cross-Origin Resource Sharing (CORS)
- Войдите в свою учетную запись Cloudflare и перейдите на страницу Workers. 👨💻👩💻
- Нажмите кнопку "Создать сервис". 🆕
- Назовите ваш Worker, например, "flux-api". ✏️
- Вставьте предоставленный код Worker в редактор. 📋
- Нажмите кнопку "Сохранить и развернуть". 🚀
На странице настроек Worker найдите раздел "Переменные окружения" и добавьте следующие переменные:
Имя переменной | Описание | Тип | Пример | По умолчанию |
---|---|---|---|---|
API_KEY |
Ключ аутентификации API 🔐 | Строка | "ваш-сложный-ключ-api" |
- |
CF_ACCOUNT_ID |
ID аккаунта Cloudflare 🆔 | Строка | "1a2b3c4d5e6f7g8h9i0j" |
- |
CF_API_TOKEN |
Токен API Cloudflare 🎟️ | Строка | "ваш-токен-api-cloudflare" |
- |
PROMPT_OPTIMIZATION |
Включить оптимизацию запроса 🌐 | Строка | "true" или "false" |
- |
EXTERNAL_API_BASE |
Базовый URL внешнего API 🔗 | Строка | "https://api.external-service.com" |
- |
EXTERNAL_MODEL |
Название внешней модели оптимизации 🤖 | Строка | "gpt-3.5-turbo" |
- |
EXTERNAL_API_KEY |
Ключ доступа к внешнему API 🗝️ | Строка | "ваш-внешний-ключ-api" |
- |
FLUX_NUM_STEPS |
Количество шагов модели Flux 🚶 | Целое число | "4" |
4 |
IMAGE_EXPIRATION |
Время хранения изображений в KV (в секундах) ⏳ | Целое число | "1800" |
1800 |
Убедитесь, что правильно настроили эти переменные в настройках переменных окружения Cloudflare Worker. Для переменных с значениями по умолчанию, если изменения не требуются, можно оставить настройки по умолчанию. 🔧✅
Примечание: Для обеспечения безопасности установите сложную строку для
API_KEY
. Она будет использоваться для проверки подлинности вызовов API. 🔒🛡️
- В панели управления Cloudflare перейдите на страницу "Workers". 🖥️
- Нажмите на вкладку "KV". 📑
- Создайте новое пространство имен и назовите его "FLUX_CF_KV". 🆕
- В настройках Worker привяжите это пространство имен KV к переменной
FLUX_CF_KV
. 🔗
При доступе к корневому пути Worker (https://<имя_вашего_worker>.<ваш_поддомен>.workers.dev/
) будет отображаться страница приветствия, подтверждающая работу API-сервиса. ✅🏠
Основная конечная точка для генерации изображений:
https://<имя_вашего_worker>.<ваш_поддомен>.workers.dev/v1/chat/completions
🎨✨
Получение информации о доступных моделях:
https://<имя_вашего_worker>.<ваш_поддомен>.workers.dev/v1/models
Эта конечная точка возвращает информацию о текущей используемой модели Flux. 🤖📊
Получение сгенерированного изображения:
https://<имя_вашего_worker>.<ваш_поддомен>.workers.dev/image/{ключ_изображения}
📥🎭
Отправьте POST-запрос на конечную точку завершения чата в следующем формате:
{
"messages": [
{
"role": "user",
"content": "Милый котенок 3:2"
}
],
"stream": false
}
Заголовки запроса должны включать:
Authorization: Bearer ВАШ_КЛЮЧ_API
Content-Type: application/json
Важно: Замените
ВАШ_КЛЮЧ_API
на значениеAPI_KEY
, которое вы установили в переменных окружения. 🔑🔄
Если вы хотите получить потоковый ответ, установите параметр stream
в значение true
:
{
"messages": [
{
"role": "user",
"content": "Милый котенок 3:2"
}
],
"stream": true
}
Потоковый ответ будет возвращен в формате Server-Sent Events (SSE), что позволяет получать прогресс генерации в реальном времени. ⚡🔄
Flux-API-Worker поддерживает следующие предустановленные размеры и соотношения сторон изображений:
- 1:1 (1024x1024) - размер по умолчанию 🟦
- 1:2 (512x1024) 📱
- 3:2 (768x512) 🖼️
- 3:4 (768x1024) 📱
- 16:9 (1024x576) 🖥️
- 9:16 (576x1024) 📱
Чтобы указать конкретный размер, просто добавьте соответствующее соотношение сторон после подсказки, например:
"Милый котенок 16:9"
Если размер не указан, система по умолчанию сгенерирует изображение 1:1 (1024x1024). 🎛️🔧
Flux-API-Worker поддерживает CORS, что позволяет обращаться к API из веб-приложений на разных доменах. Это означает, что вы можете напрямую вызывать API из фронтенд-приложений на JavaScript без проблем с кросс-доменными запросами. 🔗🚫🚧
Flux-API-Worker можно легко интегрировать в различные приложения, такие как NextWeb, ChatBox и другие. При настройке в этих приложениях:
- Установите адрес API на URL вашего Worker (конечная точка завершения чата). 🔗
- Введите установленный вами API KEY. 🔑
- Нет необходимости учитывать настройки System Message, предоставляемые приложением, так как Flux-API-Worker использует встроенное System Message. 💬🚫
Примечание: Flux-API-Worker удалил функциональность контекста, каждый вызов будет генерировать новое уникальное изображение. 🆕🖼️
Пример непотокового ответа:
{
"id": "chatcmpl-1234567890",
"created": 1677649420,
"model": "@cf/black-forest-labs/flux-1-schnell",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "🎨 Оригинальная подсказка: Милый котенок 3:2\n💬 Модель генерации подсказки: Original Prompt\n🌐 Оптимизированный запрос: Милый котенок\n📐 Спецификация изображения: 768x512\n🌟 Изображение успешно сгенерировано!\nВот результат:\n\n![Сгенерированное изображение](https://url-вашего-worker.workers.dev/image/12345)"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 100,
"total_tokens": 120
}
}
- Убедитесь, что все необходимые переменные окружения правильно настроены. ✅🔧
- API-ключ должен храниться в безопасности и не раскрываться в клиентском коде. 🔒🙈
- Изображения в хранилище KV имеют срок хранения (по умолчанию 30 минут), своевременно сохраняйте важные изображения. ⏳💾
- Если функция оптимизации запросов включена, убедитесь, что внешнее API настроено правильно. 🌐🔧
- При использовании потокового ответа убедитесь, что ваш клиент может правильно обрабатывать Server-Sent Events. 🌊📡
- При появлении ошибки неавторизованного доступа проверьте правильность установки и использования API-ключа. 🔑❓
- Если генерация изображения не удается, убедитесь, что токен API Cloudflare имеет правильные разрешения. 🎟️🔍
- Если оптимизация запросов не работает, убедитесь, что
PROMPT_OPTIMIZATION
установлено на 'true' и внешнее API настроено правильно. 🌐🔧 - Если вы получаете ошибку 404, убедитесь, что обращаетесь к правильному пути конечной точки. 🔍🚷
- Для других ошибок проверьте логи Worker для получения более подробной информации об ошибке. 📋🔬
Вы можете дополнительно оптимизировать функциональность API, изменив код Worker, например:
- Настроить поддерживаемые размеры и соотношения сторон изображений 📏✂️
- Изменить встроенное системное сообщение для изменения поведения генерации подсказок 💬🔄
- Добавить дополнительные механизмы обработки ошибок и ведения журнала 🚨📊
- Реализовать пользовательские ограничения скорости или другие меры безопасности 🛡️⏱️
Я надеюсь, что этот README поможет вам быстро развернуть и использовать Flux-API-Worker. Если у вас есть вопросы или нужна дополнительная помощь, не стесняйтесь обращаться ко мне. 💌👨💻👩💻
Если вы считаете, что этот репозиторий был вам полезен, пожалуйста, поставьте ему звезду. ⭐⭐⭐ Спасибо!