# Upload + Tagging

# Upload + Tagging

Dieses Kapitel zeigt, wie du Assets sauber in die Library bekommst und so taggst, dass du sie später wiederfindest.

## Upload

Im Dashboard auf `/dashboard/media` klick oben `« Upload »`. Du hast drei Wege:

1. **Drag & Drop**: Dateien aus dem Datei-Explorer auf den Upload-Bereich ziehen. Mehrere gleichzeitig sind ok.
2. **Datei-Auswahl**: Klassischer Datei-Dialog.
3. **URL-Import**: Eine externe URL einfügen; Chatlix lädt das Asset serverseitig und legt es in der Library ab. Nützlich für lizenz-freie Sound-Quellen oder dein eigenes CDN.

Während des Uploads siehst du pro Datei eine Fortschrittsleiste. Nach Abschluss läuft serverseitig die **Probe** (Format-Erkennung, Dauer, Auflösung) und ggf. Transcoding. Bei großen Dateien kann es ein paar Sekunden dauern, bis das Asset spielbar markiert ist.

API-Pendant: `POST /v1/media/upload` als `multipart/form-data` mit `file=<binary>` und optional `name`, `category`, `tags[]`.

## Naming

Dateinamen werden bei Upload als Asset-Name übernommen, aber du kannst sie nachträglich umbenennen. Empfehlungen:

- Beschreibend, nicht generisch: `airhorn-loud.mp3` statt `sound1.mp3`.
- Konvention pro Kategorie: z.B. Alert-Sounds mit Präfix `alert-` (`alert-follow.mp3`, `alert-sub.mp3`).
- Keine Sonderzeichen außer `-` und `_`.

Das Erleichtert spätere Sortierung und Suche.

## Kategorien setzen

Nach dem Upload öffnest du das Asset (Klick im Grid) und wählst rechts die Kategorie aus dem Dropdown:

- **Sound** — alle Audio-Assets, die in Stream-Situationen abgespielt werden (Alert-Sounds, Soundboard-Effekte).
- **Sticker** — kleine PNGs/GIFs, die als Reaktions-Element eingeblendet werden.
- **Alert** — Alert-Specials (Video-Animations oder Komplett-Alerts).
- **Background** — Hintergründe für StoryQuest-Nodes oder Overlay-Szenen.

Kategorien sind grobe Ordnungs-Hilfen. Wenn keine richtig passt, lass sie leer und nutze Tags.

## Tags vergeben

Tags sind das eigentliche Such-Werkzeug. Praxis-Tipps:

- **Konsistent**: Halte eine kleine Tag-Liste, statt für jedes Asset neue Tags zu erfinden. Beispiele: `intro`, `outro`, `funny`, `dramatic`, `airhorn`, `nope`, `victory`, `defeat`.
- **Mehrdimensional**: Ein Asset kann mehrere Tags haben — Stimmung (`funny`), Verwendung (`alert-follow`), Quelle (`from-stream`).
- **Tools**: Wenn du Assets stapelweise hochlädst, ist im Multi-Select-Modus eine Bulk-Action `« Tags zuweisen »` verfügbar.

Im Such-Feld der Library kannst du nach Tag filtern (z.B. `tag:funny`), nach Kategorie (`cat:Sound`) oder nach Freitext im Dateinamen.

## Metadaten prüfen

Im Detail-Panel siehst du nach dem Probe-Run:

- Format, Codec.
- Dauer (bei Audio/Video).
- Auflösung (bei Bild/Video).
- Dateigröße.
- Erstellt-am, Zuletzt-verwendet-am.

Wenn die Dauer 0 ist oder Codec leer, ist die Probe gescheitert. Klick `« Erneut analysieren »` (`POST /v1/media-engine/reprocess`). Bei wiederholtem Fehlschlag: Datei neu encoden (z.B. via ffmpeg) und re-uploaden.

## Upload-Fehler

Häufige Codes:

- `MEDIA_QUOTA_EXCEEDED` — Quota voll. Lösche alte Assets oder upgrade.
- `MEDIA_FORMAT_UNSUPPORTED` — Format nicht in Liste (z.B. AVI, MOV). Konvertier zu MP4/WebM.
- `MEDIA_FILE_TOO_LARGE` — Über 50 MB. Komprimier oder kürze. Für längere Videos: Clip-Studio nutzen, nicht Media Library.
- `MEDIA_VIRUS_DETECTED` — selten, aber automatisches Scanning hat etwas auffälliges gefunden. Falls du sicher bist, dass die Datei sauber ist, Support melden.

## Asset entfernen

Im Detail-Panel `« Löschen »`. Du bekommst eine Liste aller Verwendungen (Automations, StoryQuests, Overlays). Wenn das Asset noch aktiv genutzt wird, blockiert die Löschung mit der Liste. Erst Referenzen ersetzen, dann erneut löschen.

Wenn das Asset gelöscht ist, ist es weg — keine Wiederherstellung. Bei wichtigen Master-Assets lohnt sich ein lokales Backup deinerseits.
