ferraus tags
Read and write metadata tags and cover art
Synopsis
ferraus tags <input> [options] [-o <output>]
What it does
With no options, prints the file's tags and embedded pictures. --set key=value (repeatable), --remove key, --art cover.jpg, and --clear modify tags; writing needs --in-place (keeps <file>.bak) or -o for a tagged copy. Keys: title, artist, album, album_artist, date, year, genre, track, track_total, disc, disc_total, comment, composer, bpm, copyright, encoder, lyrics, label, publisher, isrc, conductor, lyricist, language, key, mood.
Examples
Show title, artist, album and embedded art
ferraus tags song.mp3
Edit tags in place (song.flac.bak is kept)
ferraus tags song.flac --set title="Blue Hour" --set artist=Nadia --in-place
Write a copy with cover art
ferraus tags song.m4a --art cover.jpg -o tagged.m4a
Options
| Flag | Type | Default | Meaning |
|---|---|---|---|
--set | text | — | Set a tag: key=value (repeatable); an empty value removes the key Repeatable. |
--remove | text | — | Remove a tag key (repeatable) Repeatable. |
--art | path | — | Embed a JPEG/PNG image as the front cover |
--clear | flag | — | Remove all existing tags first [default: off] |
Global options
Every command also accepts the global options (-o, --json, --dry-run, --overwrite, --progress, ...). See Global options.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Processing failed |
| 2 | Usage or parameter error |
| 3 | Input missing or unreadable |
| 4 | Unsupported format or codec |
| 8 | Cancelled |
| 70 | Internal error (bug) |
Common mistakes
- Forgetting that outputs are never overwritten: pass
--overwriteor a new-opath when re-running.
For models
- MCP tool:
ferraus_tags - Schema:
ferraus schema tags - Pipeline:
{ op: tags, args: { ... } }(flag names with_instead of-) - fx stage: no
{"command": "tags", "defaults": {}}