Edit Producer lyrics and audio
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.
Edit lyrics
Section titled “Edit lyrics”Supply exactly one of lyricsId or lyrics, plus the requested change in
prompt. The result is a new text resource; the previous lyrics are retained.
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 |
|---|---|---|
promptstring | Required | Requested changes to the selected lyrics.Minimum characters: 1. Maximum characters: 3000. |
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. |
lyricsstring | Optional | Original lyrics text. Supply exactly one of lyrics and lyricsId.Minimum characters: 1. Maximum characters: 3000. |
lyricsIdstring | Optional | Authorized Producer resource ID from your completed Task or song library.Minimum characters: 1. Maximum characters: 255. |
For each new operation, save a fresh key once. Keep that same key and body when recovering the operation after a timeout.
export REQUEST_KEY="$(uuidgen)"curl -X POST https://api.omnapi.com/api/v1/producer/lyrics/edit \ -H "x-api-key: $OMNAPI_KEY" \ -H "Idempotency-Key: $REQUEST_KEY" \ -H "Content-Type: application/json" \ -d '{"lyrics":"[Verse]\nWe watched the harbor lights","prompt":"Add a hopeful chorus"}'Four stems and trimming
Section titled “Four stems and trimming”POST /api/v1/producer/audio/stems accepts songId. Completion requires all four distinct
outputs: vocals, drums, bass, and other, exposed as
resources[].metadata.stemType. A partial set does not count as a completed
package.
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 |
|---|---|---|
endnumber | Required | End time in seconds, no later than the source duration.Maximum: 900. Exclusive lower bound: 0. |
songIdstring | Required | Authorized Producer resource ID from your completed Task or song library.Minimum characters: 1. Maximum characters: 255. |
startnumber | Required | Start time in seconds, before end.Minimum: 0. |
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. |
titlestring | Optional | Title for the new or updated resource.Minimum characters: 1. Maximum characters: 200. |
For trim, times are seconds and must satisfy
0 <= start < end <= min(song.duration, 900). The result is a new song resource.
A trimmed song is not guaranteed to support subsequent generative transforms;
inspect its remixEligible state and handle a rejected transform.