Producer API
Producer AI (Riffusion) is an AI-powered music and audio generation tool that converts text descriptions into unique music clips or sound effects. Now you can use it in a simple way with TTAPI.
Generate Music
POST
https://api.ttapi.io/producer/v1/music
Generate music through text prompts or custom lyrics. Task results is async
Headers
Name | Type | Required | Description |
---|---|---|---|
TT-API-KEY | String | true | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
sound_prompt | string | true | Audio prompt words, sound_prompt and lyrics_text cannot be empty at the same time |
lyrics_text | string | true | Lyrics, sound_prompt and lyrics_text cannot be empty at the same time |
instrumental | boolean | false | Whether to generate pure music. If true , pure music will be generated, and custom lyrics will be ignored. Default is false |
mv | String | false | The model used to generate the music audio , FUZZ-2.0 FUZZ-2.0 Raw FUZZ-1.1 Pro FUZZ-1.0 Pro FUZZ-1.0 FUZZ-1.1 FUZZ-0.8 default is FUZZ-2.0 |
title | String | false | Music title |
cover_art_url | string | false | Cover image url |
seed | string | false | Random Seed |
lyrics_strength | number | false | Lyrics intensity, which indicates the influence of lyrics on audio generation. It can be selected between 0-1 , with a default of 0.5 |
sound_strength | number | false | Sound intensity, can be selected between 0.2-1 , the default is 0.5 |
weirdness | number | false | Style uniqueness, optional between 0-1 , default 0.5 |
is_storage | boolean | false | true or false false Return to the official address, default is false |
hook_url | String | false | Send a request to the address for task completion or failed notification. If not set you need to request fetch endpoint to get response |
Example Response
{
"status": "SUCCESS",
"message": "",
"data": {
"jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
}
}
Generate Lyrics
POST
https://api.ttapi.io/producer/v1/lyrics
Generate lyrics based on prompt words
Headers
Name | Type | Required | Description |
---|---|---|---|
TT-API-KEY | String | true | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
prompt | String | true | Prompt word |
Example Response
{
"status": "SUCCESS",
"message": "success",
"data": {
"jobId": "ffd6870b-9a83-47e6-9d57-601efced86b5",
"title": "Work It Out",
"lyrics": "[Verse 1]\nBeat beats beneath my breath\nSweat starts to show itself\nCan't catch a..."
}
}
Extend Music
POST
https://api.ttapi.io/producer/v1/extend
Extend the generated audio
Headers
Name | Type | Required | Description |
---|---|---|---|
TT-API-KEY | String | true | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
music_id | string | true | musicId returned by the previous task |
starts | number | true | The number of seconds to extend the original audio from the nth second. Default: 30.00 |
sound_prompt | string | true | Audio prompt words, sound_prompt and lyrics_text cannot be empty at the same time |
lyrics_text | string | true | Lyrics, sound_prompt and lyrics_text cannot be empty at the same time |
instrumental | boolean | false | Whether to generate pure music. If true , pure music will be generated, and custom lyrics will be ignored. Default is false |
mv | String | false | The model used to generate the music audio , FUZZ-2.0 FUZZ-2.0 Raw FUZZ-1.1 Pro FUZZ-1.0 Pro FUZZ-1.0 FUZZ-1.1 FUZZ-0.8 default is FUZZ-2.0 |
title | String | false | Music title |
cover_art_url | string | false | Cover image url |
seed | string | false | Random Seed |
lyrics_strength | number | false | Lyrics intensity, which indicates the influence of lyrics on audio generation. It can be selected between 0-1 , with a default of 0.5 |
sound_strength | number | false | Sound intensity, can be selected between 0.2-1 , the default is 0.5 |
weirdness | number | false | Style uniqueness, optional between 0-1 , default 0.5 |
is_storage | boolean | false | true or false false Return to the official address, default is false |
hook_url | String | false | Send a request to the address for task completion or failed notification. If not set you need to request fetch endpoint to get response |
Example Response
{
"status": "SUCCESS",
"message": "",
"data": {
"jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
}
}
Cover Music
POST
https://api.ttapi.io/producer/v1/cover
Replicate the generated audio
Headers
Name | Type | Required | Description |
---|---|---|---|
TT-API-KEY | String | true | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
music_id | string | true | musicId returned by the previous task |
sound_prompt | string | true | Audio prompt words, sound_prompt and lyrics_text cannot be empty at the same time |
lyrics_text | string | true | Lyrics, sound_prompt and lyrics_text cannot be empty at the same time |
instrumental | boolean | false | Whether to generate pure music. If true , pure music will be generated, and custom lyrics will be ignored. Default is false |
mv | String | false | The model used to generate the music audio , FUZZ-2.0 FUZZ-2.0 Raw FUZZ-1.1 Pro FUZZ-1.0 Pro FUZZ-1.0 FUZZ-1.1 FUZZ-0.8 default is FUZZ-2.0 |
title | String | false | Music title |
cover_art_url | string | false | Cover image url |
seed | string | false | Random Seed |
lyrics_strength | number | false | Lyrics intensity, which indicates the influence of lyrics on audio generation. It can be selected between 0-1 , with a default of 0.5 |
sound_strength | number | false | Sound intensity, can be selected between 0.2-1 , the default is 0.5 |
weirdness | number | false | Style uniqueness, optional between 0-1 , default 0.5 |
is_storage | boolean | false | true or false false Return to the official address, default is false |
hook_url | String | false | Send a request to the address for task completion or failed notification. If not set you need to request fetch endpoint to get response |
Example Response
{
"status": "SUCCESS",
"message": "",
"data": {
"jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
}
}
Variation Music
POST
https://api.ttapi.io/producer/v1/variation
Variation the generated audio
Headers
Name | Type | Required | Description |
---|---|---|---|
TT-API-KEY | String | true | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
music_id | string | true | musicId returned by the previous task |
is_storage | boolean | false | true or false false Return to the official address, default is false |
hook_url | String | false | Send a request to the address for task completion or failed notification. If not set you need to request fetch endpoint to get response |
Example Response
{
"status": "SUCCESS",
"message": "",
"data": {
"jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
}
}
Music Clip Replacement
POST
https://api.ttapi.io/producer/v1/replace
Replace parts of the generated audio
Headers
Name | Type | Required | Description |
---|---|---|---|
TT-API-KEY | String | true | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
music_id | string | true | musicId returned by the previous task |
sound_prompt | string | true | Audio prompt words, sound_prompt and lyrics_text cannot be empty at the same time |
lyrics_text | string | true | Lyrics, sound_prompt and lyrics_text cannot be empty at the same time |
instrumental | boolean | false | Whether to generate pure music. If true , pure music will be generated, and custom lyrics will be ignored. Default is false |
starts | number | false | Replace the original audio starting at x seconds. (Unit: seconds) Example: 30.01 |
ends | number | false | The end time (in seconds) of the replacement segment. If it is empty, the replacement will continue until the end of the audio. |
mv | String | false | The model used to generate the music audio , FUZZ-2.0 FUZZ-2.0 Raw FUZZ-1.1 Pro FUZZ-1.0 Pro FUZZ-1.0 FUZZ-1.1 FUZZ-0.8 default is FUZZ-2.0 |
title | String | false | Music title |
cover_art_url | string | false | Cover image url |
seed | string | false | Random Seed |
lyrics_strength | number | false | Lyrics intensity, which indicates the influence of lyrics on audio generation. It can be selected between 0-1 , with a default of 0.5 |
sound_strength | number | false | Sound intensity, can be selected between 0.2-1 , the default is 0.5 |
weirdness | number | false | Style uniqueness, optional between 0-1 , default 0.5 |
is_storage | boolean | false | true or false false Return to the official address, default is false |
hook_url | String | false | Send a request to the address for task completion or failed notification. If not set you need to request fetch endpoint to get response |
Example Response
{
"status": "SUCCESS",
"message": "",
"data": {
"jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
}
}
Vocal Cover
POST
https://api.ttapi.io/producer/v1/vocals-swap
Perform vocal dubbing on generated audio
Headers
Name | Type | Required | Description |
---|---|---|---|
TT-API-KEY | String | true | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
music_id | string | true | musicId returned by the previous task |
sound_prompt | string | true | Audio prompt words, sound_prompt and lyrics_text cannot be empty at the same time |
lyrics_text | string | true | Lyrics, sound_prompt and lyrics_text cannot be empty at the same time |
instrumental | boolean | false | Whether to generate pure music. If true , pure music will be generated, and custom lyrics will be ignored. Default is false |
mv | String | false | The model used to generate the music audio , FUZZ-2.0 FUZZ-2.0 Raw FUZZ-1.1 Pro FUZZ-1.0 Pro FUZZ-1.0 FUZZ-1.1 FUZZ-0.8 default is FUZZ-2.0 |
title | String | false | Music title |
cover_art_url | string | false | Cover image url |
seed | string | false | Random Seed |
lyrics_strength | number | false | Lyrics intensity, which indicates the influence of lyrics on audio generation. It can be selected between 0-1 , with a default of 0.5 |
sound_strength | number | false | Sound intensity, can be selected between 0.2-1 , the default is 0.5 |
weirdness | number | false | Style uniqueness, optional between 0-1 , default 0.5 |
is_storage | boolean | false | true or false false Return to the official address, default is false |
hook_url | String | false | Send a request to the address for task completion or failed notification. If not set you need to request fetch endpoint to get response |
Example Response
{
"status": "SUCCESS",
"message": "",
"data": {
"jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
}
}
Instrumentals Cover
POST
https://api.ttapi.io/producer/v1/instrumentals-swap
Perform an instrumental version of the generated audio
Headers
Name | Type | Required | Description |
---|---|---|---|
TT-API-KEY | String | true | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
music_id | string | true | musicId returned by the previous task |
sound_prompt | string | true | Audio prompt words, sound_prompt and lyrics_text cannot be empty at the same time |
lyrics_text | string | true | Lyrics, sound_prompt and lyrics_text cannot be empty at the same time |
instrumental | boolean | false | Whether to generate pure music. If true , pure music will be generated, and custom lyrics will be ignored. Default is false |
mv | String | false | The model used to generate the music audio , FUZZ-2.0 FUZZ-2.0 Raw FUZZ-1.1 Pro FUZZ-1.0 Pro FUZZ-1.0 FUZZ-1.1 FUZZ-0.8 default is FUZZ-2.0 |
title | String | false | Music title |
cover_art_url | string | false | Cover image url |
seed | string | false | Random Seed |
lyrics_strength | number | false | Lyrics intensity, which indicates the influence of lyrics on audio generation. It can be selected between 0-1 , with a default of 0.5 |
sound_strength | number | false | Sound intensity, can be selected between 0.2-1 , the default is 0.5 |
weirdness | number | false | Style uniqueness, optional between 0-1 , default 0.5 |
is_storage | boolean | false | true or false false Return to the official address, default is false |
hook_url | String | false | Send a request to the address for task completion or failed notification. If not set you need to request fetch endpoint to get response |
Example Response
{
"status": "SUCCESS",
"message": "",
"data": {
"jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
}
}
Generate Music Video
POST
https://api.ttapi.io/producer/v1/generate-video
Generating audio video, free endpoint
Headers
Name | Type | Required | Description |
---|---|---|---|
TT-API-KEY | String | true | Your API Key in TT API used for request authorization |
Request Body
Name | Type | Required | Description |
---|---|---|---|
music_id | string | true | musicId returned by the previous task |
preset | String | false | Three preset types of generated videos: modern player simple default is simple |
Example Response
{
"status": "SUCCESS",
"message": "success",
"data": {
"videoUrl": "https://storage.googleapis.com/corpusant-app-public/song-videos/77ce096c-22c2-442b-a868-4100867a45df:0835e01ecc5ae00a000cc5a9b8f3035dea48508645a6142cbd1d7e5b72e0d4d7.mp4",
"status": "complete"
}
}
Fetch Job Result
GET
https://api.ttapi.io/producer/v1/fetch
Query the job results by jobId, free endpoint
Headers
Name | Type | Description |
---|---|---|
TT-API-KEY* | String | Your API Key in TT API used for request authorization |
Query param
Name | Type | Required | Description |
---|---|---|---|
jobId | String | true | ed1a1b01-7d64-4c8a-acaa-71185d23a2f3 |
Async callback & fetch json
{
"status": "SUCCESS",
"message": "success",
"jobId": "ffd6870b-9a83-47e6-9d57-601efced86b5",
"data": {
"jobId": "ffd6870b-9a83-47e6-9d57-601efced86b5",
"action": "lyrics",
"progress": "100%",
"mv": "FUZZ-2.0",
"quota": "1",
"hookUrl": null,
"musics": [
{
"musicId": "07d737cf-9509-4132-99f5-a17339bd7462",
"title": "Work It Out",
"lyrics": "[Verse 1]\nBeat beats beneath my breath\nSweat starts to show itself\nCan't catch a quiet breath\nFeel the fire fight itself\n\n[Pre-Chorus]\nWork won't wait, won't waste away\nPush the pace, I play today\n\n[Chorus]\nMove my muscles, make it better\nFeel the freedom in my fever\nDance the duty, dance forever\nBeat the burden, be believer\nWork it out, work it out\nMove it now, move it now\n\n[Verse 2 - Barely introducing the topic]\nSomething's spinning in my soul\nPressure pressing, taking toll\nNeed to find another role\nBreak the weight and make me whole\n\n[Pre-Chorus]\nWork won't wait, won't waste away\nPush the pace, I play today\n\n[Chorus]\nMove my muscles, make it better\nFeel the freedom in my fever\nDance the duty, dance forever\nBeat the burden, be believer\nWork it out, work it out\nMove it now, move it now\n\n[Rap]\nStress is stacking, spine is aching, spirit's shaking daily\nBut I battle with my body when the bass begins to play me\nFeel the friction fade away when feet begin to fly free\nMusic makes the madness melt, my mind begins to find me\nLabor's loading on my lungs but love is lifting lightly\nBeat becomes my breathing, brings me back to being brightly\nSweat becomes my symphony, sync becomes my saving\nDancing through the difficulty, doubt becomes my craving\nMove until the morning makes me feel like I am flying\nWork without the worry, without walls that keep me crying\nFreedom in the frequency, feeling what I'm fighting\nBody beats the burden when the bass begins its biting\n\n[Bridge]\nStop the struggle, start to shake\nFeel the weight begin to break\nMotion makes the moment take\nAll the ache away\n\n[Final Chorus]\nMove my muscles, make it better\nFeel the freedom in my fever\nDance the duty, dance forever\nBeat the burden, be believer\nWork it out, work it out\nMove it now, move it now\nWork it out, work it out\nMove it now, move it now\n\n[Outro]\nBeat beats beneath my breath\nDance the weight right off my chest",
"imageUrl": null,
"audioUrl": null,
"videoUrl": null,
"imageId": null,
"topic": null,
"sound": null,
"seed": null,
"durations": null,
"createdAt": null
}
]
}
}