How to run ThinkSound video-to-audio on a cloud GPU
Rent a GPU on Deploy, then open a terminal in JupyterLab or over SSH. Install from the ThinkSound README on branch master, download the weights that file names, run the documented demo or batch script, and copy the wav off the instance before you destroy it. Destroying the instance deletes its disk.
Another video-to-audio model, whose README says inference takes around 6GB in 16-bit mode, is How to run MMAudio video-to-audio on a cloud GPU. A different audio model, whose README and model card publish no GPU GB figure, is How to run Stable Audio Open on a cloud GPU. app.py calls launch() and does not pass a host or a port: How to use SSH port forwarding on a cloud GPU. If the process runs out of memory: How to fix CUDA out of memory on a cloud GPU. How published FLUX and SDXL weight sizes are read: How much VRAM do I need for FLUX and SDXL.
Generate audio only for video you have the right to use. The README says the project is released under the Apache 2.0 License, and its note says the code, models, and dataset are for research and educational purposes only and that commercial use is not permitted. The git tree at HEAD 4e2cfd57efaaf40c90460d8111b6a3c1e7dfb2f0 has no root LICENSE file. The model card for the Hub id the API returned, FunAudioLLM/ThinkSound, has front matter license: apache-2.0. The model API on 2026-11-13 reported gated false, top-level license null, and cardData.license apache-2.0. lastModified was 2025-07-17T02:16:53.000Z. The README’s third-party section says the repository includes a fine-tuned VAE and points at third_party/LICENSE_StabilityAI.md. That file is titled STABILITY AI COMMUNITY LICENSE AGREEMENT, last updated July 5, 2024. Its introduction names an upstream license threshold of annual revenue of less than US $1,000,000 (or local currency equivalent). Section 3 names a second upstream license threshold: the license terminates if you or your affiliates generate more than USD $1,000,000 in annual revenue. The README also says commercial use and redistribution of that VAE require prior permission, and that all other code and models are released under the Apache License 2.0. The Hub URL in the VAE sentence is a path this page does not paste. Copy it from the README. data_utils/ext/synchformer/LICENSE is the MIT License, copyright 2024 Vladimir Iashin. Read both license files before you redistribute the program or the weights.
The commands below are copied from the upstream files named in each step. They were not run on a CloudGPU instance for this page. Anything this page adds around them is marked.
What the README and the model card say about memory
The README news line dated 2025.07.08 says the model was lightweighted and that memory and GPU usage were optimized. It prints no GB figure. The model card text, read 2026-11-13, prints no GPU GB figure. docs/Training.md prints no GPU GB figure. A scan of the .md, .py, .txt, .ini, .json, and .sh files at that HEAD found no GPU GB figure. ThinkSound/data/dataset.py has a commented assignment max_size = 1 * 1000 * 1000 * 1000 with the comment “Only files < 1 GB”. That comment is a file-size cap, and the assignment is commented out. It is not a GPU memory figure. extract_latents.py has a helper that prints allocated and reserved CUDA memory, and --use_half is described as “Use half precision for models to save memory”. Neither line is a GB cutoff.
GET /v1/public/compute-capabilities does not list GPUs. It returns feature flags. The memory column is vram_gb from gpu-prices.json, updated_at 2026-11-13T17:08:25.407Z. GET /v1/public/gpu-catalog the same day (generated_at 2026-11-13T17:08:26.374Z) listed the same names and the same vram_gb values, plus Ascend 910B at 64, which is not in gpu-prices.json and is not listed here. The catalog response also includes an availability field. This page does not copy it. Every prices row has gpu_count 1. Every catalog row has min_gpu_count 1. There is no upstream GPU GB cutoff to match these values against. Which listing you can start is on Deploy.
The catalog template list had no ThinkSound template. The README does not document a ComfyUI workflow.
| Catalog name | vram_gb |
|---|---|
| RTX 2080 | 8 |
| RTX 3080 | 10 |
| RTX 2080 Ti | 11 |
| RTX 3080 Ti | 12 |
| V100 16G | 16 |
| A30 | 24 |
| RTX 3090 | 24 |
| RTX 4090 | 24 |
| RTX 4090D | 24 |
| RTX 4080 SUPER 32G | 32 |
| RTX 5090 | 32 |
| RTX 5090D | 32 |
| V100 32G | 32 |
| A100 40G | 40 |
| A800 40G | 40 |
| A40 | 48 |
| RTX 4090 48G | 48 |
| RTX 4090D 48G | 48 |
| RTX A6000 | 48 |
| NVIDIA RTX PRO 5000 72G | 72 |
| RTX PRO 5000 72G | 72 |
| A100 80G | 80 |
| A800 80G | 80 |
| H800 | 80 |
| RTX 6000D | 83 |
| H20 96G | 96 |
| RTX PRO 6000 96G | 96 |
| RTX PRO 6000 Max-Q | 96 |
| H20-3e 141G | 141 |
Install and download the weights
On Deploy, choose Raw GPU. The README says ThinkSound is branch master and that PrismAudio is branch prismaudio in the same repository. This page follows master. The quick start, copied. On 2026-11-13, https://github.com/liuhuadai/ThinkSound and https://github.com/FunAudioLLM/ThinkSound both returned HTTP 301 to https://github.com/QwenAudio/ThinkSound. The model card’s GitHub link is the FunAudioLLM URL. The clone line below is the one the README prints.
git clone -b master https://github.com/liuhuadai/ThinkSound.git
cd ThinkSound
conda create -n thinksound python=3.10
conda activate thinksound
pip install thinksound
conda install -y -c conda-forge 'ffmpeg<7'
git lfs install
git clone https://huggingface.co/liuhuadai/ThinkSound ckpts
The README also says the weights can be downloaded from https://www.modelscope.cn/models/iic/ThinkSound. On 2026-11-13, https://huggingface.co/liuhuadai/ThinkSound returned HTTP 307 to /FunAudioLLM/ThinkSound. The model API id was FunAudioLLM/ThinkSound. defaults.ini sets ckpt_dir to ckpts/thinksound_light.ckpt and pretransform_ckpt_path to ckpts/vae.ckpt. This page did not clone the weight repository and did not check that those two filenames are in it. The quick start does not run pip install -r requirements.txt. That file pins torch==2.6.0, torchaudio==2.6.0, torchvision==0.21.0, and gradio==3.50.0. This page did not compare those pins with the thinksound package the quick start installs. A comment in the quick start says you may optionally install a FlashAttention backend compatible with your system and PyTorch version. It does not print a version. This page does not pick one. The same README prints setup_windows.bat for Windows. This page follows the Linux block.
Demo and batch inference
The Linux demo command, copied:
chmod +x scripts/demo.sh
./scripts/demo.sh <path-to-your-demo-video> <title> <CoT description> [use-half]
The README says the first argument is the path to a single video, and that use-half at the end enables half precision feature extraction. scripts/demo.sh copies or converts the video to videos/demo.mp4, writes cot_coarse/cot.csv, runs extract_latents.py, then runs predict.py with --results-dir results and --model-config ThinkSound/configs/model_configs/thinksound.json. It then looks for results/${CURRENT_DATE}_batch_size1/demo.wav, where CURRENT_DATE is date +"%m%d". This page did not run the script.
The Linux batch command, copied:
chmod +x scripts/eval_batch.sh
./scripts/eval_batch.sh <video_path> <csv_path> <save_path (optional)> [use-half]
The README says video_path is a directory of .mp4 files of equal duration, csv_path is a prompt file in the shape of demo_test.csv, and save_path defaults to results/features. scripts/eval_batch.sh uses that default, passes --save-dir to eval_batch.py, and then prints $SAVE_PATH/${CURRENT_DATE}_batch_size1 with the same %m%d date. The feature-extraction step in that script writes --save-dir results/features even when a different save path is passed. This page did not run the script.
Gradio
The README’s web UI command is python app.py. app.py builds a Gradio interface titled “ThinkSound Demo” with a video upload, a caption, a CoT description, and a “Use Half Precision” checkbox. The function writes a session directory from tempfile.mkdtemp, looks for {session}/results/audios/{mmdd}_batch_size1/demo.wav, and muxes that wav onto the video as {vid}_{unique_id}_with_audio.mp4 in the same results/audios directory. The launch line is demo.queue().launch(). It does not pass server_name or server_port. This page did not start the app and does not state a port number the call does not pass. How to use SSH port forwarding on a cloud GPU is the tunnel page for a process that listens on the loopback interface.
ComfyUI
The README and the model card do not document a ComfyUI workflow. This page does not add one. How to install ComfyUI and ComfyUI-Manager on a cloud GPU is a separate install.
When it fails
CUDA out of memory. The documented flag for lower precision is use-half on scripts/demo.sh and scripts/eval_batch.sh, and the “Use Half Precision” checkbox in app.py. extract_latents.py describes --use_half as saving memory and prints no GB figure. If the process raises that error, use how to fix CUDA out of memory on a cloud GPU.
“CUDA error: no kernel image is available for execution on the device” on an RTX 5090. requirements.txt pins torch==2.6.0. The quick start does not install that file. It installs the thinksound package and does not name compute capability 12.0. The RTX 5090 guide says that card is compute capability 12.0 (sm_120) and that PyTorch 2.7 and later, on a build for CUDA 12.8 or newer, is the line that announced support. This page did not install a torch wheel and did not re-test this package on an RTX 5090. Catalog RTX 5090 and RTX 5090D are 32. That is the catalog number only.
Save the audio, then destroy
Copy results/<mmdd>_batch_size1/demo.wav from the demo script, the dated folder under the batch save path, and the session directory app.py creates under the system temp directory, before you destroy the instance. The Gradio result is also the video component in the browser. Save your work before you destroy a cloud GPU is the checklist. The terms say data on local instance storage is permanently deleted when the instance is destroyed.
The pricing page FAQ states the billing rule in these words:
Per-minute options have a 1-minute minimum; unused prepaid minutes are refunded when you destroy the instance. Some configurations use whole-hour billing with a 1-hour minimum; unused time within a charged hour is not refunded on voluntary stop. The billing period, minimum charge and initial prepayment are shown before confirmation. No subscription.
Prices are not copied here.
Frequently asked questions
How much VRAM does the ThinkSound README print?
The README, the model card, and docs/Training.md publish no GPU GB figure (read 2026-11-13). A commented line in ThinkSound/data/dataset.py says “Only files < 1 GB”. That comment is a file-size cap, and the assignment is commented out. It is not a GPU memory figure. extract_latents.py describes --use_half as saving memory and prints no GB cutoff. This page does not mark a catalog row as enough. Which listing you can start is on https://cloudgpu.app/deploy.
Which commands does the README print, and where is the audio saved?
The quick start clones branch master, installs the thinksound package, and clones the weight repository into ckpts. scripts/demo.sh writes results/
Which port does the Gradio launch pass?
app.py calls demo.queue().launch() and does not pass server_name or server_port. This page does not state a port number the call does not pass. requirements.txt pins gradio==3.50.0. The quick start does not install that file. This page did not start the app.
What license does the repository print?
The README says Apache 2.0, and its note says commercial use is not permitted. The tree at HEAD has no root LICENSE file. The model card front matter is license: apache-2.0. third_party/LICENSE_StabilityAI.md is the STABILITY AI COMMUNITY LICENSE AGREEMENT, last updated July 5, 2024. Its introduction’s figure of less than US $1,000,000 and section 3’s figure of more than USD $1,000,000 are upstream license thresholds. Those dollar figures, and the words free of charge, free access, and royalty-free in that file, are license text, not a CloudGPU price and not a storage allowance.
Sources (read 2026-11-13, Asia/Shanghai)
- ThinkSound README on branch
master(clone line,pip install thinksound, weight clone,scripts/demo.sh,scripts/eval_batch.sh,python app.py, Apache 2.0 note, commercial-use note, third-party VAE sentence; no GPU GB figure): repository HEAD4e2cfd57efaaf40c90460d8111b6a3c1e7dfb2f0, committed 2026-03-24T07:05:09Z. https://github.com/QwenAudio/ThinkSound/blob/master/README.md - Redirects observed the same day:
https://github.com/liuhuadai/ThinkSoundandhttps://github.com/FunAudioLLM/ThinkSoundreturned HTTP 301 tohttps://github.com/QwenAudio/ThinkSound.https://huggingface.co/liuhuadai/ThinkSoundreturned HTTP 307 to/FunAudioLLM/ThinkSound scripts/demo.sh(results/${CURRENT_DATE}_batch_size1/demo.wav,date +"%m%d") andscripts/eval_batch.sh(defaultresults/features, dated folder): read from that HEADapp.py(demo.queue().launch()with noserver_nameorserver_port, temp session,results/audios/<mmdd>_batch_size1/demo.wav): read from that HEADrequirements.txt(torch==2.6.0,gradio==3.50.0): read from that HEAD. The quick start does not install this filedefaults.ini(ckpts/thinksound_light.ckpt,ckpts/vae.ckpt): read from that HEADdocs/Training.mdand a scan of text files at that HEAD (no GPU GB figure).ThinkSound/data/dataset.pycommented “Only files < 1 GB” line is a file-size commentthird_party/LICENSE_StabilityAI.md(STABILITY AI COMMUNITY LICENSE AGREEMENT, last updated July 5, 2024, US $1,000,000 and USD $1,000,000) anddata_utils/ext/synchformer/LICENSE(MIT, copyright 2024 Vladimir Iashin): read from that HEAD. No rootLICENSEfile in the tree- Model card
FunAudioLLM/ThinkSound(front matterlicense: apache-2.0, no GPU GB figure; GitHub link printed as FunAudioLLM/ThinkSound): read 2026-11-13. Model API the same day:gatedfalse, top-levellicensenull,cardData.licenseapache-2.0,lastModified2025-07-17T02:16:53.000Z - Public GPU memory: https://cloudgpu.app/gpu-prices.json (
updated_at2026-11-13T17:08:25.407Z) and https://cloudgpu.app/v1/public/gpu-catalog (generated_at2026-11-13T17:08:26.374Z).GET /v1/public/compute-capabilitiesreturned feature flags and no GPU list. The catalog had no ThinkSound template
Cards you can start are on the Deploy page. Prices are on https://cloudgpu.app/pricing and are not repeated here.
Last updated: 2026-11-13 (Asia/Shanghai).