curl --fail-with-body -X POST "$RAWCHUNKS_API/api/voices/upload" \
-H "Authorization: Bearer $SESSION_TOKEN" \
-H "x-network-id: $NETWORK" \
-H "x-session-user-address: $USER_ADDRESS" \
-F "creator=$USER_ADDRESS" \
-F "name=Lead voice" \
-F "file=@voice.wav;type=audio/wav"
{
"success": true,
"voice": {
"id": "voice-example",
"name": "Lead voice",
"creator": "0x1111111111111111111111111111111111111111",
"status": "saved"
}
}
Voices
Upload a voice recording
Save and prepare one vocal recording.
POST
/
api
/
voices
/
upload
curl --fail-with-body -X POST "$RAWCHUNKS_API/api/voices/upload" \
-H "Authorization: Bearer $SESSION_TOKEN" \
-H "x-network-id: $NETWORK" \
-H "x-session-user-address: $USER_ADDRESS" \
-F "creator=$USER_ADDRESS" \
-F "name=Lead voice" \
-F "file=@voice.wav;type=audio/wav"
{
"success": true,
"voice": {
"id": "voice-example",
"name": "Lead voice",
"creator": "0x1111111111111111111111111111111111111111",
"status": "saved"
}
}
Send text fields before the file. An uploaded full mix is not automatically converted to isolated vocals. Saving and trained readiness are separate states.
Voice upload and readiness.
Budget headers use six-decimal USDC atomic units. See session payments.
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.
Multipart body
string
required
Wallet address for the selected account. Use the same address as the session owner. Minimum length:
10.string
file
required
One WAV, MP3, FLAC, OGG, AAC, M4A/MP4 or WebM recording. Maximum 50 MiB. For preparation, use mono/stereo audio up to 240 seconds.
Response (202)
Accepted; follow the returned task.boolean
required
object
required
Show Properties
Show Properties
string
required
string
required
string
required
string | null
string | null
string
required
Values:
saved, extracting, queued, training, ready, error.string | null
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/voices/upload" \
-H "Authorization: Bearer $SESSION_TOKEN" \
-H "x-network-id: $NETWORK" \
-H "x-session-user-address: $USER_ADDRESS" \
-F "creator=$USER_ADDRESS" \
-F "name=Lead voice" \
-F "file=@voice.wav;type=audio/wav"
{
"success": true,
"voice": {
"id": "voice-example",
"name": "Lead voice",
"creator": "0x1111111111111111111111111111111111111111",
"status": "saved"
}
}
⌘I