Workflow

MIDI to Song

Take a MIDI file and generate a full, produced song around its melody or chord progression in the style, BPM and energy you describe.

Dedicated route only

This workflow uses POST /v1/midi-songs. It runs a fixed multi-step pipeline; there is no generic tool_id for it.

Quickstart

POST/v1/midi-songsmidi to song

curl -X POST https://apiv2.soundverse.ai/v1/midi-songs \ -H "Authorization: Bearer sksoundverse_..." \ -H "Content-Type: application/json" \ -H "Idempotency-Key: midi-song-001" \ -d '{ "midi_file_id": "018f0000-0000-7000-8000-000000000002", "style": "big-room house at 128 BPM, euphoric drop", "license": "royalty_free" }'

The midi_file_id must be a .mid or .midi file owned by the authenticated enterprise account.

Getting a midi_file_id

Upload the file first via POST /v1/files — either {"source_url": "..."} if you already host it, or a multipart/form-data file part to upload bytes directly. Both return a file_id owned by your account, ready to pass here.

Request fields

FieldTypeRequiredDefaultDescription
midi_file_iduuidYes—ID of a .mid/.midi file (roughly 5-60 seconds) owned by the authenticated enterprise account (upload it first via POST /v1/files). Maximum 5 MiB.
stylestringYes—Style and energy of the song: genre, BPM, mood (e.g. 'big-room house at 128 BPM, euphoric drop').
licenselicense tierNo"royalty_free"License tier to price and attach to every step of the pipeline.

How it works

Each request runs 1 step:

  1. Generating the full arrangement from your MIDI file.

Progress streams over GET /v1/generations/{task_id}/stream as each step starts and finishes.

Notes

This is the only route that takes a MIDI file instead of audio: the file needs a .mid or .midi extension and may be up to 5 MiB.

Results and playback

Poll GET /v1/generations/{task_id} until the task is completed. The finished result is added to the authenticated account’s Soundverse Library. Enterprise API outputs are hidden from public/profile surfaces by default.

For API-only download, resolve the output’s file_id with GET /v1/files/{file_id}/url and use the returned short-lived signed URL.

Pricing

This workflow is priced pass-through: you are billed for each step the pipeline runs, at that step’s enterprise rate, in the license tier you requested. The pipeline itself adds no separate fee, and your billing ledger shows one entry per step. The steps that carry the cost are:

  • Song generation from a MIDI file

There is no fixed per-request price; the total depends on the input and on which optional steps run.