Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available: 6.12.0
ποΈ PixelForge Architektur mit HuggingFace Spaces
Γbersicht
PixelForge wird als Orchestrator fungieren, der externe AI-Services via REST API orchestriert. Die Heavy-Lifting (GPU-intensive Image Generation) lΓ€uft auf HuggingFace Spaces.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PixelForge Frontend (React/Vite) β
β http://127.0.0.1:5173 β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
β HTTP Requests
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PixelForge Backend (FastAPI) β
β http://127.0.0.1:8008 β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Provider Factory & Job Manager β β
β ββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ β
ββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββ Lokale Provider (CPU):
β ββ dummy: Dummy bilder
β ββ localai: LocalAI Engine
β ββ diffusion: Stable Diffusion (lokal)
β
ββ Remote Provider (API/GPU):
ββ zimageturbo: Cloud API (Colab/RunPod) [ΓBERGANGSLΓSUNG]
ββ huggingface: HuggingFace Space API [ZUKΓNFTIG]
β ββ Heartsync/Adult Space (erwachsene Inhalte)
β ββ weitere HF Spaces...
β ββ Authentifizierung via HF API Token
β
ββ a1111: AUTOMATIC1111 API (lokal falls vorhanden)
Phase 1: Aktuelle State (ΓbergangslΓΆsung)
Colab + Z-Image Turbo als schneller Remote-Provider:
- β Funktioniert sofort
- β οΈ Session-basiert (max 12 Stunden)
- β οΈ Colab kann jeden Moment beenden
- β Kostenlos
Implementation: zimageturbo_provider.py (HTTP API Wrapper)
Zu tun jetzt:
- Frontend testen (Modellauswahl wurde gefixt)
- Colab Notebook hochladen & API URL setzen
- Z-Image Turbo Provider testen
Phase 2: HuggingFace Space Integration (ZukΓΌnftig)
Adult_repo bleibt als eigenstΓ€ndige Einheit auf HuggingFace Spaces:
# Adult_repo lΓ€uft auf:
https://huggingface.co/spaces/Heartsync/Adult
# β Hat eigene GPU/Inference Engine
# β VerfΓΌgbar 24/7 (solange Space online)
Architektur:
Adult_repo auf HF Space (remote)
- Gradio Interface (aber nicht fΓΌr PixelForge relevant)
- Inference Endpoint fΓΌr API-Calls
- Nutzt Z-Image Turbo Model intern
HuggingFace Space API Provider (neu in PixelForge)
# Backend Provider class HuggingFaceSpaceProvider(IImageProvider): def __init__(self, space_name: str, token: str): self.space_name = "Heartsync/Adult" # oder andere Spaces self.api_token = os.getenv("HF_API_TOKEN") def generate(self, request: ProviderRequest) -> ProviderResult: # POST zu HF Inference API # https://api-inference.huggingface.co/models/{space} ...PixelForge kennt mehrere Spaces:
heartsync/adultβ Erwachsene Inhalteheartsync/animeβ Anime-Stylecustom/spaceβ Beliebige andere Spaces
Vergleich: Colab vs HuggingFace Space
| Aspekt | Colab | HF Space | Lokal |
|---|---|---|---|
| Setup | Jupyter Notebook | Einmal deployen | Python Virtual Env |
| Kosten | Kostenlos | Kostenlos (mit Limits) | Nur Hardware |
| Persistenz | 12h max | 24/7 (solange online) | 24/7 |
| GPU | T4/A100 (kostenlos) | Space-spezifisch | Deine Hardware |
| API-Zugriff | ΓΌber Ngrok-Tunnel | HF Inference API | localhost:PORT |
| Startzeit | ~2 min (Kernel) | instant | instant |
| Geeignet fΓΌr | Schnelle Tests | Production | Development |
Implementierungs-Roadmap
β Heute (Phase 1)
- Frontend Model-Picker repariert
- Colab Notebook erstellt
- zimageturbo_provider.py β
- Testen mit Colab
π SpΓ€ter (Phase 2)
- HuggingFaceSpaceProvider erstellen
- HF API Token Authentication
- Adult_repo auf HF Space deployen
- Provider registrieren & testen
- Colab durch HF Space ersetzen
π― Langfristig (Phase 3)
- Multi-Space Support (verschiedene Spaces wΓ€hlen)
- Space Health Monitoring
- Fallback-Strategie (wenn Space down ist)
- Queue Management fΓΌr lange Jobs
HuggingFace API Details (fΓΌr spΓ€ter)
Space Deployment (Adult_repo)
# HF CLI installieren
pip install huggingface-hub
# Private Space erstellen (Adult content)
huggingface-cli repo create --type space Adult_repo --private
# Adult_repo hochladen
git push huggingface main
PixelForge Provider (HTTP API Call)
import requests
# HF Inference API Endpoint
url = "https://api-inference.huggingface.co/models/Heartsync/Adult"
payload = {
"inputs": "A beautiful sunset over mountains",
}
headers = {
"Authorization": f"Bearer {HF_API_TOKEN}"
}
response = requests.post(url, json=payload, headers=headers)
image_data = response.content # PIL Image bytes
Alternative: Space API (wenn Gradio genutzt)
# Falls Adult_repo Gradio API exponiert
from gradio_client import Client
client = Client("https://huggingface.co/spaces/Heartsync/Adult")
result = client.predict(
prompt="A girl in a school uniform",
seed=42,
api_name="/predict"
)
Umgebungsvariablen (Phase 2)
# HuggingFace Integration
$env:HF_API_TOKEN = "hf_xxxxxxxxxxxxxxxxxxxxx"
$env:HF_SPACE_ADULT = "Heartsync/Adult"
$env:HF_SPACE_DEFAULT = "Heartsync/Adult"
$env:HF_REQUEST_TIMEOUT = "300" # Sekunden
# Colab (Phase 1 - temporΓ€r)
$env:ZIMAGETURBO_API_URL = "https://abc123.ngrok.io"
$env:ZIMAGETURBO_TIMEOUT = "300"
Adult_repo Struktur (vor Ort)
d:/VSC Codes/Bild/Adult_repo/
βββ app.py # Gradio Interface (wird auf HF Space laufen)
βββ requirements.txt # Dependencies
βββ README.md
βββ .git # Git Repo
Wichtig: Adult_repo ist momentan nicht in PixelForge integriert!
- Es lΓ€uft spΓ€ter als eigenstΓ€ndiger Service auf HF Space
- PixelForge ruft es via HF API auf
- Keine lokale AbhΓ€ngigkeit β Clean Architecture β¨
NΓ€chste Schritte
Sofort (Phase 1):
# 1. Frontend aktualisieren (Done β)
# 2. Browser aktualisieren (F5)
# 3. Modellauswahl testen
# 4. Colab konfigurieren & testen
SpΓ€ter (Phase 2):
# 1. Adult_repo zu HF Space pushen
# 2. HF API Token besorgen
# 3. HuggingFaceSpaceProvider schreiben
# 4. In Factory registrieren
# 5. Testen & Colab deaktivieren
Fragen fΓΌr Phase 2?
- Welche anderen Spaces mΓΆchtest du anbinden?
- BenΓΆtigst du Content Moderation (Safety Filter)?
- Wie sollen lange Jobs (>5min) gehandhabt werden?
- Fallback-Strategie wenn Space down ist?
Status: π’ Phase 1 bereitet sich vor Phase 2 Start: Nach Colab-Test & HF Space Deployment