Create a playlist
create_playlistCreate one playlist from a natural-language idea or explicit track list. Call exactly once per listener turn: do not inspect the result and make a corrective second call or stack another playlist card in the same response. previewOnly=true returns one authoritative playlist that can be heard before saving and needs no music-service connection. For the normal save flow, use save_to_offstereo with the returned preview id; it saves privately to OffStereo and offers Continue to Apple Music on the website. Only for an explicitly requested direct music-service save after approval, previewOnly=false with the approved tracks and the same concise editorial name creates one private playlist in the listener's active music service. Apple Music is the public save destination; Spotify saving requires an explicitly enabled test deployment. Pass service only when the listener explicitly names a destination. requiredArtists carries every artist the listener named as required. allowSecondPlaylist is true only for an explicit request for a separate additional playlist. Sign-in recovery preserves the exact request and pendingActionId for a safe retry.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "create_playlist"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | A concise editorial playlist title. Omit it when the listener did not supply a title; OffStereo derives one from the prompt. | |
| count | No | Target song count for prompt-generated playlists (1-50, default 20). | |
| prompt | No | A conceptual playlist request, e.g. 'connect A Tribe Called Quest to Steely Dan'. | |
| tracks | No | ||
| service | No | Destination service. Pass only when the listener explicitly names one; otherwise OffStereo uses the active service on their account. | |
| previewOnly | No | Resolve one unified playlist preview without saving or requiring a music-service connection. True when the listener asks to hear, inspect, or approve the songs before saving. | |
| pendingActionId | No | Retry token returned by a prior auth_required result. | |
| requiredArtists | No | Every artist the user explicitly requires, especially endpoints in a request such as 'from Minnie Riperton to Solange'. OffStereo validates these before creating anything. | |
| allowSecondPlaylist | No | True only when the listener explicitly requests another separate playlist. Omit or pass false otherwise; this does not authorize a second create_playlist call in the same response. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| title | No | ||
| object | Yes | Always 'playlist'. | |
| status | Yes | preview, preview_partial, saved_offstereo, created, partial, auth_required, or failed. | |
| tracks | No | ||
| webUrl | No | ||
| actions | No | ||
| message | No | ||
| privacy | No | Requested vs. confirmed privacy state. | |
| service | No | ||
| spotify | No | ||
| warnings | No | ||
| retryTool | No | ||
| appleMusic | No | ||
| authReason | No | ||
| connectUrl | No | Sign-in URL when status is auth_required. | |
| unresolved | No | Songs that could not be confidently matched. | |
| connections | No | ||
| pendingActionId | No | Retry token for a safe re-call after sign-in. |