Projects included: - maerchenzauber (NestJS backend + Expo mobile + SvelteKit web + Astro landing) - manacore (Expo mobile + SvelteKit web + Astro landing) - manadeck (NestJS backend + Expo mobile + SvelteKit web) - memoro (Expo mobile + SvelteKit web + Astro landing) This commit preserves the current state before monorepo restructuring. đ€ Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
35 KiB
Umfassende Dokumentation der Replicate Image Models fĂŒr MĂ€rchenZauber
Inhaltsverzeichnis
- Executive Summary
- Detaillierte Modellanalyse
- Kostenvergleich
- Technische Spezifikationen
- Implementierungsempfehlungen
- API-Verwendungsbeispiele
- Best Practices fĂŒr KinderbĂŒcher
Executive Summary
Diese Dokumentation analysiert 10 fĂŒhrende Bildgenerierungsmodelle auf Replicate fĂŒr die Verwendung in der MĂ€rchenZauber-App zur Erstellung von Kindergeschichten. Die Analyse basiert auf praktischen Tests und Recherchen mit Fokus auf:
- Kosteneffizienz: Von $0.003 bis $0.04 pro Bild
- Geschwindigkeit: Von 1-2 Sekunden bis 10-15 Sekunden
- QualitÀt: Von schnellen Prototypen bis zu publikationsreifen Illustrationen
- Spezialfunktionen: Charakterkonsistenz, Textrendering, kĂŒnstlerische Stile
Detaillierte Modellanalyse
1. đ Google Imagen 4 Fast
URL: https://replicate.com/google/imagen-4-fast
Kategorie: High-Volume, kostengĂŒnstige Generierung
Technische Details
- Model ID:
google/imagen-4-fast:latest - Preis: $0.02/Bild (50 Bilder fĂŒr $1) - KostengĂŒnstigstes Modell
- Hardware: CPU-basiert
- Geschwindigkeit: Bis zu 10x schneller als Imagen 3
- Auflösung: Bis zu 2K (2048x2048)
- SeitenverhÀltnisse: 1:1, 9:16, 16:9, 3:4, 4:3
Input-Parameter
{
"prompt": "A cute cartoon rabbit in a magical forest, children's book style",
"aspect_ratio": "16:9",
"safety_filter_level": "block_some", # block_few, block_some, block_most
"person_generation": "dont_allow",
"output_format": "jpg"
}
StĂ€rken fĂŒr Kindergeschichten
- â Extrem kosteneffizient - Ideal fĂŒr hohe Volumen
- â Schnelle Generierung - Echtzeit-Story-Erstellung möglich
- â Mehrere Sicherheitsstufen - Kindgerechte Inhalte garantiert
- â Konsistente QualitĂ€t bei einfachen Szenen
EinschrÀnkungen
- â Geringere BildqualitĂ€t im Vergleich zu Pro-Modellen
- â Limitierte Details bei komplexen Charakteren
- â Keine LoRA/Finetuning UnterstĂŒtzung
Kostenberechnung
- 10-seitige Geschichte: $0.20
- 100 Geschichten/Tag: $20
- Monatliche Kosten (3000 Geschichten): $600
2. đš ByteDance Seedream-4
URL: https://replicate.com/bytedance/seedream-4
Kategorie: High-Resolution, sequenzielle Story-Generierung
Technische Details
- Model ID:
bytedance/seedream-4:latest - Preis: $0.03/Bild (33 Bilder fĂŒr $1)
- Hardware: CPU-basiert
- Auflösung: 1K, 2K, 4K Optionen
- Einzigartig: Sequenzielle Bildgenerierung
Input-Parameter
{
"prompt": "A brave little fox exploring a mystical cave",
"resolution": "4K",
"num_images": 10, # Bis zu 15 Bilder in einem Batch
"sequential_mode": True, # FĂŒr Story-KontinuitĂ€t
"style": "children_illustration",
"edit_prompt": "Add sparkles to the fox's eyes" # PrÀzise Bearbeitung
}
StĂ€rken fĂŒr Kindergeschichten
- â 4K Auflösung - Perfekt fĂŒr gedruckte BĂŒcher
- â Sequenzielle Generierung - ErhĂ€lt Charakterkonsistenz
- â Batch-Processing - Bis zu 15 Bilder gleichzeitig
- â Text-basierte Bearbeitung - NachtrĂ€gliche Anpassungen möglich
- â Konsistente Farben und Stile ĂŒber mehrere Bilder
EinschrÀnkungen
- â ïž Mittlere Preisklasse
- â ïž CPU-basiert kann langsamer sein
- â Weniger Community-Support als etablierte Modelle
Kostenberechnung
- 10-seitige Geschichte: $0.30
- 100 Geschichten/Tag: $30
- Monatliche Kosten (3000 Geschichten): $900
3. đ Ideogram V3 Turbo
URL: https://replicate.com/ideogram-ai/ideogram-v3-turbo
Kategorie: KĂŒnstlerische Vielfalt und Design-FlexibilitĂ€t
Technische Details
- Model ID:
ideogram-ai/ideogram-v3-turbo:latest - Preis: $0.03/Bild (33 Bilder fĂŒr $1)
- Hardware: CPU-basiert
- Besonderheit: 50+ vordefinierte Kunststile
Input-Parameter
{
"prompt": "A magical unicorn in a candy land",
"style_preset": "vintage_poster", # Ăber 50 Stile verfĂŒgbar
"magic_prompt": True, # Automatische Prompt-Optimierung
"color_palette": "pastel",
"inpainting_mask": None, # FĂŒr Charakterkonsistenz
"commercial_use": True
}
VerfĂŒgbare Stile fĂŒr KinderbĂŒcher
cartoon_3d- Pixar-Ă€hnlicher Stilwatercolor- Aquarell-Illustrationenoil_painting- Klassische MĂ€rchenoptikvintage_poster- Retro-Kinderbuch-Stilanime- Manga-inspirierte Illustrationenclay_animation- Stop-Motion-Look
StĂ€rken fĂŒr Kindergeschichten
- â VielfĂ€ltige Kunststile - Verschiedene GeschichtsĂ€sthetiken
- â Magic Prompt - Verbessert automatisch Beschreibungen
- â Inpainting - NachtrĂ€gliche Charakteranpassungen
- â Kommerzielle Nutzung explizit erlaubt
- â Konsistente Stilanwendung
EinschrÀnkungen
- â ïž CPU-basiert - Langsamere Generierung
- â ïž Stil-Konsistenz kann variieren
- â Keine eigenen Stil-Uploads
Kostenberechnung
- 10-seitige Geschichte: $0.30
- 100 Geschichten/Tag: $30
- Monatliche Kosten (3000 Geschichten): $900
4. đ Qwen Image
URL: https://replicate.com/qwen/qwen-image
Kategorie: Text-Integration und komplexe Szenen
Technische Details
- Model ID:
qwen/qwen-image:latest - Preis: $0.025/Bild (40 Bilder fĂŒr $1)
- Hardware: H100 GPU (schnelle Generierung)
- Lizenz: Apache 2.0 (Open Source)
Input-Parameter
{
"prompt": "A book page showing 'Chapter 1: The Magic Forest' with decorative borders",
"text_rendering": True,
"text_content": "Once upon a time...",
"lora_weights": "custom_character.safetensors", # Charakterkonsistenz
"guidance_scale": 7.5,
"num_inference_steps": 30,
"scheduler": "DPMSolverMultistep"
}
StĂ€rken fĂŒr Kindergeschichten
- â Exzellentes Text-Rendering - Perfekt fĂŒr Titel und Kapitel
- â H100 GPU - Sehr schnelle Generierung
- â LoRA Support - Custom Charaktere möglich
- â Open Source - Keine LizenzgebĂŒhren
- â Komplexe Szenen mit vielen Details
EinschrÀnkungen
- â ïž Komplexere Konfiguration erforderlich
- â ïž Weniger intuitive Parameter
- â Begrenzte Stiloptionen ohne LoRA
Kostenberechnung
- 10-seitige Geschichte: $0.25
- 100 Geschichten/Tag: $25
- Monatliche Kosten (3000 Geschichten): $750
5. ⥠FLUX.1 Schnell
URL: https://replicate.com/black-forest-labs/flux-schnell
Kategorie: Ultra-schnelle Entwicklung und Prototyping
Technische Details
- Model ID:
black-forest-labs/flux-schnell:5599ed30703defd1d160a25a63321b4dec97101d98b4674bcc56e41f62f35637 - Preis: ~$0.003/Bild (333 Bilder fĂŒr $1) - ZweitgĂŒnstigstes
- Hardware: H100 GPU
- Runs: 496.2M (meistgenutzt auf Replicate)
Input-Parameter
{
"prompt": "A friendly dragon teaching ABC to forest animals",
"num_inference_steps": 4, # Limitiert auf 4 fĂŒr Geschwindigkeit
"go_fast": True, # Turbo-Modus
"megapixels": "1",
"num_outputs": 4, # Maximum 4 Bilder
"output_format": "webp",
"output_quality": 90
}
StĂ€rken fĂŒr Kindergeschichten
- â Extrem gĂŒnstig - Ideal fĂŒr Tests und Entwicklung
- â Blitzschnell - 1-2 Sekunden pro Bild
- â GPU-basiert - Konsistente Performance
- â "Go Fast" Modus - Noch schnellere Iteration
- â 496M+ Generierungen - BewĂ€hrte StabilitĂ€t
EinschrÀnkungen
- â Nur 4 Inference Steps - Reduzierte QualitĂ€t
- â Maximum 4 Bilder pro Anfrage
- â Weniger Details als Pro-Version
- â Nicht fĂŒr Produktion empfohlen
Kostenberechnung
- 10-seitige Geschichte: ~$0.03
- 100 Geschichten/Tag: $3
- Monatliche Kosten (3000 Geschichten): $90
6. đ FLUX.1.1 Pro
URL: https://replicate.com/black-forest-labs/flux-1.1-pro
Kategorie: Premium-QualitĂ€t fĂŒr professionelle Publikationen
Technische Details
- Model ID:
black-forest-labs/flux-1.1-pro:8f06b9d3d1f0f2226f33b226bb4a0e47230895564befc417e7917337e282ad8c - Preis: $0.04/Bild (25 Bilder fĂŒr $1)
- Hardware: CPU-basiert
- Max Auflösung: 1440x1440 Pixel
Input-Parameter
{
"prompt": "A whimsical tea party with woodland creatures in Victorian style",
"aspect_ratio": "1:1",
"output_format": "png",
"output_quality": 100,
"safety_tolerance": 3, # 1-6 Skala
"prompt_upsampling": True, # Verbessert automatisch Prompts
"image_prompt": "reference_character.jpg", # Referenzbild fĂŒr Konsistenz
}
StĂ€rken fĂŒr Kindergeschichten
- â Professionelle QualitĂ€t - Publikationsreif
- â Exzellente Prompt-Befolgung - PrĂ€zise Umsetzung
- â Image-to-Image - Charakterkonsistenz durch Referenzen
- â Einstellbare Sicherheit - Kindgerechte Kontrolle
- â Konsistente Ergebnisse - ZuverlĂ€ssige QualitĂ€t
EinschrÀnkungen
- â ïž Höhere Kosten als andere Modelle
- â ïž CPU-basiert - Langsamere Generierung
- â Begrenzte Auflösung (1440x1440)
Kostenberechnung
- 10-seitige Geschichte: $0.40
- 100 Geschichten/Tag: $40
- Monatliche Kosten (3000 Geschichten): $1200
7. đ Stable Diffusion 3.5 Large Turbo
URL: https://replicate.com/stability-ai/stable-diffusion-3.5-large-turbo
Kategorie: Schnelle, kontrollierbare Generierung
Technische Details
- Model ID:
stability-ai/stable-diffusion-3.5-large-turbo:latest - Preis: $0.04/Bild (25 Bilder fĂŒr $1)
- Hardware: CPU-basiert
- Parameter: 8B Parameter Modell
Input-Parameter
{
"prompt": "A cozy treehouse library with reading animals",
"negative_prompt": "scary, dark, violent", # Ausschluss unerwĂŒnschter Elemente
"num_inference_steps": 4, # 1-10 fĂŒr Geschwindigkeitsoptimierung
"guidance_scale": 3.5,
"seed": 42, # FĂŒr Reproduzierbarkeit
"output_format": "jpg",
"disable_safety_checker": False
}
StĂ€rken fĂŒr Kindergeschichten
- â Feine Details - Hochwertige Illustrationen
- â Turbo-Optimierung - Schnell trotz CPU
- â Negative Prompts - PrĂ€zise Kontrolle
- â VielfĂ€ltige Stile - Flexible Anpassung
- â Seed-Kontrolle - Reproduzierbare Ergebnisse
EinschrÀnkungen
- â ïž CPU-basiert - Nicht die schnellste Option
- â ïž Höhere Kosten fĂŒr Turbo-Version
- â Weniger Community-Ressourcen als SD 1.5/XL
Kostenberechnung
- 10-seitige Geschichte: $0.40
- 100 Geschichten/Tag: $40
- Monatliche Kosten (3000 Geschichten): $1200
8. đ Google Imagen 4 (Standard)
URL: https://replicate.com/google/imagen-4
Kategorie: Premium Google-QualitÀt
Technische Details
- Model ID:
google/imagen-4:latest - Preis: $0.04/Bild (25 Bilder fĂŒr $1)
- Hardware: CPU-basiert
- Varianten: Standard, Ultra, Fast
Input-Parameter
{
"prompt": "A magical school bus flying through clouds made of cotton candy",
"aspect_ratio": "16:9",
"safety_filter_level": "block_most",
"person_generation": "dont_allow",
"output_format": "png",
"quality": "standard", # standard, ultra
"style_preset": "photographic" # oder "digital_art", "anime"
}
StĂ€rken fĂŒr Kindergeschichten
- â Google-QualitĂ€t - FĂŒhrende BildqualitĂ€t
- â Verbesserte Typografie - Text in Bildern
- â Multiple Sicherheitsstufen - Maximaler Schutz
- â 2K Auflösung - Hochauflösende Ausgabe
- â Konsistente QualitĂ€t - Google-Standard
EinschrÀnkungen
- â ïž Höhere Kosten als Fast-Version
- â ïž CPU-basiert - Langsamere Generierung
- â Weniger Anpassungsoptionen als Open-Source
Kostenberechnung
- 10-seitige Geschichte: $0.40
- 100 Geschichten/Tag: $40
- Monatliche Kosten (3000 Geschichten): $1200
9. âïž Stable Diffusion 3.5 Medium
URL: https://replicate.com/stability-ai/stable-diffusion-3.5-medium
Kategorie: Ausgewogenes Preis-Leistungs-VerhÀltnis
Technische Details
- Model ID:
stability-ai/stable-diffusion-3.5-medium:latest - Preis: $0.035/Bild (28 Bilder fĂŒr $1)
- Hardware: CPU-basiert
- Parameter: 2.5B Parameter Modell
Input-Parameter
{
"prompt": "A cheerful robot teaching math to curious kittens",
"aspect_ratio": "1:1",
"num_inference_steps": 28,
"guidance_scale": 4.5,
"seed": -1, # ZufÀllig
"output_format": "webp",
"webhook": "https://your-webhook.com/sd35-complete" # Optional
}
StĂ€rken fĂŒr Kindergeschichten
- â Gute Balance - Preis vs. QualitĂ€t
- â MMDiT-X Architektur - Moderne Technologie
- â Vielseitig - Breites Anwendungsspektrum
- â Webhook-Support - Asynchrone Verarbeitung
- â Multiple Formate - WebP, PNG, JPG
EinschrÀnkungen
- â ïž Mittlere QualitĂ€t - Nicht die beste, nicht die schlechteste
- â ïž CPU-basiert - Standardgeschwindigkeit
- â Weniger Features als Large-Version
Kostenberechnung
- 10-seitige Geschichte: $0.35
- 100 Geschichten/Tag: $35
- Monatliche Kosten (3000 Geschichten): $1050
10. đ Google Nano Banana
URL: https://replicate.com/google/nano-banana
Kategorie: Konversationelle Bearbeitung und Charakterkonsistenz
Technische Details
- Model ID:
google/nano-banana:latest - Preis: $0.039/Bild (25 Bilder fĂŒr $1)
- Hardware: CPU-basiert
- Besonderheit: Multi-Turn-Editing
Input-Parameter
{
"prompt": "A banana superhero saving the fruit kingdom",
"conversation_history": [
"Make the cape more colorful",
"Add a sidekick strawberry",
"Put them in a castle made of chocolate"
],
"character_reference": "previous_banana_hero.jpg",
"multi_image_fusion": True,
"synth_id_watermark": True, # AI-Kennzeichnung
"consistency_mode": "high"
}
StĂ€rken fĂŒr Kindergeschichten
- â Charakterkonsistenz - Beste im Vergleich
- â Multi-Image Fusion - Komplexe Szenen
- â Konversationelles Editing - Iterative Verbesserung
- â SynthID Watermarking - Transparente AI-Kennzeichnung
- â Referenzbilder - Konsistente Charaktere
EinschrÀnkungen
- â ïž Langsamer - 8-10 Sekunden pro Bild
- â ïž Höhere Kosten fĂŒr Spezialfeatures
- â Name verwirrt - Nicht nur fĂŒr Bananen!
Kostenberechnung
- 10-seitige Geschichte: $0.39
- 100 Geschichten/Tag: $39
- Monatliche Kosten (3000 Geschichten): $1170
Kostenvergleich
Ăbersichtstabelle
| Modell | Preis/Bild | 10-Seiten Story | 100 Stories/Tag | 3000 Stories/Monat |
|---|---|---|---|---|
| FLUX.1 Schnell | $0.003 | $0.03 | $3 | $90 |
| Google Imagen 4 Fast | $0.020 | $0.20 | $20 | $600 |
| Qwen Image | $0.025 | $0.25 | $25 | $750 |
| ByteDance Seedream-4 | $0.030 | $0.30 | $30 | $900 |
| Ideogram V3 Turbo | $0.030 | $0.30 | $30 | $900 |
| SD 3.5 Medium | $0.035 | $0.35 | $35 | $1050 |
| Google Nano Banana | $0.039 | $0.39 | $39 | $1170 |
| FLUX.1.1 Pro | $0.040 | $0.40 | $40 | $1200 |
| SD 3.5 Large Turbo | $0.040 | $0.40 | $40 | $1200 |
| Google Imagen 4 | $0.040 | $0.40 | $40 | $1200 |
ROI-Analyse bei 10 Credits ($1) pro Geschichte
| Modell | Kosten/Story | Gewinn/Story | Gewinnmarge |
|---|---|---|---|
| FLUX.1 Schnell | $0.03 | $0.97 | 97% |
| Google Imagen 4 Fast | $0.20 | $0.80 | 80% |
| Qwen Image | $0.25 | $0.75 | 75% |
| ByteDance/Ideogram | $0.30 | $0.70 | 70% |
| Premium Modelle | $0.40 | $0.60 | 60% |
Technische Spezifikationen
Hardware-Anforderungen
GPU-basierte Modelle (Schneller)
- FLUX.1 Schnell: H100 GPU
- Qwen Image: H100 GPU
CPU-basierte Modelle (Langsamer, aber skalierbar)
- Alle anderen Modelle nutzen CPU-Infrastruktur
- Vorteil: Bessere VerfĂŒgbarkeit bei hohem Volumen
- Nachteil: 3-10x langsamere Generierung
Generierungsgeschwindigkeiten
| Kategorie | Modelle | Zeit pro Bild | 10-Seiten Story |
|---|---|---|---|
| Ultra-Schnell | FLUX Schnell | 1-2 Sek | 10-20 Sek |
| Schnell | Imagen 4 Fast, Qwen | 2-5 Sek | 20-50 Sek |
| Standard | Seedream, Ideogram, SD 3.5 | 5-10 Sek | 50-100 Sek |
| Langsam | FLUX Pro, Nano Banana | 8-15 Sek | 80-150 Sek |
Implementierungsempfehlungen
đŻ Empfohlene Strategie fĂŒr MĂ€rchenZauber
Phase 1: Entwicklung & Testing
Modell: FLUX.1 Schnell
- Kosten: $0.03/Story
- Zweck: Schnelle Iterationen, Feature-Testing
- Budget: $90/Monat fĂŒr 3000 Test-Stories
// Entwicklungsumgebung
const DEV_MODEL = {
id: 'flux-schnell',
replicateId: 'black-forest-labs/flux-schnell:5599ed30...',
costPerImage: 0.003,
speed: 'ultra-fast'
};
Phase 2: Beta & Early Access
Modell: Google Imagen 4 Fast
- Kosten: $0.20/Story
- Zweck: Gute QualitÀt bei niedrigen Kosten
- Budget: $600/Monat fĂŒr 3000 Stories
// Beta-Umgebung
const BETA_MODEL = {
id: 'imagen-4-fast',
replicateId: 'google/imagen-4-fast:latest',
costPerImage: 0.02,
speed: 'fast',
quality: 'good'
};
Phase 3: Produktion
Hauptmodell: ByteDance Seedream-4
- Kosten: $0.30/Story
- Zweck: 4K-QualitÀt mit Sequenz-Support
- Features: Batch-Generierung, Konsistenz
Premium-Option: FLUX.1.1 Pro
- Kosten: $0.40/Story
- Zweck: Höchste QualitĂ€t fĂŒr Premium-Nutzer
- Features: Beste Prompt-Befolgung
// Produktionsumgebung
const PRODUCTION_MODELS = {
standard: {
id: 'seedream-4',
replicateId: 'bytedance/seedream-4:latest',
costPerImage: 0.03,
features: ['4K', 'sequential', 'batch']
},
premium: {
id: 'flux-pro',
replicateId: 'black-forest-labs/flux-1.1-pro:8f06b9d3...',
costPerImage: 0.04,
features: ['highest-quality', 'prompt-adherence']
}
};
đ Dynamisches Modell-Switching
class ImageModelSelector {
selectModel(user, storyType) {
// Entwickler/Tester
if (user.role === 'developer') {
return MODELS.FLUX_SCHNELL;
}
// Premium-Nutzer
if (user.subscription === 'premium') {
return MODELS.FLUX_PRO;
}
// Geschichten mit vielen Charakteren
if (storyType.characterCount > 3) {
return MODELS.NANO_BANANA; // Beste Konsistenz
}
// Geschichten mit Text-Integration
if (storyType.includesText) {
return MODELS.QWEN_IMAGE;
}
// Standard-Nutzer
return MODELS.IMAGEN_4_FAST;
}
}
API-Verwendungsbeispiele
Grundlegende Replicate-Integration
const Replicate = require('replicate');
class ReplicateImageService {
constructor(apiKey) {
this.client = new Replicate({
auth: apiKey,
useFileOutput: true
});
}
async generateStoryIllustration(prompt, modelConfig) {
try {
// Prompt-Optimierung fĂŒr Kindergeschichten
const enhancedPrompt = this.enhancePromptForChildren(prompt);
// Modell-spezifische Parameter
const input = this.prepareModelInput(enhancedPrompt, modelConfig);
// Generierung
const output = await this.client.run(modelConfig.replicateId, { input });
// Nachbearbeitung
return this.processOutput(output, modelConfig);
} catch (error) {
console.error('Generation failed:', error);
return this.fallbackGeneration(prompt);
}
}
enhancePromptForChildren(prompt) {
const childrenKeywords = [
'colorful', 'friendly', 'cartoon-style',
'whimsical', 'bright', 'cheerful',
'suitable for ages 3-8'
];
return `${prompt}. Style: ${childrenKeywords.join(', ')}`;
}
prepareModelInput(prompt, modelConfig) {
const baseInput = {
prompt,
output_format: 'jpg',
output_quality: 95
};
// Modell-spezifische Anpassungen
switch(modelConfig.id) {
case 'flux-schnell':
return {
...baseInput,
num_inference_steps: 4,
go_fast: true
};
case 'seedream-4':
return {
...baseInput,
resolution: '4K',
sequential_mode: true,
num_images: 10
};
case 'imagen-4-fast':
return {
...baseInput,
aspect_ratio: '16:9',
safety_filter_level: 'block_most',
person_generation: 'dont_allow'
};
default:
return baseInput;
}
}
async fallbackGeneration(prompt) {
// Fallback zu gĂŒnstigstem Modell
return this.client.run(MODELS.FLUX_SCHNELL.replicateId, {
input: {
prompt,
go_fast: true,
num_inference_steps: 4
}
});
}
}
Batch-Generierung fĂŒr Geschichten
class StoryIllustrationService {
async generateStoryIllustrations(story, modelId) {
const model = this.getModelConfig(modelId);
// Sequenzielle Modelle (Seedream-4)
if (model.supportsSequential) {
return this.generateSequential(story, model);
}
// Parallel-Generierung fĂŒr andere Modelle
return this.generateParallel(story, model);
}
async generateSequential(story, model) {
// Seedream-4 kann alle 10 Seiten in einem Batch
const prompts = story.pages.map(page =>
this.createIllustrationPrompt(page, story.character)
);
const output = await this.client.run(model.replicateId, {
input: {
prompt: prompts.join(' | '),
num_images: prompts.length,
sequential_mode: true,
resolution: '4K'
}
});
return this.processSequentialOutput(output, story);
}
async generateParallel(story, model) {
// Parallele Generierung fĂŒr maximale Geschwindigkeit
const promises = story.pages.map(page =>
this.generateSingleIllustration(page, model, story.character)
);
// Limit concurrent requests
const results = await this.batchProcess(promises, 3);
return results;
}
async batchProcess(promises, batchSize) {
const results = [];
for (let i = 0; i < promises.length; i += batchSize) {
const batch = promises.slice(i, i + batchSize);
const batchResults = await Promise.all(batch);
results.push(...batchResults);
}
return results;
}
}
Charakterkonsistenz-Management
class CharacterConsistencyService {
constructor() {
this.characterCache = new Map();
}
async generateWithConsistency(prompt, character, modelId) {
const model = this.getModelConfig(modelId);
// Google Nano Banana - Beste Konsistenz
if (model.id === 'nano-banana') {
return this.generateWithNanoBanana(prompt, character);
}
// FLUX Pro mit Image-Prompt
if (model.id === 'flux-pro') {
return this.generateWithFluxPro(prompt, character);
}
// Qwen mit LoRA
if (model.id === 'qwen-image') {
return this.generateWithQwen(prompt, character);
}
// Standard-Ansatz
return this.generateStandard(prompt, character, model);
}
async generateWithNanoBanana(prompt, character) {
const characterRef = this.characterCache.get(character.id);
return this.client.run('google/nano-banana:latest', {
input: {
prompt: `${character.description}. ${prompt}`,
character_reference: characterRef?.imageUrl,
consistency_mode: 'high',
multi_image_fusion: true,
conversation_history: characterRef?.history || []
}
});
}
async generateWithFluxPro(prompt, character) {
const characterRef = this.characterCache.get(character.id);
return this.client.run(MODELS.FLUX_PRO.replicateId, {
input: {
prompt: `${character.description}. ${prompt}`,
image_prompt: characterRef?.imageUrl,
prompt_upsampling: true,
safety_tolerance: 3
}
});
}
cacheCharacterReference(characterId, imageUrl, metadata) {
this.characterCache.set(characterId, {
imageUrl,
history: metadata.history || [],
description: metadata.description,
timestamp: Date.now()
});
}
}
Best Practices fĂŒr KinderbĂŒcher
1. Prompt-Engineering fĂŒr Kindergeschichten
class ChildrenPromptOptimizer {
optimizePrompt(basePrompt, age_group = '3-8') {
const styles = {
'3-5': {
keywords: ['simple', 'bright colors', 'large features', 'friendly faces'],
avoid: ['complex backgrounds', 'small details', 'scary elements']
},
'6-8': {
keywords: ['detailed', 'adventure', 'magical', 'whimsical'],
avoid: ['violent', 'dark', 'scary', 'inappropriate']
}
};
const style = styles[age_group] || styles['3-8'];
// Basis-Optimierung
let optimized = `${basePrompt}. `;
optimized += `Style: ${style.keywords.join(', ')}. `;
optimized += `Avoid: ${style.avoid.join(', ')}.`;
// Modell-spezifische Anpassungen
return this.addModelSpecificEnhancements(optimized);
}
addModelSpecificEnhancements(prompt) {
// FĂŒr Imagen-Modelle
if (this.currentModel.includes('imagen')) {
prompt += ' Safety: maximum child-friendly content.';
}
// FĂŒr FLUX-Modelle
if (this.currentModel.includes('flux')) {
prompt += ' Render style: Pixar-like 3D cartoon.';
}
// FĂŒr Ideogram
if (this.currentModel.includes('ideogram')) {
prompt += ' Use style preset: cartoon_3d.';
}
return prompt;
}
}
2. Sicherheitsfilter-Konfiguration
const SAFETY_CONFIGS = {
'imagen-4': {
safety_filter_level: 'block_most',
person_generation: 'dont_allow'
},
'flux-pro': {
safety_tolerance: 6 // Maximum (1-6 scale)
},
'stable-diffusion': {
disable_safety_checker: false,
negative_prompt: 'violence, scary, inappropriate, dark, horror'
}
};
3. QualitÀtsstufen-Management
class QualityTierManager {
constructor() {
this.tiers = {
draft: {
model: 'flux-schnell',
cost: 0.003,
quality: 'low',
speed: 'ultra-fast',
use_case: 'Prototyping, Testing'
},
standard: {
model: 'imagen-4-fast',
cost: 0.02,
quality: 'good',
speed: 'fast',
use_case: 'Regular users, daily stories'
},
premium: {
model: 'seedream-4',
cost: 0.03,
quality: 'excellent',
speed: 'standard',
use_case: 'Premium users, special stories'
},
professional: {
model: 'flux-pro',
cost: 0.04,
quality: 'best',
speed: 'slow',
use_case: 'Print books, commercial use'
}
};
}
selectTier(user, story) {
if (story.type === 'test') return this.tiers.draft;
if (user.subscription === 'premium') return this.tiers.premium;
if (story.forPrint) return this.tiers.professional;
return this.tiers.standard;
}
}
4. Fehlerbehandlung und Fallbacks
class RobustImageGeneration {
async generateWithFallbacks(prompt, preferredModel) {
const fallbackChain = [
preferredModel,
'imagen-4-fast', // Erster Fallback
'flux-schnell', // Zweiter Fallback
'qwen-image' // Letzter Fallback
];
for (const modelId of fallbackChain) {
try {
const result = await this.tryGeneration(prompt, modelId);
if (result.success) {
return result;
}
} catch (error) {
console.error(`Model ${modelId} failed:`, error);
continue;
}
}
// Wenn alles fehlschlÀgt
throw new Error('All image generation models failed');
}
async tryGeneration(prompt, modelId) {
const timeout = this.getTimeout(modelId);
return Promise.race([
this.generateImage(prompt, modelId),
this.timeoutPromise(timeout)
]);
}
getTimeout(modelId) {
const timeouts = {
'flux-schnell': 5000, // 5 Sekunden
'imagen-4-fast': 10000, // 10 Sekunden
'flux-pro': 20000 // 20 Sekunden
};
return timeouts[modelId] || 15000;
}
}
Migration von aktuellen Modellen
Schritt-fĂŒr-Schritt Migration
1. Aktuelle Situation
// Aktuell in MĂ€rchenZauber
const CURRENT_MODELS = {
'flux-schnell': 'black-forest-labs/flux-schnell:5599ed30...',
'flux-pro': 'black-forest-labs/flux-1.1-pro:8f06b9d3...',
'sdxl': 'stability-ai/sdxl:39ed52f2...'
};
2. Empfohlene Erweiterung
// Neue Modell-Konfiguration
const ENHANCED_MODELS = {
// Bestehende Modelle behalten
...CURRENT_MODELS,
// Neue Modelle hinzufĂŒgen
'imagen-4-fast': {
id: 'imagen-4-fast',
name: 'Google Imagen 4 Fast',
replicateId: 'google/imagen-4-fast:latest',
costPerImage: 0.02,
estimatedTime: '2-5 Sekunden',
creditsPerImage: 2, // 20% der Story-Credits
features: ['ultra-fast', 'cost-effective', 'safe']
},
'seedream-4': {
id: 'seedream-4',
name: 'ByteDance Seedream 4K',
replicateId: 'bytedance/seedream-4:latest',
costPerImage: 0.03,
estimatedTime: '5-10 Sekunden',
creditsPerImage: 3,
features: ['4K', 'sequential', 'batch-processing']
},
'nano-banana': {
id: 'nano-banana',
name: 'Google Nano Banana Pro',
replicateId: 'google/nano-banana:latest',
costPerImage: 0.039,
estimatedTime: '8-10 Sekunden',
creditsPerImage: 4,
features: ['character-consistency', 'multi-turn-editing']
}
};
3. Backend-Service Update
// image-supabase.service.ts Update
async generateImageWithReplicate(
prompt: string,
path: string,
token?: string,
userId?: string,
): Promise<Result<string>> {
try {
const modelConfig = this.settingsService.getModelConfig(userId);
// Modell-spezifische Optimierungen
const optimizedInput = this.optimizeForModel(
prompt,
modelConfig.id
);
// Erweiterte Fehlerbehandlung
const result = await this.replicateClient.run(
modelConfig.replicateId,
{ input: optimizedInput },
{
wait: {
maxAttempts: 3,
interval: 1000
}
}
);
return this.processResult(result, modelConfig);
} catch (error) {
// Automatischer Fallback
return this.fallbackGeneration(prompt, path, token);
}
}
optimizeForModel(prompt, modelId) {
const optimizations = {
'imagen-4-fast': {
prompt: `${prompt}. Children's illustration style.`,
aspect_ratio: '16:9',
safety_filter_level: 'block_most'
},
'seedream-4': {
prompt: `${prompt}. 4K quality children's book illustration.`,
resolution: '4K',
sequential_mode: true
},
'nano-banana': {
prompt: `${prompt}. Consistent character design.`,
consistency_mode: 'high',
synth_id_watermark: true
}
};
return optimizations[modelId] || { prompt };
}
Performance-Metriken und Monitoring
Tracking-System
class ModelPerformanceTracker {
constructor() {
this.metrics = new Map();
}
async trackGeneration(modelId, startTime, success, cost) {
const duration = Date.now() - startTime;
if (!this.metrics.has(modelId)) {
this.metrics.set(modelId, {
totalGenerations: 0,
successCount: 0,
failureCount: 0,
totalDuration: 0,
totalCost: 0,
averageSpeed: 0,
successRate: 0
});
}
const modelMetrics = this.metrics.get(modelId);
modelMetrics.totalGenerations++;
if (success) {
modelMetrics.successCount++;
modelMetrics.totalDuration += duration;
modelMetrics.totalCost += cost;
} else {
modelMetrics.failureCount++;
}
// Berechne Durchschnittswerte
modelMetrics.averageSpeed =
modelMetrics.totalDuration / modelMetrics.successCount;
modelMetrics.successRate =
modelMetrics.successCount / modelMetrics.totalGenerations;
// Log wichtige Ereignisse
if (modelMetrics.successRate < 0.95) {
console.warn(`Model ${modelId} success rate below 95%:`,
modelMetrics.successRate);
}
return modelMetrics;
}
getBestPerformingModel() {
let bestModel = null;
let bestScore = 0;
this.metrics.forEach((metrics, modelId) => {
// Scoring: Balance zwischen Geschwindigkeit, Erfolgsrate und Kosten
const score = (metrics.successRate * 100) -
(metrics.averageSpeed / 1000) -
(metrics.totalCost * 10);
if (score > bestScore) {
bestScore = score;
bestModel = modelId;
}
});
return bestModel;
}
}
Zusammenfassung und NĂ€chste Schritte
Kernerkenntnisse
-
Kostenoptimierung: FLUX Schnell bietet mit $0.003/Bild die gĂŒnstigste Option, wĂ€hrend Google Imagen 4 Fast mit $0.02/Bild den besten Kompromiss zwischen Kosten und QualitĂ€t darstellt.
-
QualitĂ€tsstufen: FĂŒr ProduktionsqualitĂ€t empfehlen sich ByteDance Seedream-4 (4K Support) oder FLUX.1.1 Pro (beste Prompt-Befolgung).
-
Spezialfeatures:
- Charakterkonsistenz: Google Nano Banana
- Text-Integration: Qwen Image
- KĂŒnstlerische Vielfalt: Ideogram V3 Turbo
- Sequenzielle Generierung: ByteDance Seedream-4
Empfohlene Implementierungsschritte
Kurzfristig (1-2 Wochen)
- Integration von Google Imagen 4 Fast als kostengĂŒnstige Alternative
- A/B-Testing zwischen aktuellen und neuen Modellen
- Performance-Tracking implementieren
Mittelfristig (1 Monat)
- Dynamisches Modell-Switching basierend auf User-Tier
- Seedream-4 fĂŒr Premium-Features integrieren
- Fallback-Kette erweitern
Langfristig (3 Monate)
- ML-basierte Modellauswahl
- Custom LoRA Training fĂŒr Charakterkonsistenz
- Eigene QualitÀtsbewertung entwickeln
GeschÀftsmodell-Optimierung
Bei aktuellem Preis von 10 Credits ($1) pro Geschichte:
| Strategie | Modell-Mix | Kosten/Story | Gewinn/Story | Marge |
|---|---|---|---|---|
| Budget | 100% Imagen Fast | $0.20 | $0.80 | 80% |
| Balanced | 70% Imagen, 30% Seedream | $0.23 | $0.77 | 77% |
| Premium | 50% Seedream, 50% FLUX Pro | $0.35 | $0.65 | 65% |
| Entwicklung | 100% FLUX Schnell | $0.03 | $0.97 | 97% |
Technische Optimierungen
- Caching: HĂ€ufige Charaktere/Szenen zwischenspeichern
- Batch-Processing: Mehrere Seiten gleichzeitig generieren
- Preemptive Generation: NÀchste Seiten wÀhrend des Lesens generieren
- CDN-Integration: Generierte Bilder global verteilen
Diese umfassende Dokumentation bietet eine solide Grundlage fĂŒr die strategische Entscheidung bezĂŒglich der Bildgenerierungsmodelle in MĂ€rchenZauber. Die Empfehlungen berĂŒcksichtigen sowohl technische als auch geschĂ€ftliche Aspekte und ermöglichen eine skalierbare, kosteneffiziente Lösung.