> ## 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.

# Multimedia

> Sube, organiza y gestiona archivos y carpetas multimedia

Los comandos de multimedia gestionan los archivos y carpetas de tu biblioteca multimedia. La mayoría de los comandos
aceptan un **UUID** o un **nombre** para archivos y carpetas; cuando un nombre coincide con
varios elementos, la CLI te pide que elijas uno de forma interactiva.

> [!NOTE]
>
> Los nombres pueden llevar un UUID como prefijo (por ejemplo `f200d255-...-photo.pdf`). La CLI extrae
> automáticamente el UUID inicial y, si esa búsqueda falla, recurre a una búsqueda por nombre.

## Archivos

### media:upload

Sube un archivo a tu biblioteca multimedia. La CLI gestiona automáticamente la generación de la URL prefirmada y la
subida a S3.

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

| Argumento | Descripción |
| - | - |
| `[file]` | Ruta al archivo. Omítela para que se te pida (admite arrastrar y soltar; se eliminan las comillas y los espacios circundantes). |

| Opción | Descripción |
| - | - |
| `--folder <id-or-name>` | Sube a una carpeta concreta (se resuelve por UUID o nombre) |

El tipo MIME se deduce de la extensión del archivo. Extensiones reconocidas:

| Tipo | Extensiones |
| - | - |
| Imagen | `.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg` |
| Vídeo | `.mp4`, `.mov`, `.avi`, `.webm` |
| Audio | `.mp3`, `.wav` |
| Documento | `.pdf` |

Cualquier otra extensión se sube como `application/octet-stream`.

```bash Ejemplos theme={null}
# Upload an image
so-me media:upload ./photo.jpg

# Upload into a folder (by name)
so-me media:upload ./banner.png --folder "Campaign Assets"

# Interactive — prompts for a path (drag & drop a file)
so-me media:upload
```

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

### media:list

Lista archivos y carpetas multimedia. Con `--folder`, lista el contenido de esa carpeta;
con `--file`, devuelve los detalles de un solo archivo.

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

| Opción | Descripción |
| - | - |
| `--folder <id-or-name>` | Lista el contenido de una carpeta concreta (se resuelve por UUID o nombre) |
| `--file <id-or-name>` | Obtiene los detalles de un archivo concreto (se resuelve por UUID, nombre con prefijo UUID o búsqueda por nombre) |

```bash Ejemplos theme={null}
# List all media as a table
so-me media:list --table

# List files inside a folder
so-me media:list --folder "Campaign Assets"

# Get a specific file by name
so-me media:list --file "banner.png"
```

> [!TIP]
>
> Puedes referirte a archivos y carpetas por nombre o por UUID. Cuando varios elementos coinciden con un
> nombre, la CLI te pide que selecciones uno.

### media:search

Busca archivos multimedia por nombre en todas las carpetas.

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

| Argumento | Descripción |
| - | - |
| `<term>` | Término de búsqueda que se compara con los nombres de archivo |

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

### media:get

Obtiene los metadatos detallados de un archivo multimedia concreto por su UUID.

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

| Argumento | Descripción |
| - | - |
| `<id>` | UUID del archivo |

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

### media:delete

Elimina uno o más archivos multimedia, o una sola carpeta. Por defecto el tipo de destino es
`file`; pasa `--type folder` para eliminar una carpeta. Los elementos pueden indicarse por
UUID o por nombre.

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

| Argumento | Descripción |
| - | - |
| `<items...>` | Uno o más ID o nombres de archivo/carpeta |

| Opción | Descripción | Por defecto |
| - | - | - |
| `--type <type>` | Tipo de destino: `file` o `folder` | `file` |
| `-y, --yes` | Omite la confirmación | — |

Al eliminar archivos, un solo archivo se elimina directamente, mientras que varios archivos usan el
endpoint de eliminación masiva. Solo se puede eliminar **una** carpeta a la vez.

```bash Ejemplos theme={null}
# Delete a file by name
so-me media:delete "old-photo.jpg"

# Delete multiple files, skipping confirmation
so-me media:delete file-id-1 file-id-2 -y

# Delete a folder and all its contents
so-me media:delete "Old Assets" --type folder
```

> [!WARNING]
>
> Eliminar una carpeta elimina todos los archivos que contiene. No se puede deshacer.

### media:bulk-delete

Elimina varios archivos multimedia por UUID. Útil cuando ya tienes los ID y quieres una
única operación masiva.

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

| Argumento | Descripción |
| - | - |
| `<ids...>` | Uno o más UUID de archivo |

| Opción | Descripción |
| - | - |
| `-y, --yes` | Omite la confirmación |

```bash Ejemplos 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

Mueve un archivo o una carpeta a otra ubicación. El origen se resuelve entre archivos
y carpetas; si un nombre coincide con más de un elemento, se te pide que elijas.

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

| Argumento | Descripción |
| - | - |
| `<id-or-name>` | ID o nombre del archivo o carpeta que se mueve |

| Opción | Descripción |
| - | - |
| `--to <folder-id-or-name>` | ID o nombre de la carpeta de destino, o `root` **(obligatorio)** |

```bash Ejemplos theme={null}
# Move a file into a folder
so-me media:move "banner.png" --to "Campaign Assets"

# Move a file back to the root
so-me media:move "banner.png" --to root

# Move a folder into another folder
so-me media:move "Old Folder" --to "Archive"
```

### media:rename

Renombra un archivo o una carpeta. Por defecto renombra un archivo; pasa `--type folder` para renombrar
una carpeta.

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

| Argumento | Descripción |
| - | - |
| `<id-or-name>` | ID o nombre del archivo o carpeta |

| Opción | Descripción | Por defecto |
| - | - | - |
| `--name <new-name>` | Nuevo nombre **(obligatorio)** | — |
| `--type <type>` | Tipo de destino: `file` o `folder` | `file` |

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

***

## Carpetas

### media:folders

Lista todas las carpetas multimedia.

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

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

### media:create-folder

Crea una carpeta multimedia, con la posibilidad de anidarla dentro de una carpeta superior existente.

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

| Opción | Descripción |
| - | - |
| `--name <name>` | Nombre de la carpeta **(obligatorio)** |
| `--parent <id-or-name>` | ID o nombre de la carpeta superior (crea una carpeta anidada) |

```bash Ejemplos theme={null}
# Create a top-level folder
so-me media:create-folder --name "Campaign Assets"

# Create a nested folder under an existing parent
so-me media:create-folder --name "Q3" --parent "Campaign Assets"
```

### media:rename-folder

Renombra una carpeta multimedia. (Equivale a `media:rename --type folder`.)

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

| Argumento | Descripción |
| - | - |
| `<id-or-name>` | ID o nombre de la carpeta |

| Opción | Descripción |
| - | - |
| `--name <new-name>` | Nuevo nombre **(obligatorio)** |

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

### media:move-folder

Mueve una carpeta dentro de otra carpeta superior. (Equivale a ejecutar `media:move` sobre una
carpeta.)

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

| Argumento | Descripción |
| - | - |
| `<id-or-name>` | ID o nombre de la carpeta |

| Opción | Descripción |
| - | - |
| `--to <parent-id-or-name>` | ID o nombre de la carpeta superior de destino, o `root` **(obligatorio)** |

```bash Ejemplos theme={null}
# Nest a folder under another
so-me media:move-folder "Q3" --to "Campaign Assets"

# Move a folder back to the root
so-me media:move-folder "Q3" --to root
```


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