🎨 Leonardo AI Görsel Üretim Analizi

📅 Tarih: 2025-11-20 | 🎯 Tenant: ixtif.com (Tenant 2) | 👤 Konu: Blog görsel üretim sistemi entegrasyonu

📊 Mevcut Durum

88
Toplam Blog
3
Görseli Var
85
Görseli Yok
0
Leonardo AI
⚠️ Kritik Durum

85 blog görselsiz durumda! Leonardo AI entegrasyonu tamamlandı ancak henüz hiçbir görsel üretilmedi. Eski bloglara görsel üretme komutu oluşturulacak.

🔄 Görsel Üretim Akışı

1
Cron Tetikleme
php artisan generate:tenant-blogs komutu her 5 dakikada çalışır (test modu). Tenant ayarlarını kontrol eder, aktif draft'ı seçer.
2
Job Queue'ya Gönderim
GenerateBlogFromDraftJob dispatch edilir. Queue: blog-ai. Horizon bu job'u işler, tenant context'i restore eder.
3
BlogAIContentWriter İşlemi
generateBlogFromDraft() metodu çağrılır. AI ile blog içeriği üretilir (Body, FAQ, HowTo). Validation yapılır (min 1000 karakter, 5 FAQ, 3 HowTo step).
4
Leonardo AI Görsel Üretimi
LeonardoAIService::generateForBlog() çağrılır. Blog başlığından sektörel prompt oluşturulur. Leonardo Phoenix modeli ile 1024x768 görsel üretilir. Polling ile sonuç beklenir (~30-60 saniye).
5
Media Kayıt
Görsel indirilir, Spatie MediaLibrary ile featured_image collection'a eklenir. SEO metadata (alt_text, title, description) + custom properties (provider=leonardo, generation_id, prompt) kaydedilir.

🎯 Prompt Üretim Mekanizması

Tenant-Aware Prompt Seçimi

LeonardoAIService, tenant ID'ye göre farklı prompt builder kullanır. Her sektör için özelleştirilmiş profesyonel sahne tanımları üretir.

// Tenant kontrolü (buildPromptForBlog metodu)
if ($tenantId == 2) {
  return $this->buildIndustrialPrompt($title);
}

if ($tenantId == 1001) {
  return $this->buildMusicPrompt($title);
}

// Default: Generic prompt
return $this->buildGenericPrompt($title);

Ekipman Tespiti (Tenant 2 - ixtif.com)

Blog başlığından anahtar kelimeler tespit edilir ve ilgili ekipman tipi belirlenir:

Anahtar Kelime Tespit Edilen Ekipman
forklift, istif makine electric forklift, counterbalance forklift, reach truck forklift
transpalet, palet jak electric pallet jack, manual pallet truck, powered pallet jack
istif, stacker warehouse stacker machine
depo, lojistik, warehouse warehouse material handling equipment
(varsayılan) industrial warehouse equipment

Örnek Prompt Çıktıları

📝 Örnek 1: "Forklift Bakımı Nasıl Yapılır?"
Professional photograph of a modern warehouse interior with electric forklift in action, natural lighting through skylights, workers in safety gear, clean organized environment, industrial architecture, photorealistic, high resolution, professional commercial photography, no text, no watermarks
📝 Örnek 2: "Transpalet Seçim Rehberi 2025"
High-quality commercial photo of powered pallet jack operating in a busy logistics center, professional lighting, safety markings visible, realistic industrial setting, photorealistic, high resolution, professional commercial photography, no text, no watermarks
📝 Örnek 3: "Depo Yönetimi ve İstif Sistemleri"
Corporate style photograph of warehouse stacker machine in a state-of-the-art distribution facility, clean concrete floors, LED lighting, organized pallet racks in background, photorealistic, high resolution, professional commercial photography, no text, no watermarks

Prompt Yapısı

// 4 farklı sahne şablonu random seçilir
$scenes = [
  "Professional photograph of modern warehouse interior with {equipment}...",
  "High-quality commercial photo of {equipment} in logistics center...",
  "Corporate style photograph of {equipment} in distribution facility...",
  "Editorial quality image of warehouse operations with {equipment}...",
];

// Sabit suffix eklenir
return $scene . ", photorealistic, high resolution, professional commercial photography, no text, no watermarks";

🎯 Yapılacaklar

1. Eski Bloglara Görsel Üretme Komutu Yüksek Öncelik

85 görselsiz blog için artisan komutu oluşturulacak. php artisan blog:generate-images komutu, görseli olmayan blogları bulacak ve Leonardo AI ile görsel üretecek. Rate limiting (API limit), hata yönetimi ve progress bar içerecek.

Komut özellikleri:

  • --limit=N: Kaç blog işlenecek (varsayılan: 10)
  • --tenant-id=N: Belirli tenant için
  • --dry-run: Test modu (API çağrısı yapmaz)
  • Rate limit: Her görsel arası 5 saniye bekleme

2. Leonardo AI Maliyet Takibi Orta Öncelik

Her görsel üretimi için kredi kullanımı loglanacak. Aylık kullanım raporu ve limit uyarısı eklenecek. Leonardo AI'da aylık 3500 kredi var (~500 görsel). 85 blog için yeterli.

3. Fallback Mekanizma Orta Öncelik

Leonardo AI başarısız olursa stock photo'ya geri dönecek fallback eklenecek. Böylece blog üretimi hiçbir zaman görselsiz kalmayacak. Öncelik sırası: Leonardo AI → Pexels → Unsplash → Pixabay

📋 Önerilen Artisan Komutu

// Kullanım örnekleri

# İlk 10 görselsiz blogu işle
php artisan blog:generate-images

# 50 blogu işle
php artisan blog:generate-images --limit=50

# Belirli tenant için
php artisan blog:generate-images --tenant-id=2 --limit=20

# Test modu (API çağrısı yapmaz)
php artisan blog:generate-images --dry-run

Bu komut ile 85 görselsiz blog için sırayla Leonardo AI görsel üretimi yapılabilir. Rate limiting sayesinde API limit aşımı olmaz.

💰 Maliyet Analizi

$9
Aylık Plan
3500
Kredi/Ay
~7
Kredi/Görsel
~500
Görsel/Ay

85 eski blog için: 85 × 7 = ~595 kredi. İlk ay için yeterli.
Sonraki aylar: Günlük 3-5 blog × 30 gün = 90-150 görsel/ay → Rahat yeterli.