## Basic tool info Model name: google/lyria 3 pro Model description: Google’s Lyria 3 Pro generates up to 3-minute songs from detailed prompts and an optional image. It returns 48 kHz stereo MP3 audio with structure. Model cover: https://cdn.wiro.ai/uploads/models/google-lyria-3-pro-cover.webp Model categories: - tool - partner - google - text-to-audio - image-to-audio - nogpu-pipeline Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/google/lyria-3-pro Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImage label: Input Image help: Optional source image to inspire the music (jpg, jpeg, png, webp) type: combinefileinput default: lyria-3-pro-input-1.jpeg - name: prompt label: Prompt help: Required: Describe the full-length song (genre, instruments, mood, BPM, key, vocals). Use [Verse]/[Chorus]/[Bridge] tags for structure or custom lyrics, and [mm:ss - mm:ss] timestamps to control timing. Add 'Instrumental only, no vocals' for an instrumental track. Mention a target length (e.g. 'create a 2-minute song') to influence duration. type: textarea default: A 2-minute epic cinematic orchestral piece inspired by the mood and colors of this image. Hopeful, adventurous, and reverent. Instrumental only, no vocals. [0:00 - 0:20] Intro: Solo wooden flute over distant wind ambience and faint ney drone. [0:20 - 0:50] Build: Warm string section enters softly, low frame drums begin a slow heartbeat pulse, sparse hammered dulcimer accents. [0:50 - 1:20] Main theme: Full string section carries a soaring melody, low brass swells, deep taiko-like percussion drives forward motion. [1:20 - 1:45] Climax: A wordless female soprano vocalise rises over the full orchestra, crashing cymbals, big brass fanfare. [1:45 - 2:00] Outro: Strings and brass fade to the solo wooden flute and wind, like the camera pulling back into the horizon. ## Model Parameter Inspires: - prompt: An upbeat 2-minute indie pop anthem in C major at 120 BPM. Female alto vocals with a warm, husky timbre, layered backing harmonies in the chorus. [0:00 - 0:10] Intro: Soft fingerpicked acoustic guitar arpeggio; a heartbeat-like kick drum enters at 0:06. [0:10 - 0:35] Verse 1: Layered acoustic guitars, light shaker percussion, intimate lead vocal. [0:35 - 0:55] Chorus: Full band kicks in — bright electric guitars, claps, soaring vocal harmonies. [0:55 - 1:25] Verse 2: Drop back to acoustic guitar and vocals, then build with rising strings. [1:25 - 1:50] Final chorus: Bigger, with crashing drums and a vocal ad-lib. [1:50 - 2:00] Outro: Strums fade out under a single sustained vocal note. Lyrics: [Verse 1] Walking through the morning haze, sunlight breaks the silent maze, every step a brand-new story, every breath a quiet glory. [Chorus] We are the rising sun, we are the song that's just begun, hold my hand and don't let go, we are the light, we are the glow. [Verse 2] Down the streets we used to roam, turning empty rooms to home, all the cracks become our gold, every winter into bold. [Chorus] We are the rising sun, we are the song that's just begun, hold my hand and don't let go, we are the light, we are the glow. - inputImage: - prompt: A 2-minute epic cinematic orchestral piece inspired by the mood and colors of this image. Hopeful, adventurous, and reverent. Instrumental only, no vocals. [0:00 - 0:20] Intro: Solo wooden flute over distant wind ambience and faint ney drone. [0:20 - 0:50] Build: Warm string section enters softly, low frame drums begin a slow heartbeat pulse, sparse hammered dulcimer accents. [0:50 - 1:20] Main theme: Full string section carries a soaring melody, low brass swells, deep taiko-like percussion drives forward motion. [1:20 - 1:45] Climax: A wordless female soprano vocalise rises over the full orchestra, crashing cymbals, big brass fanfare. [1:45 - 2:00] Outro: Strings and brass fade to the solo wooden flute and wind, like the camera pulling back into the horizon. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/lyria-3-pro-input-1.jpeg ## 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/google/lyria-3-pro" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputImage": "lyria-3-pro-input-1.jpeg", "prompt": "A 2-minute epic cinematic orchestral piece inspired by the mood and colors of this image. Hopeful, adventurous, and reverent. Instrumental only, no vocals.\n\n[0:00 - 0:20] Intro: Solo wooden flute over distant wind ambience and faint ney drone.\n[0:20 - 0:50] Build: Warm string section enters softly, low frame drums begin a slow heartbeat pulse, sparse hammered dulcimer accents.\n[0:50 - 1:20] Main theme: Full string section carries a soaring melody, low brass swells, deep taiko-like percussion drives forward motion.\n[1:20 - 1:45] Climax: A wordless female soprano vocalise rises over the full orchestra, crashing cymbals, big brass fanfare.\n[1:45 - 2:00] Outro: Strings and brass fade to the solo wooden flute and wind, like the camera pulling back into the horizon.", "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 with Task ID ```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 '{ "taskid": "2221" }'; ``` ## Get Task Detail - Make HTTP Post Request with Socket Access Token ```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 } ``` ## Kill Task - Make HTTP Post Request with Task ID ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "taskid": "534574" }'; ``` ## Kill Task - Make HTTP Post Request with Socket Access Token ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE" }'; ``` ## Kill Task - Response ```json { "errors": [], "tasklist": [ { "id": "534574", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "name": "", "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE", "parameters": { "inputImage": "https://api.wiro.ai/v1/File/mCmUXgZLG1FNjjjwmbtPFr2LVJA112/inputImage-6060136.png" }, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_cancel", "cps": "0.000585000000", "totalcost": "0.003510000000", "guestid": null, "projectid": "699", "modelid": "598", "description": "", "basemodelid": "0", "runtype": "model", "modelfolderid": "", "modelfileid": "", "callbackurl": "", "marketplaceid": null, "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "pexit": "0", "categories": "["tool","image-to-image","quick-showcase","compare-landscape"]", "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", "foldercount": "0", "filecount": "0", "ispublic": 0, "expiretime": null, "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Cancel Task - Make HTTP Post Request (For tasks on queue) ```bash curl -X POST "https://api.wiro.ai/v1/Task/Cancel" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "taskid": "634574" }'; ``` ## Cancel Task - Response ```json { "errors": [], "tasklist": [ { "id": "634574", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "name": "", "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE", "parameters": { "inputImage": "https://api.wiro.ai/v1/File/mCmUXgZLG1FNjjjwmbtPFr2LVJA112/inputImage-6060136.png" }, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_cancel", "cps": "0.000585000000", "totalcost": "0.003510000000", "guestid": null, "projectid": "699", "modelid": "598", "description": "", "basemodelid": "0", "runtype": "model", "modelfolderid": "", "modelfileid": "", "callbackurl": "", "marketplaceid": null, "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "pexit": "0", "categories": "["tool","image-to-image","quick-showcase","compare-landscape"]", "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", "foldercount": "0", "filecount": "0", "ispublic": 0, "expiretime": null, "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.