Export Producer songs privately
GuideAvailability varies by operation
These operations are enabled individually and can return 503 until available.
Reads require task:read; writes require task:create. Use resources authorized
for your account. See resource access and recovery.
Private M4A and ZIP downloads
Section titled “Private M4A and ZIP downloads”Single-song export requires {"format":"m4a"} at
POST /api/v1/producer/songs/{id}/exports. Batch export accepts unique song IDs:
Repeated references to the same song, including alternate IDs or surrounding
whitespace, return 400 before charging. Include each song only once.
Unknown fields are not accepted.
Required applies within the containing object or alternative. Expand nested objects only when supplying that value.
| Field and type | Requirement | Description and constraints |
|---|---|---|
format"m4a" | Required | Format of every audio member in the ZIP. |
songIdsarray<string> | Required | One to twenty distinct authorized songs to include in the ZIP.Minimum items: 1. Maximum items: 20. Items must be unique. |
songIds[]string | Each item | Authorized Producer resource ID from your completed Task or song library.Minimum characters: 1. Maximum characters: 255. |
configobject | Optional | Standard task configuration: priority, tags, metadata, and webhookUrl. |
config.metadataobject | Optional | Free-form caller metadata, echoed back on read. Stored as opaque JSON; the server never mutates it. |
config.prioritynumber | Optional | Task priority 1-10 (higher = sooner). Default 5.Minimum: 1. Maximum: 10. Default: 5. |
config.tagsarray<string> | Optional | Free-form labels for filtering. Up to 20, 100 chars each.Maximum items: 20. |
config.tags[]string | Each item | Maximum characters: 100. |
config.webhookUrlstring | Optional | URL to receive task.* lifecycle events via the central webhook service.Format: uri. |
Supported media is limited to 900 seconds per song, 256 MiB per audio file, and 512 MiB per batch or ZIP. Other audio formats are not accepted by these routes.
Successful assets are retained for 30 days. Reading the completed Task
returns a new download URL valid for up to five minutes, bounded by
retention. Use assetStatus, retainedUntil, and urlExpiresAt to display
availability; re-read the Task when a signature expires. An expired asset does
not become available merely by polling again.
Private delivery verifies the completed output before releasing it. It does not promise that a generated derivative was never briefly public during processing. Removing access prevents new signatures; a previously issued URL can remain valid until its stated expiry, and downloaded copies cannot be revoked.
These new task operations settle only when the required deliverable is ready. If a platform or generation-service failure leaves no deliverable, their new delivery policy refunds the task. Customer input or policy failures and cancellation follow the billing and cancellation rules. This policy does not retroactively change historical Task settlement.