How to run F5-TTS on a cloud GPU
Rent a GPU on Deploy, then open a terminal in JupyterLab or over SSH. Install F5-TTS from the official repository, let the inference script download the checkpoint it documents, and run the CLI or the Gradio app with a reference clip you are allowed to use. Copy the wav off the instance before you destroy it. Destroying the instance deletes its disk.
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.
Use a reference recording you have the right to clone. The README does not add a watermark claim.
What the README and the model card say about memory
The F5-TTS README, the inference notes it links at src/f5_tts/infer/README.md, and the SWivid/F5-TTS model card publish no GB figure (read 2026-11-12). The infer README says leaving the reference text empty makes an ASR model transcribe the clip and that this uses extra GPU memory. It gives no GB number.
GET /v1/public/compute-capabilities does not list GPUs. It returns feature flags. The memory column is vram_gb from gpu-prices.json, read 2026-11-12. GET /v1/public/gpu-catalog on the same day listed the same names and the same vram_gb values. There is no upstream GB cutoff to match these values against. Which listing you can start is on Deploy. This page does not say which listings are available.
| 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 |
The README also prints a runtime benchmark table with latencies. This page leaves that table in the README.
The model card’s license field is cc-by-nc-4.0. The model API reported gated: false and pipeline_tag: text-to-speech. Read the license on the card before commercial use. This page does not restate it. The card also lists an E2 TTS checkpoint. The CLI model name in the infer README for the F5 v1 weights is F5TTS_v1_Base.
Install
On Deploy, choose Raw GPU. The README’s environment block, copied. It says Python >=3.10 and shows conda with Python 3.11. It also says you can use virtualenv, and it does not print the virtualenv commands. If conda is not on PATH, use how to set up a conda environment on a cloud GPU. This page did not check whether the Raw GPU image already has conda.
conda create -n f5-tts python=3.11
conda activate f5-tts
conda install ffmpeg
The NVIDIA section says to install PyTorch for your CUDA version. The two examples it prints are:
pip install torch==2.8.0+cu128 torchaudio==2.8.0+cu128 --extra-index-url https://download.pytorch.org/whl/cu128
pip install torch==2.4.0+cu124 torchaudio==2.4.0+cu124 --extra-index-url https://download.pytorch.org/whl/cu124
Then the inference install it prints:
pip install f5-tts
That command has no version pin. PyPI showed 1.1.22, uploaded 2026-07-23, when checked on 2026-11-12. This page did not install that release. The README’s other install, for training or finetuning, is:
git clone https://github.com/SWivid/F5-TTS.git
cd F5-TTS
pip install -e .
The README also documents a Docker run. This page follows the pip install.
CLI, then Gradio
The infer README says the checkpoints are on SWivid/F5-TTS and are downloaded when an inference script runs. The model card’s file tree names F5TTS_v1_Base/model_1250000.safetensors. src/f5_tts/infer/utils_infer.py downloads the vocoder from charactr/vocos-mel-24khz. How to download a Hugging Face model is the manual hf download reference. cloudgpu-net is not in the F5-TTS README. The download speed guide says to leave it off during pip, then turn it on for a weight download.
The infer README’s CLI, copied. Put the transcript of the reference clip in --ref_text.
f5-tts_infer-cli \
--model F5TTS_v1_Base \
--ref_audio "ref_audio.wav" \
--ref_text "The content, subtitle or transcription of reference audio." \
--gen_text "Some text you want TTS model generate for you."
infer_cli.py defaults --output_dir to tests and the output filename to infer_cli_ plus a timestamp and .wav. The example toml in the infer README also sets output_dir = "tests". The same notes say a single generation is 30 seconds of audio, counting the prompt and the output together, and that longer text is chunked. They say a long reference clip is clipped to about 12 seconds. Blank audio, they say, is a reason to check the FFmpeg install.
If --ref_text is an empty string, the infer README says an ASR model transcribes the clip. src/f5_tts/infer/utils_infer.py loads that ASR model from a Hugging Face repository owned by a closed-model vendor. Copy the model= line from that file if you want the automatic transcription. This page does not copy it. Passing --ref_text skips that download.
For another TTS install on the same kind of instance, see how to run Kokoro TTS, how to run Chatterbox TTS, how to run CosyVoice, how to run GPT-SoVITS, how to run IndexTTS2, and how to run Fish Speech.
Gradio
The README’s Gradio command, copied. It does not pass --share and it does not pass --host 0.0.0.0. Those two forms are also in the README. This page uses the port form and SSH port forwarding.
f5-tts_infer-gradio --port 7860
On your own computer:
ssh -N -L 7860:127.0.0.1:7860 -p <ssh-port> <ssh-user>@<ssh-host>
Then open http://localhost:7860. The infer README says f5-tts_infer-gradio is python src/f5_tts/infer/infer_gradio.py, and that the app can load an ASR model when reference text is missing and an LLM when Voice Chat is used. Voice Chat is described there as “Voice Chat powered by Qwen2.5-3B-Instruct”. This page did not open that mode.
The F5-TTS README and the infer README do not document a ComfyUI route. This page does not add one.
When it fails
CUDA out of memory. The README, the infer README and the model card publish no GB cutoff. Empty --ref_text is the case the infer README marks as extra GPU memory. Then use how to fix CUDA out of memory on a cloud GPU.
“CUDA error: no kernel image is available” on an RTX 5090. Catalog RTX 5090 and RTX 5090D are 32 GB. That is the catalog value, not an F5-TTS requirement. The README’s NVIDIA examples include a cu128 wheel and a cu124 wheel. The RTX 5090 guide says that card needs a PyTorch build for CUDA 12.8 or newer. This page did not re-test either example wheel on an RTX 5090. How to install a specific PyTorch CUDA version is the wheel index.
Silent wav. The infer README says to check the FFmpeg installation. The conda block above installs ffmpeg.
Save the audio, then destroy
Copy the tests directory, or the directory you passed as --output_dir, before you destroy the instance. 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 billing rule is on the pricing page. Prices are not copied here.
Frequently asked questions
How much VRAM does F5-TTS publish?
The F5-TTS README, src/f5_tts/infer/README.md and the SWivid/F5-TTS model card publish no GB figure (read 2026-11-12). The infer README says an empty reference transcript makes an ASR model run and that this uses extra GPU memory, with no GB number. gpu-prices.json lists vram_gb for the rental catalog, and this page does not mark any of those values as enough or not enough for F5-TTS. Which listing you can start is on https://cloudgpu.app/deploy.
How do I clone a voice with F5-TTS?
The infer README’s CLI is f5-tts_infer-cli --model F5TTS_v1_Base with --ref_audio, --ref_text and --gen_text. The weights it names are on https://huggingface.co/SWivid/F5-TTS, and the model card lists F5TTS_v1_Base/model_1250000.safetensors. Use a reference clip you have the right to clone. The infer notes say a long reference is clipped to about 12 seconds and a single generation covers 30 seconds of audio including the prompt, with longer text chunked.
Does the official F5-TTS repository document ComfyUI?
The F5-TTS README and src/f5_tts/infer/README.md do not document a ComfyUI route. They document f5-tts_infer-cli and f5-tts_infer-gradio. This page does not add a ComfyUI install. The Gradio command on this page is f5-tts_infer-gradio --port 7860, then SSH port forwarding to that port.
Will the wav stay on the instance after I destroy it?
No. infer_cli.py writes under tests unless you pass --output_dir. Copy that folder before you destroy the instance. The terms say data on local instance storage is permanently deleted when the instance is destroyed. The billing rule is on https://cloudgpu.app/pricing. The model card license field is cc-by-nc-4.0. Read that license before commercial use.
Sources (read 2026-11-12, Asia/Shanghai)
- F5-TTS README (Python >=3.10, conda 3.11, ffmpeg, cu128 and cu124 examples,
pip install f5-tts, Gradio port 7860): https://github.com/SWivid/F5-TTS - src/f5_tts/infer/README.md (auto-download from SWivid/F5-TTS, 30s generation, ~12s reference clip, CLI flags,
output_dir = "tests", Gradio features): https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/infer/README.md - src/f5_tts/infer/infer_cli.py (default output directory
tests, default wav name): https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/infer/infer_cli.py - src/f5_tts/infer/utils_infer.py (vocoder
charactr/vocos-mel-24khz; ASRmodel=left in the file): https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/infer/utils_infer.py - SWivid/F5-TTS model card (
cc-by-nc-4.0,F5TTS_v1_Base/model_1250000.safetensors, APIgated: false): https://huggingface.co/SWivid/F5-TTS - f5-tts on PyPI (1.1.22, uploaded 2026-07-23; the README does not pin it): https://pypi.org/project/f5-tts/
- Public GPU memory: https://cloudgpu.app/gpu-prices.json and https://cloudgpu.app/v1/public/gpu-catalog.
GET /v1/public/compute-capabilitiesreturned feature flags and no GPU list.
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-12 (Asia/Shanghai).