Get API Key Get API
Docs

Extend Music

Flow Music continues a previously generated audio clip. Extends the music from a specified time point according to an editing instruction

Request example

curl --request POST \
  --url https://api.openveer.com/v1/music/generations/extendFlowMusic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "extend_from_s": 30,
    "extend_s": 60,
    "instruction": "Continue the verse melody, add strings"
  }'

Response example

{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KWXVCYB70YJ1WY9X22RVYRNP"
    }
  ]
}

Authentication

Authorization string

All endpoints require Bearer Token authentication

Get your API Key:

Visit the API Key management page to get your API Key

Add it to the request header:

Authorization: Bearer YOUR_API_KEY

Request Parameters

model string

Model name, must be "flowmusic" (case-insensitive)

clip_id string

Source music clip_id, from a successful task's result.music[].clip_id

Note



The source task must have succeeded. External audio can first be imported via Upload Audio to obtain a clip_id.

extend_from_s number

Time point (seconds) to start the extension from

Cannot exceed the source clip's duration

extend_s number

Extension duration (seconds)

Maximum: 164 seconds

instruction string

Editing instruction for the extended music

Example: "Continue the verse melody, add strings"

title string

Title of the extended music

seed string

Random seed, used to reproduce results

Response

code integer

Response status code, 200 on success

data array
Array of returned data
status string

Task status, submitted upon initial submission

task_id string

Unique task identifier, used to query task status and results

Use Cases

Scenario 1: Extend 60 seconds from the chorus

{
  "model": "flowmusic",
  "clip_id": "abc123-def456",
  "extend_from_s": 30,
  "extend_s": 60,
  "instruction": "Continue the verse melody, add strings"
}
Note

Query Task Results

Music extension is an asynchronous task; a task_id is returned after submission. Use the Get Task Status endpoint to query generation progress and results. The extension output is a new clip_id; use the new clip_id for subsequent operations.

Completed Task Result Example

Query response example (GET /v1/music/tasks/{task_id}):

{
  "code": 200,
  "data": {
    "id": "task_01KWXVCYB70YJ1WY9X22RVYRNP",
    "status": "completed",
    "progress": 100,
    "created": 1783413242,
    "completed": 1783413292,
    "actual_time": 50,
    "cost": 0.048,
    "credits_cost": 0.48,
    "result": {
      "music": [
        {
          "clip_id": "d2f589ea-5390-4e83-8e2f-4517420408fa",
          "title": "Untitled (Extended)",
          "duration_seconds": "39.95733333",
          "create_time": "2026-07-07T08:34:33.240020Z",
          "lyrics": "waking up to the morning light,\n...",
          "lyrics_id": "0452451b-9e54-5d9f-8437-8bff97c7bbc8",
          "lyrics_timing_markers": [[0, 12], [129, 20]],
          "audio_url": "https://cdn.openveer.com/audio/flowmusic_d2f589ea.m4a",
          "wav_url": "https://cdn.openveer.com/audio/flowmusic_d2f589ea.wav",
          "image_url": "https://cdn.openveer.com/image/flowmusic_d2f589ea_cover.jpg"
        }
      ]
    }
  }
}

This documentation is built and hosted on Mintlify, a developer documentation platform.