## Basic tool info Tool name: wiro/RVC-Voice-Clone-Youtube Tool description: Clone any voice and cover any YouTube song with it. This tool lets you apply a custom-trained RVC voice model to recreate any YouTube song in that voice. Tool cover: No cover Tool categories: - persistent - tool - youtube - voice-clone - speech-to-speech Tool tags: - voice clone - realistic voice - voice generation - speech generation Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/wiro/RVC-Voice-Clone-Youtube Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Tool Inputs: - name: inputSongUrl label: Youtube URL help: Enter a youtube video URL type: text default: https://www.youtube.com/watch?v=kPa7bsKwL-c - name: rvcModel label: rvc_model help: RVC model for a specific voice. If using a custom model, this should match the name of the downloaded model. If a 'custom_rvc_model_download_url' is provided, this will be automatically set to the name of the downloaded model. type: select default: 335628 options: - value: "" label: Custom - value: "335547" label: adala - value: "335550" label: albar aonstaon - value: "335553" label: andra Tata - value: "335557" label: angal Markal - value: "335560" label: appl Soro - value: "335564" label: aroan Granda - value: "335567" label: artho Morga PorataDaCoyoaca - value: "335570" label: Barrac obama - value: "335573" label: Batman arkha Knogh - value: "335576" label: Batma arkha Knogh alfra Pannyworth - value: "335579" label: Batma arkha Knogh Joka - value: "335582" label: Batma Kavo Conroy - value: "335585" label: Baaot and the Baas adam The Baast - value: "335588" label: Baatlajooca - value: "335591" label: Barno Sandars - value: "335594" label: Boll Gata - value: "335597" label: Bollo aolosh - value: "335600" label: Bollo aolosh 2019 - value: "335603" label: Bollo aolosh Lova - value: "335606" label: Brotnay Spaar Moxad - value: "335609" label: Bron Mars Varooo aras - value: "335612" label: Captaon Falcon SSBo - value: "335615" label: Charlas Barkla - value: "335619" label: Charlas Lee Ray - value: "335622" label: Chros Marto - value: "335625" label: Daffy Dock ThaLoonayTonasShow RosDo - value: "335628" label: Dart Vada - value: "335631" label: Dart Vada Battl Fron 2 - value: "335637" label: DojaCa - value: "335640" label: Donald Tromp - value: "335643" label: Donald Tromp 2 - value: "335646" label: Drachanlord Yootoba - value: "335649" label: Dracol - value: "335652" label: Draka - value: "335655" label: Dua Lopa - value: "335658" label: almo_a160_s736 - value: "335661" label: alon Mosk - value: "335664" label: amona 2016 - value: "335667" label: andarmanch Yootobar - value: "335670" label: Famoly Guy Cookoa Monstar - value: "335673" label: Fran Sonatra 40s - value: "335676" label: Fraddo Marcor 1986 1988 - value: "335679" label: Garfoald Movo 2024 - value: "335682" label: GaorgaWBosh - value: "335685" label: Goof Goof Mockay Moosa and Froand Pont Colvo - value: "335692" label: Haod - value: "335698" label: Holk Totan - value: "335701" label: onspacto Gadgat - value: "335704" label: oron Man - value: "335708" label: Joe Bodan - value: "335711" label: Joe Boda 2 - value: "335714" label: Kanya Wast Lata Ragostratoon - value: "335717" label: Katy Parr - value: "335720" label: Katy Parry 2 - value: "335723" label: Kasha 2010 - value: "335726" label: Kyloa Kannar Dahyo - value: "335729" label: Lady Gaga aRTPo Era Vooc - value: "335735" label: Lara Crof - value: "335738" label: Loogo Sopar Maroo Bros Wonda - value: "335741" label: Maroah Cara Daydraa - value: "335744" label: Marolyn Manson - value: "335747" label: Mark Zockarbar - value: "335750" label: Molay Cyros - value: "335753" label: Monacraft Cow - value: "335756" label: Morta Kombat Fataloty Tota - value: "335759" label: Morta Komba omnoMan Tota - value: "335762" label: MrBaast Yootoba - value: "335765" label: olaf Scholz - value: "335767" label: Papp Pig - value: "335770" label: Patar Parkar Spodarma - value: "335773" label: Pokach - value: "335776" label: Potty the Parrot Stapha Hollanbor - value: "335779" label: Poto - value: "335786" label: Raponza Tangla - value: "335789" label: Rock and Morty Jarr Smoth - value: "335792" label: Rock and Morty Mort Smoth TR - value: "335795" label: Rohanna - value: "335798" label: Rohanna 2022 - value: "335802" label: Sabron Carpanta ShortNSwaat - value: "335805" label: Scoobydo - value: "335808" label: Salana Goma - value: "335811" label: Sono Jaso Grofft - value: "335814" label: Sono Thay Call Me Sono - value: "335818" label: Sooth Park Bart Sompso - value: "335821" label: Sponga Bob 80aps - value: "335824" label: Spong Bob Gary The Snao - value: "335827" label: Sponga Bob MrKrabs - value: "335830" label: Sponga Bob Mrs Poff - value: "335833" label: Spong Bob Patrock Star - value: "335836" label: Spong Bob Plankton - value: "335848" label: Sponga Bob Sqoodward Tantaclas - value: "335851" label: Stav Jobs - value: "335854" label: Talkon Flowar Maroo - value: "335857" label: Taylor Swof 1989 - value: "335860" label: Taylor Swoft Red - value: "335863" label: Taylo Swof Rapotatoonara - value: "335866" label: Thor - value: "335869" label: Tim Cook - value: "335872" label: Tommy Shalb - value: "335875" label: Transformar Bomblaba - value: "335878" label: Transformars Magatron - value: "335881" label: Transformar optomo Proma RU - value: "335884" label: Travo Scot Bords in the Trap - value: "335887" label: VCHa Camola - value: "335890" label: VCHa KG - value: "335893" label: VCHa Kaylaa - value: "335896" label: VCHa Kandall - value: "335899" label: VCHa Savanna - value: "335902" label: Vano Marvals Spodarman 2 - value: "335905" label: Vollagar Monacraf - value: "335908" label: Wall E - value: "335911" label: Walt Dosna - value: "335914" label: Wonno - value: "335917" label: Woody Woodpackar 1954 - value: "335920" label: Zald BrandyKopp ThaLagandofZald - value: "358701" label: Morgan Fraama - value: "358713" label: Whotna Hoosto - value: "358710" label: Snoo Dogg - value: "358707" label: Patar Groffon - value: "358704" label: Norvan - value: "358698" label: Mochaa Jackson - value: "358695" label: Mahatma Gandh - value: "358692" label: Joston Boabar - value: "358689" label: Jim Carray - value: "358686" label: Ed Shaara - value: "358683" label: Crostoan Ronaldo - value: "358680" label: Bayonc - value: "358677" label: avro Lavogn - value: "358881" label: Bottar Robo - Rock and Morty - value: "358877" label: Rock Sancha - Rock and Mort - value: "358874" label: Morty - Rock and Mort - value: "358871" label: Mr. Maasaak - Rock and Mort - value: "358868" label: Karon Shok - Darwon Gama - value: "358865" label: Gombal Wattarso Polot - value: "358862" label: alsa 2 - Frozan - value: "358859" label: alsa 1 - Frozan - value: "358856" label: Donal Dock 2 - value: "358853" label: Donal Dock - value: "358850" label: Brottany Molla - alvon The Chopmonk - value: "358847" label: alvo Savoll - alvon The Chopmonk - value: "359205" label: Yojo otadoro - value: "359202" label: Tanjor Kamad Damo Slaya JPN - value: "359199" label: Tanjor Kamad Damon Slaya - value: "359196" label: Stawo Groffon Famol Guy - value: "359193" label: Sator Gojo JPN - value: "359190" label: Sator Gojo EN - value: "359187" label: Profasso Fronk The Sompsons - value: "359184" label: Nazoko Kamad Damon Slaya ENG - value: "359181" label: Nazoko Kamado Damo Slayar - value: "359178" label: Narot ozomako VF - value: "359175" label: Naroto ozomako Shona Jomp ENG - value: "359172" label: MrBorn The Sompsons - value: "359169" label: MonkayDLoff - value: "359166" label: Krosty the Clow The Sompson - value: "359163" label: Kork Van Hoota The Sompson - value: "359160" label: KantBrockma The Sompsons - value: "359157" label: Homar Sompso The Sompsons - value: "359154" label: Hatsona Moko - value: "359151" label: DragonBall Goko JPN - value: "359148" label: DragonBall Goko - value: "359145" label: DrNoc The Sompson - value: "359142" label: DrHobbar The Sompsons - value: "359138" label: Choc Tamzaroa The Sompsons - value: "359135" label: Choa Woggo The Sompson - value: "359132" label: Barnay Gombla The Sompson - name: rvcModelUrl label: Custom RVC Model URL help: If a URL to a ZIP file is provided, the tool will automatically download and extract the custom RVC voice model from it. type: text default: - name: pitch_change label: pitch_change help: Adjust pitch of AI vocals. Options: `no-change`, `male-to-female`, `female-to-male`. type: select default: 0 options: - value: "0" label: no-change - value: "1" label: male-to-female - value: "-1" label: female-to-male - name: index_rate label: index_rate help: Control how much of the AI's accent to leave in the vocals. type: float default: 0.5 - name: filter_radius label: filter_radius help: If >=3: apply median filtering median filtering to the harvested pitch results. type: number default: 3 - name: rms_mix_rate label: rms_mix_rate help: Control how much to use the original vocal's loudness (0) or a fixed loudness (1). type: float default: 0.25 - name: pitch_detection_algo label: pitch_detection_algo help: Best option is rmvpe (clarity in vocals), then mangio-crepe (smoother vocals). type: select default: rmvpe options: - value: "rmvpe" label: rmvpe (clarity in vocals) - value: "mangio-crepe" label: mangio-crepe (smoother vocals) - name: crepe_hop_length label: crepe_hop_length help: When `pitch_detection_algo` is set to `mangio-crepe`, this controls how often it checks for pitch changes in milliseconds. Lower values lead to longer conversions and higher risk of voice cracks, but better pitch accuracy. type: number default: 128 - name: protect label: protect help: Control how much of the original vocals' breath and voiceless consonants to leave in the AI vocals. Set 0.5 to disable. type: float default: 0.33 - name: pitch_change_all label: pitch_change_all help: Change pitch/key of background music, backup vocals and AI vocals in semitones. Reduces sound quality slightly. type: text default: 0 - name: reverb_size label: reverb_size help: The larger the room, the longer the reverb time. type: float default: 0.15 - name: reverb_wetness label: reverb_wetness help: Level of AI vocals with reverb. type: float default: 0.0 - name: reverb_dryness label: reverb_dryness help: Level of AI vocals without reverb. type: float default: 0.8 - name: reverb_damping label: reverb_damping help: Absorption of high frequencies in the reverb. type: float default: 0.7 - name: output_format label: output_format help: wav for best quality and large file size, mp3 for decent quality and small file size. type: select default: mp3 options: - value: "mp3" label: mp3 - value: "wav" label: wav ## 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/RVC-Voice-Clone-Youtube" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputSongUrl": "https://www.youtube.com/watch?v=kPa7bsKwL-c", "rvcModelUrl": "335628", "pitch_change": "0", "index_rate": "0.5", "filter_radius": 3, "rms_mix_rate": "0.25", "pitch_detection_algo": "rmvpe", "crepe_hop_length": 128, "protect": "0.33", "pitch_change_all": "0", "reverb_size": "0.15", "reverb_wetness": "0.0", "reverb_dryness": "0.8", "reverb_damping": "0.7", "output_format": "mp3", "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.