Audio → DAW session
doseedo_audio_to_sessionTurn an uploaded full mix into a complete multitrack DAW session (separated stems as tracks, tempo map, optional per-stem MIDI and chord guide). The result is a downloadable session zip for Logic Pro or Ableton. Async: returns a job_id — poll with doseedo_wait_task (~4 minutes). Cancel: cooperative — the build stops at its next stage boundary and the build's sound-tool unit is refunded (a GPU separation already run stays charged).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Detect the key and write it into the project (default true in the full build, false with simple). | |
| name | No | Project name for the session file — it also names the download: <name>_session.zip. | |
| loops | No | Detect repeated clips and lay them as loops (default false). | |
| chords | No | Add a detected-chords guide track (default false). | |
| retune | No | Default true: a mix sitting >35 cents off A440 is pitch-corrected onto the 12-TET grid before separation (every transcriber coin-flips otherwise). false = leave the tuning as recorded. | |
| simple | No | Faster minimal build: meter + tempo + stems only, no MIDI (default false). Required for stem_mode orchestra/detect. | |
| target | No | DAW target (default logic). | |
| markers | No | Add section markers (intro/verse/chorus…) (default true in the full build, false with simple). | |
| dereverb | No | Opt-in: lay DRY stems and recreate the room with a reverb plugin on each track (default false). | |
| separate | No | false = no separation: the mix lands as ONE audio track (default true). | |
| audio_key | No | R2 ingest key of an uploaded audio file (from doseedo_get_upload_url / POST /api/upload/r2/ingest-url; starts with "ingest/"). Provide this or audio_url. | |
| audio_url | No | https URL of the audio, as an alternative to audio_key: a doseedo result URL exactly as a job returned it (a stem, a take, a bounce), or any public URL. The gateway fetches it (≤256 MB) into your account's ingest storage before the job starts. Pass audio_key OR audio_url. | |
| stem_mode | No | Separation family. auto (DEFAULT): the 6 stems plus a residual cascade that peels detected orchestral sections out of "other" (no orchestral content → identical to 6stem). 6stem: vocals/drums/bass/guitar/piano/other. drumsep: the drum stem replaced by isolated kick/snare/hh/… tracks on a Drums bus. sections: the 6 stems with "other" split by the joint section model (trumpet/trombone/sax/violin/viola/cello), each transcribed per chair. orchestra / detect: the 53-instrument bank on the MIX (needs simple:true; detect auto-picks, orchestra takes `instruments`). | |
| tempo_map | No | false = one constant tempo instead of a tempo map (default true). | |
| midi_stems | No | Optional comma-separated stems to also add as MIDI tracks, e.g. "piano,bass" (include "drums" for a GM drum roll). | |
| instruments | No | stem_mode orchestra/detect: optional comma list restricting the orchestral set, e.g. "violin,cello,flute". | |
| crop_silence | No | Punch regions in where each stem plays instead of whole-length stems (default false). | |
| drum_sampler | No | Sampled kits → a one-shot sampler track + MIDI (default false). | |
| guitar_split | No | Split the guitar stem into N players, each its own track + MIDI lane on a Guitar Section bus: "0" (off), "auto" (DEFAULT — a one-vs-two probe decides), "2"–"4". | |
| drum_substems | No | Lay each drum piece as its own audio track on a Drums bus (default false; implied by stem_mode drumsep). | |
| quantize_midi | No | Snap every pitched MIDI lane: "grid" = to the grid its own onsets support (straight/swing 8ths, 16ths, triplets, detected per lane); "score" = notation positions (straight 8ths). Default off (played timing). | |
| drum_midi_split | No | With "drums" in midi_stems: one Quick Sampler track PER kit piece, each loaded with a synthesized one-shot (default false = one GM drum-roll track). | |
| idempotency_key | No | Optional. Any unique string for THIS request (e.g. a UUID). Re-sending the same call with the same key after a timeout returns the same job instead of starting a second one. | |
| keep_stem_audio | No | With midi_stems: keep the audio stem next to its MIDI track (default true); false = the MIDI track REPLACES the audio. |