curl --fail-with-body -X POST "$RAWCHUNKS_API/api/editing/extend" \
-H "Authorization: Bearer $SESSION_TOKEN" \
-H "x-network-id: $NETWORK" \
-H "x-session-user-address: $USER_ADDRESS" \
-H "Content-Type: application/json" \
--data "$(jq -nc --arg user "$USER_ADDRESS" --arg song "$SONG_ID" '{
"songId": $song,
"userAddress": $user,
"audioDuration": 90,
"prompt": "Continue the arrangement with a quiet ending"
}')"
{
"songId": "sng-example",
"taskId": "task-example",
"status": "pending",
"task": "extend"
}
Editing
Extend music
Submit extend music.
POST
/
api
/
editing
/
extend
curl --fail-with-body -X POST "$RAWCHUNKS_API/api/editing/extend" \
-H "Authorization: Bearer $SESSION_TOKEN" \
-H "x-network-id: $NETWORK" \
-H "x-session-user-address: $USER_ADDRESS" \
-H "Content-Type: application/json" \
--data "$(jq -nc --arg user "$USER_ADDRESS" --arg song "$SONG_ID" '{
"songId": $song,
"userAddress": $user,
"audioDuration": 90,
"prompt": "Continue the arrangement with a quiet ending"
}')"
{
"songId": "sng-example",
"taskId": "task-example",
"status": "pending",
"task": "extend"
}
audioDuration is the target total length. It must exceed decoded source duration.
Poll with the returned task kind extend. Completed edits remain pending until activation or merge.
Headers and parameters
string
required
Bearer $SESSION_TOKEN. Use the complete token from your active Rawchunks session.string
required
Selected account address. Required for owner-scoped reads and writes. It identifies the account; your product must authenticate its own users.
string
Session network in CAIP-2 form, for example eip155:8453.
JSON body
string
required
Opaque ID returned by the API. Minimum length:
1.string
Optional target stem in this song. Omit to use the master.
string
required
Wallet address for the selected account. Use the same address as the session owner. Minimum length:
10.string
Optional source override, for example the url from Upload source. Use an HTTP(S) URL.
string
Select a mode listed for this task by GET /api/options. Defaults to base. Layer and Accompany require base. Values:
turbo, sft, base.string
Alternative to modelQuality. If both are sent they must match. Values:
turbo, sft, base.integer
Optional seed. Omit for a random seed; this is not a guarantee of byte-identical audio. Range:
0 to 9007199254740991.number
Tempo in beats per minute. Range:
30 to 300.string
Key ID from GET /api/options.
string
Language ID from GET /api/options.
string
string
number
required
Target total length, not seconds to add. Must exceed source duration. Minimum:
5.number
Minimum:
0.Response (202)
Accepted; follow the returned task.string
required
string
required
string
string
required
Values:
repaint, lego, complete, extend, cover, extract.string
required
Values:
pending, processing, ready, error.object[]
Errors
Failed JSON responses contain anerror string. Check the HTTP status before reading a successful result. See job handling for interrupted or uncertain submissions.
| Status | Meaning |
|---|---|
400 | Invalid request. |
401 | Invalid or expired session token. |
402 | Payment required or insufficient session budget. |
403 | Account does not match resource. |
404 | Resource not found. |
409 | Resource conflict; reload state or open an editable version. |
500 | Request failed. |
curl --fail-with-body -X POST "$RAWCHUNKS_API/api/editing/extend" \
-H "Authorization: Bearer $SESSION_TOKEN" \
-H "x-network-id: $NETWORK" \
-H "x-session-user-address: $USER_ADDRESS" \
-H "Content-Type: application/json" \
--data "$(jq -nc --arg user "$USER_ADDRESS" --arg song "$SONG_ID" '{
"songId": $song,
"userAddress": $user,
"audioDuration": 90,
"prompt": "Continue the arrangement with a quiet ending"
}')"
{
"songId": "sng-example",
"taskId": "task-example",
"status": "pending",
"task": "extend"
}
⌘I