LoreKeeper
API Referenz

Stil-Vorlagen API

REST-Schnittstellen zur Verwaltung von Bild-, Text-, Animations- und Audiostilen

Stil-Vorlagen & Muster API (/api/styles)

Die Stil-Vorlagen API stellt zentrale Endpunkte zur Verwaltung, Abfrage und Pflege aller Stilmuster bereit. Sie löst die früheren statischen JSON-Dateien (illustration-patterns.json und text-patterns.json) im Frontend vollständig ab und persistiert alle Änderungen direkt in der Directus-Datenbank (style_templates und reference_images).


Endpunkte im Überblick

MethodePfadBeschreibung
GET/api/stylesStil-Vorlagen auflisten (Filter: type, is_public, search, include_references)
GET/api/styles/:idOrSlugEinzelne Stil-Vorlage per UUID oder Slug samt Referenzkarten abrufen
POST/api/stylesNeue Stil-Vorlage in Directus anlegen
PATCH/api/styles/:idOrSlugAttribute einer bestehenden Stil-Vorlage aktualisieren
DELETE/api/styles/:idOrSlugStil-Vorlage und zugehörige Referenzkarten löschen
GET/api/styles/legacy/illustration-patternsBildstile im Format von illustration-patterns.json für Frontend-Kompatibilität
GET/api/styles/legacy/text-patternsTextstile im Format von text-patterns.json für Frontend-Kompatibilität
POST/api/styles/legacy/actionAktionen (create, rename, delete, updateTags, updatePrompt) ausführen

1. Stile auflisten (GET /api/styles)

Query-Parameter

  • type (optional): illustration | text | animation | audio
  • is_public (optional): true | false
  • search (optional): Suchbegriff (durchsucht name, slug und description)
  • include_references (optional): true | false (bettet bei Bildstilen verknüpfte Referenzkarten ein)

Beispiel-Anfrage

curl "http://localhost:3005/api/styles?type=illustration&include_references=true"

Beispiel-Antwort (200 OK)

{
  "success": true,
  "count": 51,
  "data": [
    {
      "id": "d98a8e3d-e1ca-4b02-9b6a-4c24f6ea9667",
      "name": "Maurice Sendak (Wo die wilden Kerle wohnen)",
      "slug": "maurice-sendak-wild-things",
      "type": "illustration",
      "description": "Expressive Feder- und Tuschezeichnungen mit dichter Schraffur und gedeckten Aquarelltönen.",
      "prompt_modifier": "Art style: Maurice Sendak inspired illustration...",
      "tags": ["pen-and-ink", "classic", "wild", "storybook"],
      "is_public": true,
      "reference_images": [
        {
          "id": "9ec95b93-9034-4b84-8090-adb28f9a039a",
          "category": "architecture",
          "prompt": "Art style: Maurice Sendak... CRITICAL LAYOUT INSTRUCTION: 3-box asymmetric layout...",
          "asset_url": "https://laefnabeiafnaleiafafe.2.28.78.110.sslip.io/assets/412cd68c-7a6d-4107-aee7-e97c9bc9a432",
          "thumbnail_url": "https://laefnabeiafnaleiafafe.2.28.78.110.sslip.io/assets/412cd68c-7a6d-4107-aee7-e97c9bc9a432?width=400"
        }
      ]
    }
  ]
}

2. Einzelne Stil-Vorlage abrufen (GET /api/styles/:idOrSlug)

Ermöglicht den Abruf sowohl über die interne UUID als auch über den lesbaren Slug (z.B. ghibli, janosch-panama, fairytale-narrator).

curl http://localhost:3005/api/styles/janosch-panama

3. Neue Stil-Vorlage anlegen (POST /api/styles)

Request-Body

{
  "name": "Astrid Lindgren (Saltkrokan)",
  "slug": "astrid-lindgren-saltkrokan",
  "type": "illustration",
  "description": "Nostalgischer schwedischer Sommerstil mit warmem Licht und Naturmotiven.",
  "prompt_modifier": "Art style: Swedish archipelago watercolor and soft pencil...",
  "tags": ["nostalgic", "summer", "watercolor"],
  "is_public": true
}

4. Frontend-Kompatibilitätsadapter

Für die bestehende Studio-Oberfläche im Frontend (liberino-frontend) stellt der API-Server zwei dedizierte Legacy-Endpunkte bereit:

# Entspricht exakt der früheren illustration-patterns.json
curl http://localhost:3005/api/styles/legacy/illustration-patterns

# Entspricht exakt der früheren text-patterns.json
curl http://localhost:3005/api/styles/legacy/text-patterns

Bei Mutationen leitet das Frontend Aktionen über POST /api/styles/legacy/action weiter:

{
  "action": "updatePrompt",
  "id": "maurice-sendak-wild-things",
  "promptModifier": "Neuer optimierter Prompt-Modifier..."
}

Die Änderung wird transaktional in Directus persistiert.


5. Reverse-Engineering von Stilen

Bildstil analysieren (POST /api/styles/reverse-prompt)

Führt ein multimodales KI-Reverse-Engineering auf Basis von bis zu 5 Referenzbildern durch und extrahiert die reine stilistische DNA als Prompt-Modifier (ohne konkrete Figuren oder Gegenstände).

curl -X POST http://localhost:3005/api/styles/reverse-prompt \
  -H "Content-Type: application/json" \
  -d '{
    "images": ["data:image/png;base64,..."],
    "styleName": "Studio Ghibli Anime",
    "currentPrompt": "Optionaler Ausgangs-Prompt"
  }'

Schreibstil analysieren (POST /api/styles/reverse-text)

Analysiert literarische Textauszüge und erzeugt ein Regelwerk (Tonfall, Wortschatz, positive/negative Formulierungsbeispiele).

curl -X POST http://localhost:3005/api/styles/reverse-text \
  -H "Content-Type: application/json" \
  -d '{
    "referenceTexts": [
      "Textprobe 1...",
      "Textprobe 2..."
    ]
  }'

6. Master Benchmark Cards

Liefert die 4 standardisierten Prompt-Spezifikationen für visuelle Konsistenzkarten:

  1. characters: 12-Boxen-Grid (Mann, Frau, Kind in 4 Ansichten)
  2. architecture: 3-Boxen asymmetrisches Gebäude-Layout
  3. landscapes: 2 horizontale Naturpanoramen
  4. full_scene: Durchgehende Gesamtszene ohne Raster
# Alle 4 Benchmark-Spezifikationen abrufen
curl -X POST http://localhost:3005/api/styles/generate-benchmark-cards \
  -H "Content-Type: application/json" \
  -d '{
    "styleId": "arcane-style",
    "styleName": "Arcane Steampunk",
    "promptModifier": "Art style: Fortiche Arcane brushwork..."
  }'

# Einzelne Karte verwerfen / aus Directus löschen
curl -X POST http://localhost:3005/api/styles/discard-benchmark-card \
  -H "Content-Type: application/json" \
  -d '{
    "styleId": "arcane-style",
    "cardIndex": 1
  }'

On this page