PicCaptionr: Erstelle Instagram-taugliche Bildunterschriften mit KI
Lesedauer: 3 Minuten

Ein KI-gestütztes Tool, das automatisch schöne, kontextbezogene Bildunterschriften im Instagram-Stil erstellt – direkt von deinem Desktop, auf allen wichtigen Plattformen.

In einer Welt voller Fotos ist es oft die Bildunterschrift, die auf Social Media den Unterschied macht.
Egal ob du Reiseblogger, Content Creator oder Gelegenheits-Abenteurer bist – die richtigen Worte zu finden, ist manchmal schwerer, als das perfekte Foto zu schießen.

Features

  • 🧠 OpenAI Vision-Unterstützung zum Erkennen von Bildinhalten
  • 🌍 Mehrsprachige Ausgabe (z. B. Englisch, Deutsch, Spanisch)
  • 📁 Verarbeitung von mehreren Bildern aus Ordnern
  • 🧾 JSON-Export inklusive EXIF- und KI-Metadaten
  • ⚙️ Konsolen- und GUI-Varianten (Avalonia & WPF)
  • ☁️ Unterstützung für OpenAI- und Azure-OpenAI-Backends

🧱 Architekturüberblick

PicCaptionr ist sauber strukturiert – mit DI-fähigen Servicelayern und plattformspezifischen UI-Layern:

Bash
PicCaptionr.ConsoleApp     # Konsolen-App (Cross-Platform)
PicCaptionr.WPFApp         # WPF UI für Windows
PicCaptionr.AvaloniaApp    # Cross-Platform UI mit Avalonia
PicCaptionr                # Gemeinsame Services, Modelle und Interfaces
Bash

🖼️ So funktioniert’s

Jedes Foto durchläuft folgende Ablauf:

  1. EXIF-Metadaten auslesen (z. B. GPS, Zeitstempel)
  2. Bildgröße für effiziente KI-Abfragen anpassen
  3. Prompt mit optionalem Benutzereingaben erstellen
  4. OpenAIs Vision API aufrufen, um das Foto zu analysieren
  5. Vorschlag für eine Bildunterschrift erhalten
  6. Alle Daten (inklusive Tokens und Metadaten) als JSON exportieren

🔍 Beispiel: Verarbeitung eines Bildes

Die Kernlogik liegt im ProcessService oder im entsprechenden ViewModel. Hier eine vereinfachte Version:

C#
public async Task StartProcessAsync()
{
   string[] imageFiles = Directory.GetFiles(pictureFolderPath)
      .Where(file => imageExtensions.Contains(Path.GetExtension(file)))
      .ToArray();

   foreach (var image in imageFiles)
   {
      ImageMetaDataResponse meta 
        = await _imageService.ExtractMetaDataAsync(image);

      byte[] resizedImage 
        = await _imageService.ResizeImageAsync(image);

      string prompt 
        = _promptService.CreatePrompt(meta, userInput);

      AIResponse aiResponse 
        = await _chatService.MakeVisionRequestAsync(resizedImage, prompt);

      instagramItems.Add(new InstagramItem(
        image,
        meta,
        aiResponse));
   }

   _storageService.WriteData(outputPath, instagramItems);
}
C#

💾 Beispielausgabe

Jedes Bild erzeugt einen JSON-Eintrag wie:

JSON
[
  {
    "ImageName": "tsjreiseblog_28-Jul-2025.jpg",
    "ImageMetaData": {
      "CaptureDate": "2025-07-28",
      "Latitude": null,
      "Longitude": null
    },
    "OpenAIResponse": {
      "RawContent": "Exploring the charming streets and historic sights of Civitavecchia, ...",
      "FormattedContent": "Exploring the charming streets and historic sights of ...",
      "InputTokens": 800,
      "OutputTokens": 94
    }
  }
]
JSON

💻 Plattformunterstützung

VarianteBeschreibungPlattformen
Console AppInteraktive CLIWindows, Linux, macOS
WPF AppNative Desktop-UIWindows
Avalonia AppCross-Platform GUIWindows, Linux, macOS

🧑‍💻 Von WPF zu Avalonia

Ursprünglich habe ich die WPF-Version entwickelt, um schnell eine einfache, benutzerfreundliche UI für Windows bereitzustellen. Das hat super funktioniert – aber schon bald wurde klar: Eine Cross-Platform-Lösung ist nötig, besonders für macOS- und Linux-Nutzer.

Darum habe ich eine zweite Version mit Avalonia gebaut – einem UI-Framework ähnlich wie WPF, das aber überall läuft. Normalerweise würdest du nicht beide Varianten pflegen, aber für dieses Projekt war es eine tolle Lernerfahrung und ein gutes Beispiel für modulare Architektur mit geteilten Services.

📸 UI-Einblicke

Console App
WPF App
Avalonia App

🚀 Get Started

Bash
git clone https://github.com/tsjdev-apps/piccaptionr.git
cd .\piccaptionr\src\PicCaptionr.ConsoleApp
dotnet run
Bash

CI/CD

Dank GitHub Actions gibt es fertige Builds für jede App:

  • 🟩 Console App (win-x64, linux-x64, osx-x64, osx-arm64)
  • 🟦 WPF App (nur Windows)
  • 🟨 Avalonia App (Cross-Platform)

🧠 Fazit

PicCaptionr begann als kleines Tool, um während einer Weltreise hunderte Fotos zu betiteln – und ist heute ein Hilfsprogramm für Content Creator, Influencer und Reisebegeisterte.

Es ist schnell. Es ist flexibel. Und es ist Open Source.

Gib dem Projekt einen ⭐ auf GitHub und erzähle deine eigenen Fotogeschichten mit KI!

👉 GitHub Repo

Statistiken über GitHub-Nutzung mit GitHub Wrapped Alexa Skills mit .NET entwickeln XAML Controls Gallery: XAML Controls ausprobieren
View Comments
There are currently no comments.