## Basic tool info Tool name: wiro/text-to-song-YuE Tool description: Turn your lyrics into a full song with vocals and instrumental music in seconds. Just enter your lyrics and let AI compose and sing it for you. Perfect for creators, musicians, and storytellers. Tool cover: https://cdn.wiro.ai/uploads/models/wiro-text-to-song-YuE-cover.png Tool categories: - tool - text-to-song - persistent - h100 Tool tags: - realistic - text-to-song - song generation - music generation Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/wiro/text-to-song-YuE Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Tool Inputs: - name: prompt label: prompt help: The lyrics to generate the song. type: textarea default: [verse] We’ve been through storms, we’ve lost our way But I still feel you every day Broken roads and nights alone Led me right back to our home [chorus] I’ll never let go, never lose sight You’re the reason I still fight Every mile, every dream I know I’ll never let go [verse] Doubt may whisper, fear may call But love will catch us when we fall Hands held tight, we’ll find a way I’m here forever, I’ll stay [bridge] We’re stronger now than yesterday Nothing’s gonna pull us away [outro] Never let go, never let go - name: genre label: genre help: type: multiselect default: Pop options: - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - name: instrument label: instrument help: type: multiselect default: guitar options: - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - name: mood label: mood help: type: multiselect default: happy options: - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - name: gender label: gender help: type: multiselect default: female options: - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - name: timbre label: timbre help: type: multiselect default: bright vocal options: - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - value: "undefined" label: undefined - name: seed label: seed help: seed-help type: text default: 42 ## Integration Header Prepare ```bash # Sign up Wiro dashboard and create project export YOUR_API_KEY="{{useSelectedProjectAPIKey}}"; export YOUR_API_SECRET="XXXXXXXXX"; # unix time or any random integer value export NONCE=$(date +%s); # hmac-SHA256 (YOUR_API_SECRET+Nonce) with YOUR_API_KEY export SIGNATURE="$(echo -n "${YOUR_API_SECRET}${NONCE}" | openssl dgst -sha256 -hmac "${YOUR_API_KEY}")"; ``` ## Run Command - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Run/wiro/text-to-song-YuE" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "prompt": "[verse]\nWe’ve been through storms, we’ve lost our way\nBut I still feel you every day\nBroken roads and nights alone\nLed me right back to our home\n\n[chorus]\nI’ll never let go, never lose sight\nYou’re the reason I still fight\nEvery mile, every dream I know\nI’ll never let go\n\n[verse]\nDoubt may whisper, fear may call\nBut love will catch us when we fall\nHands held tight, we’ll find a way\nI’m here forever, I’ll stay\n\n[bridge]\nWe’re stronger now than yesterday\nNothing’s gonna pull us away\n\n[outro]\nNever let go, never let go", "genre": [ "Pop" ], "instrument": [ "guitar" ], "mood": [ "happy" ], "gender": [ "female" ], "timbre": [ "bright vocal" ], "seed": "42", "callbackUrl": "You can provide a callback URL; Wiro will send a POST request to it when the task is completed." }'; ``` ## Run Command - Response ```json { "errors": [], "taskid": "2221", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "result": true } ``` ## Get Task Detail - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Task/Detail" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "tasktoken": 'eDcCm5yyUfIvMFspTwww49OUfgXkQt', }'; ``` ## Get Task Detail - Response ```json { "total": "1", "errors": [], "tasklist": [ { "id": "2221", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "parameters": {}, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_postprocess_end", "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Task Status Information This section defines the possible task status values returned by the API when polling for task completion. ### Completed Task Statuses (Polling can stop) These indicate that the task has reached a terminal state — either success or failure. Once any of these is received, polling should stop. - task_postprocess_end : Task completed successfully and post-processing is done. - task_cancel : Task was cancelled by the user or system. ### Running Task Statuses (Continue polling) These statuses indicate that the task is still in progress. Polling should continue if one of these is returned. - task_queue : Task is waiting in the queue. - task_accept : Task has been accepted for processing. - task_assign : Task is being assigned to a worker. - task_preprocess_start : Preprocessing is starting. - task_preprocess_end : Preprocessing is complete. - task_start : Task execution has started. - task_output : Output is being generated.