Skip to content

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.

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 typeRequirementDescription 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.