Allgemeine Einführung
CloudFlare-AI-Image ist ein Open-Source-Projekt, das auf GitHub gehostet wird und kostenlose AI-Bilderzeugungsdienste über die Cloudflare Workers-Plattform bereitstellt. Es unterstützt Text-to-Map und Map-to-Map-Funktionen, basierend auf fünf Modellen, einschließlich Flux.1 [schnell], Stable Diffusion XL, etc., die standardmäßige Verwendung von SD-XL-Base-CF. Benutzer können eine Textbeschreibung eingeben oder ein Referenzbild hochladen, können Sie hochwertige Bilder generieren. Die Projektschnittstelle ist mit dem OpenAI-Format kompatibel und lässt sich für Entwickler, Designer und kreative Enthusiasten leicht integrieren und einsetzen. Mit dem globalen Netzwerk von Cloudflare ist die Generierungsgeschwindigkeit schnell und stabil, und der Code ist Open Source und kann frei verändert werden.
Funktionsliste
- Unterstützung von Text-zu-Bildern, Eingabe von Textbeschreibungen zur Erzeugung hochwertiger Bilder.
- Unterstützt graphgenerierte Bilder, um neue Bilder auf der Grundlage hochgeladener Referenzbilder zu erzeugen.
- Fünf Modelle sind optional erhältlich: DS-8-CF, SD-XL-Bash-CF, SD-XL-Lightning-CF, FLUX.1-Schnell-CF, SF-Kolors.
- REST API kompatibel mit dem OpenAI Format für eine einfache Integration in Anwendungen von Drittanbietern.
- Anpassbare Generierungsparameter wie Bildstil, Anzahl der Schritte und Auflösung.
- Für die Bereitstellung auf Cloudflare Workers sind keine verwalteten Server erforderlich.
- Unterstützt KV-Speicher für die Zwischenspeicherung erzeugter Bilder.
- Offener Quellcode, vom Benutzer modifizierbar und erweiterbar.
Hilfe verwenden
Einbauverfahren
Um CloudFlare-AI-Image zu verwenden, müssen Sie die folgenden Bereitstellungsschritte durchführen. Der Prozess ist einfach, erfordert aber eine sorgfältige Konfiguration Ihrer Umgebung.
- Registrieren Sie sich für ein Cloudflare-Konto
Besuchen Sie die offizielle Cloudflare-Website, um sich zu registrieren oder ein Konto einzurichten. Der kostenlose Plan ist ausreichend, um dieses Projekt zu unterstützen. Vergewissern Sie sich, dass das Konto über die Berechtigungen "Workers AI" und "KV Namespace" verfügt. - Projektcode klonen
Führen Sie den folgenden Befehl im Terminal aus, um das Projekt lokal zu klonen:git clone https://github.com/justlovemaki/CloudFlare-AI-Image.git
Rufen Sie den Projektkatalog auf:
cd CloudFlare-AI-Image
- Installation des Wrangler
Wrangler ist ein Tool zur Bereitstellung von Cloudflare Workers. Befehl zur Installation:npm install -g @cloudflare/wrangler
Melden Sie sich bei Wrangler an:
wrangler login
Folgen Sie den Aufforderungen zur Autorisierung in Ihrem Browser.
- Umgebungsvariablen konfigurieren
Das Projekt muss die Namespaces Workers AI und KV binden und die Kontoinformationen konfigurieren.- Loggen Sie sich in das Cloudflare-Dashboard ein und suchen Sie die Konto-ID.
- Erstellen Sie API-Tokens mit Berechtigungen, die Workers AI, Workers Skriptbearbeitung und KV-Speicherung umfassen.
- Compiler
wrangler.toml
Datei mit der Konto-ID und dem KV-Namensraum:account_id = "你的账户ID" name = "cloudflare-ai-image" compatibility_date = "2023-09-01" [[kv_namespaces]] binding = "IMAGE_KV" id = "你的KV命名空间ID"
- Erstellen Sie einen KV-Namensraum:
wrangler kv:namespace create IMAGE_KV
Kopieren Sie die zurückgegebene ID und füllen Sie das Feld
wrangler.toml
. - Setzen Sie das API-Token:
wrangler secret put CLOUDFLARE_API_TOKEN
Geben Sie Ihr API-Token ein.
- (Optional) Setzen Sie SF_TOKEN, wenn Sie ein siliziumbasiertes Flussstufenmodell verwenden:
wrangler secret put SF_TOKEN
Geben Sie das von der Silicon Mobility Platform angeforderte API-Token ein.
- Einführungsprojekte
Im Projektverzeichnis ausführen:wrangler publish
Nach erfolgreichem Einsatz erhalten Sie die Workers-URL, z. B.
https://cloudflare-ai-image.your-account.workers.dev
. - lokaler Test
Wenn lokales Debugging erforderlich ist, führen Sie aus:wrangler dev
Dadurch wird der lokale Server gestartet und der Zugriff auf die
http://localhost:8787
Testfunktion.
Verwendung
Nach der Bereitstellung können Sie die Bilderzeugung über die API, den Client oder die Workers-URL nutzen. Hier finden Sie detaillierte Anweisungen dazu.
Modell auswählen
Das Projekt unterstützt fünf Modelle, wobei FLUX.1-Schnell-CF für beste Ergebnisse empfohlen wird, aber es gibt eine tägliche Nutzungsgrenze. Andere Modelle sind unten aufgeführt:
- DS-8-CFBasierend auf Dreamshaper-8-LCM ist es geeignet, um schnell Bilder im Kunststil zu erzeugen.
- SD-XL-Bash-CFStandardmodell, basierend auf Stable Diffusion XL, das Geschwindigkeit und Qualität in Einklang bringt.
- SD-XL-Lightning-CFOptimiert auf Geschwindigkeit und für einfache Szenarien.
- FLUX.1-Schnell-CFHochwertiges, detailreiches Modell, empfohlen für komplexe Szenen.
- SF-Kolors: Basierend auf Kwai-Kolors, geeignet für Bilder im asiatischen Stil, muss SF_TOKEN konfiguriert werden.
Geben Sie bei der Auswahl eines Modells den Modellnamen in der API-Anforderung oder der Konfigurationsdatei an, z. B. "model": "@cf/black-forest-labs/flux-1-schnell"
.
Vincennes-Diagramm
Venn-Diagramme erzeugen Bilder aus textlichen Beschreibungen.
- über API::
Rufen Sie den API-Endpunkt mit einer POST-Anforderung auf:curl -X POST https://your-project.workers.dev/api/generate \ -H "Content-Type: application/json" \ -d '{"prompt": "一片星空下的雪山,月光照耀", "model": "@cf/black-forest-labs/flux-1-schnell", "steps": 8}'
Gibt JSON zurück, das die Bild-URL oder Base64-Daten enthält.
- über den Kunden::
Die Projektschnittstelle ist mit dem OpenAI-Format kompatibel und kann mit einem OpenAI-fähigen Client (wie dem ChatGPT-Client) verwendet werden. Konfigurieren Sie die API-Adresse des Clients als Ihre Workers-URL und geben Sie die Eingabeaufforderung ein, um das Bild zu erzeugen. - über Workers URL::
Interviewshttps://your-project.workers.dev
Geben Sie das Stichwort ein, klicken Sie auf Erzeugen, und der Browser zeigt das Bild an.
Aufforderungswörter optimieren::
Klare Stichwörter verbessern die Bildqualität. Beispiel:
- Unscharf:
"一朵花"
- Optimieren:
"一朵盛开的红玫瑰,背景是绿色草地,阳光明媚"
Englische Stichwörter könnten besser funktionieren, wie zum Beispiel"A red rose in bloom on a green meadow under bright sunlight"
.
Tucson (Stadt)
Tupel erzeugen neue Bilder auf der Grundlage von Referenzbildern.
- über API::
Laden Sie ein Bild hoch und geben Sie ein Stichwort an:curl -X POST https://your-project.workers.dev/api/generate \ -H "Content-Type: application/json" \ -d '{"prompt": "将这张图片变成卡通风格", "image": "base64编码的图像数据", "model": "@cf/stabilityai/stable-diffusion-xl-base-1.0"}'
- über Workers URL::
Besuchen Sie die Seite, laden Sie ein Referenzbild hoch, geben Sie eine Beschreibung ein (z. B."卡通风格"
), um ein neues Bild zu erzeugen.
Benutzerdefinierte Parameter
Die Einstellung der folgenden Parameter wird unterstützt:
- SchritteStandardwert 8, Bereich 1-50, höhere Stufen ergeben mehr Details, erhöhen aber den Zeitaufwand.
- Auflösung (eines Fotos)Standardmäßig 512x512, einstellbar auf 1024x1024 (je nach Modellunterstützung).
- FrisurSteuerung durch Schlüsselwörter wie
"油画风格"
und"赛博朋克"
.
Fügen Sie der API-Anforderung Parameter hinzu:
{
"prompt": " futuristic city at night",
"steps": 12,
"width": 1024,
"height": 1024
}
Optionen für erzwungene Übersetzungen
- --ntlDeaktivieren Sie die Übersetzung und behalten Sie die Original-Eingabewörter für mehrsprachige Benutzer bei.
- -tlErzwingen Sie die Übersetzung der Aufforderungswörter ins Englische, um die Qualität der Erstellung zu verbessern.
Fügen Sie in der API-Anforderung Folgendes hinzu"translate": "tl"
vielleicht"translate": "ntl"
.
Ansicht Log
Loggen Sie sich in das Cloudflare-Dashboard ein und gehen Sie zur Workers-Übersicht, um Anforderungsprotokolle, Erzeugungsprotokolle und die Ressourcennutzung zu sehen.Der KV-Namespace speichert Bilder im Cache, um die doppelte Erzeugung zu reduzieren.
caveat
- freie QuoteDer kostenlose Plan von Cloudflare Workers mit 100.000 Anfragen pro Tag ist ausreichend für die persönliche Nutzung. Es kann zusätzliche Grenzen für Modellaufrufe für Workers AI geben (z.B. Tageslimit für FLUX.1).
- Leistung des ModellsFLUX.1-Schnell-CF funktioniert am besten, kann aber bei hohen Lasten eingeschränkt sein. SD-XL-Bash-CF ist für den täglichen Gebrauch geeignet.
- SicherheitEs wird empfohlen, den API-Schlüssel festzulegen, um unbefugten Zugriff zu verhindern.
- Stichwort EinschränkungenUm sensible oder unangemessene Inhalte zu vermeiden, werden die Modelle automatisch gefiltert.
Anwendungsszenario
- Erstellung von Inhalten
Blogger müssen ihre Beiträge illustrieren, in"一片热带雨林,阳光穿透树叶"
Die neueste Version des Designs ist diejenige, die in wenigen Sekunden qualitativ hochwertige Bilder erzeugt, wodurch Sie bei den Designkosten sparen. - Anwendungsentwicklung
Der Entwickler erstellt eine Produktanzeigekarte für die E-Commerce-Plattform, die dynamisch über die API aufgerufen wird, und gibt Beschreibungen ein wie"现代风格的沙发,白色背景"
, um das Nutzererlebnis zu verbessern. - Entdeckung der Kunst
Der Student oder Künstler lädt eine Skizze hoch, verwendet die Funktion zum Erstellen von Diagrammen und gibt die"赛博朋克风格"
die Erstellung einzigartiger Arbeiten für Studien oder Präsentationen. - Bildung und Ausbildung
Lehrkräfte erstellen Unterrichtsmaterialien wie Input"古代中国的城市街道"
die im Geschichtsunterricht zur Visualisierung von Szenen verwendet werden.
QA
- Wie lange dauert es, ein Bild zu erstellen?
2-15 Sekunden, je nach Modell, Anzahl der Schritte und Netzwerk. flux.1-schnell-cf ist am schnellsten, sd-xl-bash-cf ist etwas langsamer. - Welche Bildtypen werden unterstützt?
Unterstützt Landschaften, Menschen, Objekte, Kunststile usw. Komplexe Szenen müssen für Stichwörter optimiert werden und sensible Inhalte werden gefiltert. - Muss ich für die Bereitstellung bezahlen?
Nicht erforderlich. Das Projekt ist quelloffen und der kostenlose Plan von Cloudflare ist ausreichend.SF-Kolors Modelle erfordern eine kostenlose SF_TOKEN Anwendung. - Wie kann ich das Modell wechseln?
Geben Sie den Modellnamen in der API-Anforderung an oder ändern Sie das Standardmodell in der Konfigurationsdatei. Es wird empfohlen, FLUX.1-Schnell-CF zu testen. - Wie funktioniert die Tupelo-Funktion?
Laden Sie ein Referenzbild hoch, geben Sie eine Beschreibung ein (z. B."卡通风格"
), um neue Bilder über die API oder eine Seite zu erzeugen.