Song Mixes
Base URL: https://agent.gen.pro/v1
Song Mixes are a backend/API-first contract for combining multiple songs into one long DJ-style audio output. The default prompt is:
Mix these 5 songs in the optimal order for the best flow and energy:
[Your 5 songs]
Analyze BPM, key, and mood, then arrange them for the smoothest possible DJ mix with professional transitions.The contract is live now. The response returns pending_engine until the Mixxx-compatible server-side renderer worker is installed. It does not fabricate an output_url.
POST /v1/audio/mixes
Section titled “POST /v1/audio/mixes”Create a song-mix job/status object.
curl -X POST "https://agent.gen.pro/v1/audio/mixes" \ -H "X-API-Key: $GEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "tracks": [ { "title": "Neon Run", "artist": "A" }, { "title": "Soft Static", "artist": "B" }, { "title": "Blue Hour", "artist": "C" }, { "title": "Night Market", "artist": "D" }, { "title": "Afterglow", "artist": "E" } ] }'Request Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
tracks | array | conditional | Existing song/audio inputs. Provide at least two unless generate_missing_count is set. |
tracks[].title | string | no | Song title. |
tracks[].artist | string | no | Artist name. |
tracks[].url | string | no | Direct audio URL. |
tracks[].asset_id | string | no | GEN asset/content-resource id. |
tracks[].bpm | number | no | BPM override if known. |
tracks[].key | string | no | Musical key override if known. |
tracks[].mood | string | no | Mood override if known. |
prompt | string | no | Custom DJ prompt. Omit to use the default optimal-order prompt. |
transition_style | string | no | Transition style such as professional, smooth, or high-energy. |
output_format | "mp3" | "wav" | no | Defaults to mp3. |
auto_order | boolean | no | Defaults to true; set false to keep listed order. |
desired_duration_seconds | number | no | Desired final duration. |
generate_missing_count | number | conditional | Number of songs to create before mixing, e.g. 5 for “create 5 songs and combine them”. |
Response
Section titled “Response”{ "job_id": "0efb0d6a-f06f-4c85-8e2e-b5ff02a27d8e", "status": "pending_engine", "prompt": "Mix these 5 songs in the optimal order...", "tracks": [{ "title": "Neon Run", "artist": "A" }], "engine": "mixxx_or_compatible", "output_format": "mp3", "transition_style": "professional", "auto_order": true, "desired_duration_seconds": null, "output_url": null, "message": "Song mix request accepted. Server-side Mixxx/compatible rendering is not installed yet, so no final audio URL is available.", "next_step": "Install the mixer worker, then have it analyze BPM/key/mood, render the ordered transitions, upload the final audio, and update output_url."}Chat Usage
Section titled “Chat Usage”The same capability is available through gen-agentic chat:
Mix these 5 songs in the optimal order for the best flow and energy:Neon Run, Soft Static, Blue Hour, Night Market, AfterglowCreate 5 songs and combine them into one long DJ mix.