> ## Documentation Index
> Fetch the complete documentation index at: https://docs.so-me.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Medien

> Mediendateien und Ordner hochladen, organisieren und verwalten

Die Medienbefehle verwalten die Dateien und Ordner in deiner Medienbibliothek. Die meisten Befehle akzeptieren für Dateien und Ordner entweder eine **UUID** oder einen **Namen** — passt ein Name auf mehrere Einträge, fordert dich die CLI auf, interaktiv einen auszuwählen.

> [!NOTE]
>
> Namen können mit einer UUID beginnen (zum Beispiel `f200d255-...-photo.pdf`). Die CLI extrahiert die führende UUID automatisch und weicht auf eine Namenssuche aus, falls diese Abfrage fehlschlägt.

## Dateien

### media:upload

Lädt eine Datei in deine Medienbibliothek hoch. Die CLI erledigt die Erzeugung der vorsignierten URL und den Upload zu S3 automatisch.

```bash theme={null}
so-me media:upload [file] [options]
```

| Argument | Beschreibung |
| - | - |
| `[file]` | Pfad zur Datei. Weglassen, um danach gefragt zu werden (unterstützt Drag & Drop — umgebende Anführungszeichen/Leerraum werden entfernt). |

| Option | Beschreibung |
| - | - |
| `--folder <id-or-name>` | In einen bestimmten Ordner hochladen (aufgelöst per UUID oder Name) |

Der MIME-Typ wird aus der Dateiendung abgeleitet. Erkannte Endungen:

| Typ | Endungen |
| - | - |
| Bild | `.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg` |
| Video | `.mp4`, `.mov`, `.avi`, `.webm` |
| Audio | `.mp3`, `.wav` |
| Dokument | `.pdf` |

Jede andere Endung wird als `application/octet-stream` hochgeladen.

```bash Beispiele theme={null}
# Ein Bild hochladen
so-me media:upload ./photo.jpg

# In einen Ordner hochladen (per Name)
so-me media:upload ./banner.png --folder "Campaign Assets"

# Interaktiv — fragt nach einem Pfad (Datei per Drag & Drop)
so-me media:upload
```

```json Antwort theme={null}
{
  "fileId": "f200d255-...",
  "url": "https://cdn.so-me.studio/...",
  "filename": "photo.jpg",
  "size": 1024000
}
```

### media:list

Listet Mediendateien und Ordner auf. Mit `--folder` wird der Inhalt dieses Ordners aufgelistet; mit `--file` werden die Details einer einzelnen Datei zurückgegeben.

```bash theme={null}
so-me media:list [options]
```

| Option | Beschreibung |
| - | - |
| `--folder <id-or-name>` | Den Inhalt eines bestimmten Ordners auflisten (aufgelöst per UUID oder Name) |
| `--file <id-or-name>` | Die Details einer bestimmten Datei abrufen (aufgelöst per UUID, UUID-präfixiertem Namen oder Namenssuche) |

```bash Beispiele theme={null}
# Alle Medien als Tabelle auflisten
so-me media:list --table

# Dateien in einem Ordner auflisten
so-me media:list --folder "Campaign Assets"

# Eine bestimmte Datei per Name abrufen
so-me media:list --file "banner.png"
```

> [!TIP]
>
> Du kannst Dateien und Ordner per Name oder UUID referenzieren. Passt ein Name auf mehrere Einträge, fordert dich die CLI auf, einen auszuwählen.

### media:search

Sucht Mediendateien über alle Ordner hinweg nach Namen.

```bash theme={null}
so-me media:search <term>
```

| Argument | Beschreibung |
| - | - |
| `<term>` | Suchbegriff, der mit Dateinamen abgeglichen wird |

```bash Beispiel theme={null}
so-me media:search "banner"
```

### media:get

Ruft detaillierte Metadaten einer bestimmten Mediendatei über ihre UUID ab.

```bash theme={null}
so-me media:get <id>
```

| Argument | Beschreibung |
| - | - |
| `<id>` | Datei-UUID |

```bash Beispiel theme={null}
so-me media:get f200d255-1234-4abc-89de-0123456789ab
```

### media:delete

Löscht eine oder mehrere Mediendateien oder einen einzelnen Ordner. Standardmäßig ist der Zieltyp `file`; mit `--type folder` löschst du stattdessen einen Ordner. Einträge können per UUID oder Name referenziert werden.

```bash theme={null}
so-me media:delete <items...> [options]
```

| Argument | Beschreibung |
| - | - |
| `<items...>` | Eine oder mehrere Datei-/Ordner-IDs oder -Namen |

| Option | Beschreibung | Standard |
| - | - | - |
| `--type <type>` | Zieltyp: `file` oder `folder` | `file` |
| `-y, --yes` | Bestätigungsabfrage überspringen | — |

Beim Löschen von Dateien wird eine einzelne Datei direkt entfernt, während mehrere Dateien den Endpunkt für Massenlöschung verwenden. Es kann jeweils nur **ein** Ordner gelöscht werden.

