Files

3.1 KiB

ADDED Requirements

Requirement: Support Suno Lyrics As A Provider-Backed Audio Action

The system SHALL support Suno lyrics generation as an action within the existing audio routing model.

Scenario: Submit a lyrics generation request through the Suno lyrics endpoint

  • GIVEN the active audio binding supports Suno lyrics generation
  • WHEN the user selects the lyrics action and submits a prompt
  • THEN the system SHALL send the request to /suno/submit/lyrics
  • AND SHALL include prompt
  • AND MAY include notify_hook when configured by the caller

Scenario: Poll a lyrics task through the shared Suno fetch endpoint

  • GIVEN a Suno lyrics submit request returns a task identifier
  • WHEN the system tracks that task asynchronously
  • THEN it SHALL query /suno/fetch/{task_id}
  • AND SHALL normalize provider status into the internal task state

Scenario: Extract title tags and text from a completed lyrics task

  • GIVEN a Suno fetch response for a lyrics task reports success
  • WHEN the nested result payload contains text, title, and tags
  • THEN the system SHALL store the generated lyrics text
  • AND SHALL preserve the returned title and tags when available
  • AND SHALL keep the provider task identifier for follow-up actions

Requirement: Distinguish Suno Submit Action From Final Result Kind

The system SHALL distinguish the selected Suno action from the normalized result kind used by task storage and UI rendering.

Scenario: Lyrics action completes without an audio URL

  • GIVEN the selected Suno action is lyrics
  • WHEN the provider returns a completed task with text output but no playable audio URL
  • THEN the task SHALL still be considered successfully completed
  • AND the normalized result SHALL be marked as a lyrics result rather than an audio asset
  • AND the system SHALL not fail only because audio_url is absent

Scenario: Music action continues to produce audio assets

  • GIVEN the selected Suno action is music
  • WHEN the provider returns generated clips with playable audio URLs
  • THEN the normalized result SHALL remain an audio result
  • AND the existing audio insertion and playback paths SHALL remain available

Requirement: Scope User-Facing Parameters By Suno Action

The system SHALL expose only the parameters relevant to the currently selected Suno action.

Scenario: Music-only parameters are hidden in lyrics mode

  • GIVEN the user has selected the lyrics action in the audio flow
  • WHEN the request form is rendered
  • THEN the UI SHALL not present music-only submit controls such as mv, title, tags, continue_clip_id, or continue_at
  • AND the primary lyrics flow SHALL not require the user to fill any of those music-specific fields

Scenario: Music mode preserves existing Suno parameter controls

  • GIVEN the user has selected the music action in the audio flow
  • WHEN the request form is rendered
  • THEN the UI SHALL continue to expose the existing Suno music parameters supported by the binding