# Upload links

How create_upload_link lets a user transcribe their own song, and the tasks it accepts.

AI apps cannot pass audio files to tools, so uploads happen on groovesheet.net:

1. Call `create_upload_link` with a `task`. Give the user the returned `url`.
2. The user uploads there and gets a free preview. Only they can unlock the full song.
3. Call `get_upload_status` with the `code` until it is `preview_ready` or `completed`.

Links work once, belong to the account that made them and expire after 24 hours.

## Tasks [#tasks]

| `task` | Result |
| --- | --- |
| `drums` | Drum sheet music, MIDI and stem |
| `piano` | Piano sheet music and MIDI |
| `guitar` | Guitar sheet music with TAB, and MIDI |
| `bass` | Bass sheet music and MIDI |
| `chords` | Chord chart from the full mix |
| `stems` | Every part as separate audio |
| `drums_midi` | Drum MIDI only |
| `piano_midi` | Piano MIDI only |
