curl --fail-with-body -X POST "$RAWCHUNKS_API/api/editing/repaint" \
-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,
"start": 15,
"end": 30,
"prompt": "Sparse drums and a warmer bass",
"repaintMode": "balanced",
"repaintStrength": 0.5
}')"
{
"songId": "sng-example",
"taskId": "task-example",
"status": "pending",
"task": "repaint"
}
Editing
Rework a section
Submit rework a section.
POST
/
api
/
editing
/
repaint
curl --fail-with-body -X POST "$RAWCHUNKS_API/api/editing/repaint" \
-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,
"start": 15,
"end": 30,
"prompt": "Sparse drums and a warmer bass",
"repaintMode": "balanced",
"repaintStrength": 0.5
}')"
{
"songId": "sng-example",
"taskId": "task-example",
"status": "pending",
"task": "repaint"
}
For seed, tempo, key or language controls, use
Budget headers use six-decimal USDC atomic units. See session payments.
/apply with task: "repaint"; those controls are not forwarded by this shortcut.
Poll with the returned task kind repaint. 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.string
string
string
Values:
conservative, balanced, aggressive.number
Range:
0 to 1.integer
Transition control in latent frames. Minimum:
0.number
Requested transition length in seconds. Minimum:
0.number
required
Minimum:
0.number
required
Must exceed start and fit source audio. Minimum:
0.string
Alias of repaintMode. Prefer repaintMode. Values:
conservative, balanced, aggressive.number
Alias of repaintStrength. Prefer repaintStrength. Range:
0 to 1.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/repaint" \
-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,
"start": 15,
"end": 30,
"prompt": "Sparse drums and a warmer bass",
"repaintMode": "balanced",
"repaintStrength": 0.5
}')"
{
"songId": "sng-example",
"taskId": "task-example",
"status": "pending",
"task": "repaint"
}
⌘I