Save customer-authored song understanding
studio_song_understanding_writeSaves finished song understanding against the current analysisId, assetId and understandingRevision. Accepts lyrics/description, language, themes and required words/lines arrays in the timed-transcription shape; empty arrays represent unavailable genuine timing. Source text alone supplies no lip-sync timing or voice ownership. voiceAnswer represents the customer's all_me, other_voices or skipped decision. Preserves measured audio facts and returns canonical understanding with a new revision. Stale input is refused. No transcription/planning model or credit charge.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | TimedLine text/startMs/endMs, requiring supplied timed words. An empty array leaves section line-sync empty; prose alone supplies no timing. | |
| words | Yes | Existing TimedWord shape: text/startMs/endMs. Genuine customer-supplied master timing only; [] when unknown. IDs are assigned by the canonical app normalizer. | |
| lyrics | No | Customer-supplied source lyrics with original line breaks. Absence retains existing lyrics; an empty string clears them. | |
| themes | No | Optional song themes. Absence retains existing themes; [] clears them. | |
| language | No | Customer-supplied language, null when unknown. Absence retains the existing language. | |
| projectId | Yes | Project whose currently uploaded master song is being described. | |
| description | No | Customer-approved song meaning/description. Absence retains the existing value; an empty string clears it. | |
| voiceAnswer | No | The customer’s voice-answer decision. Absence leaves ownership unconfirmed. Shape: {answer: "all_me"} | {answer: "skipped"} | {answer: "other_voices", spans: list of {startMs: integer, endMs: integer, label?: string, role?: "feature"|"dj"|"adlib"|"unknown", overlapsArtist?: boolean}} | |
| expectedAssetId | Yes | Current assetId from studio_song_status analysis: the existing uploaded master, not a new or remote audio source. | |
| expectedAnalysisId | Yes | Current analysisId from studio_song_status. | |
| expectedUnderstandingRevision | Yes | Opaque current understandingRevision from studio_song_status. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||