```bash Beispiele theme={null}
# Eine Datei per Name löschen
so-me media:delete "old-photo.jpg"

# Mehrere Dateien löschen und die Bestätigung überspringen
so-me media:delete file-id-1 file-id-2 -y

# Einen Ordner mit seinem gesamten Inhalt löschen
so-me media:delete "Old Assets" --type folder
```

> [!WARNING]
>
> Das Löschen eines Ordners entfernt alle darin enthaltenen Dateien. Das kann nicht rückgängig gemacht werden.

### media:bulk-delete

Löscht mehrere Mediendateien per UUID. Nützlich, wenn du die IDs bereits hast und einen einzigen Massenvorgang möchtest.

```bash theme={null}
so-me media:bulk-delete <ids...> [options]
```

| Argument | Beschreibung |
| - | - |
| `<ids...>` | Eine oder mehrere Datei-UUIDs |

| Option | Beschreibung |
| - | - |
| `-y, --yes` | Bestätigungsabfrage überspringen |

```bash Beispiele theme={null}
so-me media:bulk-delete file-id-1 file-id-2 file-id-3
so-me media:bulk-delete file-id-1 file-id-2 -y
```

### media:move

Verschiebt eine Datei oder einen Ordner an einen anderen Ort. Die Quelle wird über Dateien und Ordner hinweg aufgelöst — passt ein Name auf mehr als einen Eintrag, wirst du zur Auswahl aufgefordert.

```bash theme={null}
so-me media:move <id-or-name> --to <folder-id-or-name>
```

| Argument | Beschreibung |
| - | - |
| `<id-or-name>` | ID oder Name der zu verschiebenden Datei bzw. des Ordners |

| Option | Beschreibung |
| - | - |
| `--to <folder-id-or-name>` | ID oder Name des Zielordners oder `root` **(erforderlich)** |

```bash Beispiele theme={null}
# Eine Datei in einen Ordner verschieben
so-me media:move "banner.png" --to "Campaign Assets"

# Eine Datei zurück in die Wurzel verschieben
so-me media:move "banner.png" --to root

# Einen Ordner in einen anderen Ordner verschieben
so-me media:move "Old Folder" --to "Archive"
```

### media:rename

Benennt eine Datei oder einen Ordner um. Standardmäßig wird eine Datei umbenannt; mit `--type folder` benennst du einen Ordner um.

```bash theme={null}
so-me media:rename <id-or-name> --name <new-name> [options]
```

| Argument | Beschreibung |
| - | - |
| `<id-or-name>` | ID oder Name der Datei bzw. des Ordners |

| Option | Beschreibung | Standard |
| - | - | - |
| `--name <new-name>` | Neuer Name **(erforderlich)** | — |
| `--type <type>` | Zieltyp: `file` oder `folder` | `file` |

```bash Beispiele theme={null}
so-me media:rename "banner.png" --name "launch-banner.png"
so-me media:rename "Assets" --name "2026 Assets" --type folder
```

***

## Ordner

### media:folders

Listet alle Medienordner auf.

```bash theme={null}
so-me media:folders
```

```bash Beispiel theme={null}
so-me media:folders --table
```

### media:create-folder

Erstellt einen Medienordner, optional verschachtelt in einem vorhandenen übergeordneten Ordner.

```bash theme={null}
so-me media:create-folder --name <name> [options]
```

| Option | Beschreibung |
| - | - |
| `--name <name>` | Ordnername **(erforderlich)** |
| `--parent <id-or-name>` | ID oder Name des übergeordneten Ordners (erstellt einen verschachtelten Ordner) |

```bash Beispiele theme={null}
# Einen Ordner auf oberster Ebene erstellen
so-me media:create-folder --name "Campaign Assets"

# Einen verschachtelten Ordner unter einem vorhandenen Elternordner erstellen
so-me media:create-folder --name "Q3" --parent "Campaign Assets"
```

### media:rename-folder

Benennt einen Medienordner um. (Entspricht `media:rename --type folder`.)

```bash theme={null}
so-me media:rename-folder <id-or-name> --name <new-name>
```

| Argument | Beschreibung |
| - | - |
| `<id-or-name>` | ID oder Name des Ordners |

| Option | Beschreibung |
| - | - |
| `--name <new-name>` | Neuer Name **(erforderlich)** |

```bash Beispiel theme={null}
so-me media:rename-folder "Assets" --name "2026 Assets"
```

### media:move-folder

Verschiebt einen Ordner in einen anderen übergeordneten Ordner. (Entspricht dem Ausführen von `media:move` auf einem Ordner.)

```bash theme={null}
so-me media:move-folder <id-or-name> --to <parent-id-or-name>
```

| Argument | Beschreibung |
| - | - |
| `<id-or-name>` | ID oder Name des Ordners |

| Option | Beschreibung |
| - | - |
| `--to <parent-id-or-name>` | ID oder Name des übergeordneten Zielordners oder `root` **(erforderlich)** |

```bash Beispiele theme={null}
# Einen Ordner unter einem anderen verschachteln
so-me media:move-folder "Q3" --to "Campaign Assets"

# Einen Ordner zurück in die Wurzel verschieben
so-me media:move-folder "Q3" --to root
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.