Modal Deepgram deployments are managed by labels. Each label specifies a set of Deepgram TOML files and models. Keep in mind that Deepgram models, such as Flux and Aura-2, must be deployed on independent Modal stacks, and cannot be co-hosted with any other models.
Set the label by exporting an environment variable.
These resources are stored on Modal Volumes when you run
This will
localhost with the desired portsWhen calling modal run -m modal_deepgram.deepgram_resources, note that
.txt filepath should be local--deploy-type argument takes either license-proxy or standard and will choose the appropriate directory to pull the configs (default is license-proxy)Update config files for a deployment after the initial modal_deepgram.deepgram_resources run by pulling them from the Volume, editing, and uploading back to the Volume.
Pull the file locally:
Edit ./api.toml in your editor.
Push the change back:
Redeploy with DEPLOY_LABEL={label} modal deploy -m modal_deepgram.app to apply.
Passing --model-links-path when you run modal_deepgram.deepgram_resources wipes /models/{label}/ and downloads every URL in the file.
The quickstart shows you how to deploy a STT service. If you wanted to deploy Aura-2 TTS instead, you would follow these steps:
Save your Aura-2 model links to ./tts-model-links.txt.
Run prepare_resources with the tts label and Aura-2 config files. For language-specific deployments, swap the polyglot configs for variants like api.aura-2-en.toml / engine.aura-2-en.toml.
Update the hardware literals in modal_deepgram/app.py to TTS-recommended values — see Compute and Autoscaling → Configure hardware.
Deploy:
To change the Deepgram release, edit DEEPGRAM_IMAGE_TAG in modal_deepgram/deepgram.py and redeploy the app. This will rebuild the container image.