Self Service Licensing & Credentials
Self Service Licensing & Credentials
Learn how to deploy Deepgram self-hosted using self service. Deepgram’s self-serve self-hosted solution is available through both the Deepgram Console and the Deepgram API.
Self Service Licensing & Credentials
Learn how to deploy Deepgram self-hosted using self service. Deepgram’s self-serve self-hosted solution is available through both the Deepgram Console and the Deepgram API.
Deepgram gives you the ability to self-manage your self-hosted API keys and container image distribution credentials. This offers you flexibility and control over your Deepgram self-hosted deployments using Deepgram Console and Quay. For example, you can rotate and expire your keys and credentials according to your access control policies.
This guide focuses on using Deepgram Console. If you would like to use the Deepgram API, see our API documentation on creating API keys and creating distribution credentials.
This guide only applies to Console projects which have been granted access to self-hosted products. If you have access, your Console menu should have an “Self-Hosted” tab, as shown below.

If you do not have this tab in Console, your project has either:
With that out of the way, we can begin!
You can use the Deepgram Console or the Deepgram API to create a self-hosted API key for licensing Deepgram products. Follow the Creating API Keys guide to create a key, and record it securely.
After receiving your key, you can dismiss the pop-up and return to the API Keys page. You should see your new self-hosted API key, and if you expand the details, you can view the self-hosted products which can be licensed by that key.

Depending on your self-hosted agreement with Deepgram, you may have access to different products. All self-hosted customers have access to API and Engine. For access to the License Proxy, please contact Support.
Distribution credentials are used to authenticate with a container image repository when pulling Deepgram container images into your deployment environment.
Distribution credentials are not the same as self-hosted API keys. In our documentation, when we refer to an self-hosted API key (DEEPGRAM_API_KEY), this is referring to the key made in the previous section.
Back on the Console page, use the menu on the left and click on the “Self-Hosted” tab, then click “Create New Distribution Credentials”.


Provide a name for your distribution credentials and click “Create Credentials”.

Your new credentials will be shown, which include:
username, which looks like deepgram+6ba7b810-9dad-11d1-80b4-00c04fd430c8.secret, which looks like R2CTHDZ27R360V8H5LOWGBQ871HE9RP5YGWZA9JXWM3V98ST4VE3NYX72BK86Z7J.shell command that demonstrates how to authenticate with your credentialsYou can use the secret as your password for the shell command. Again, take note of the displayed values, as they can’t be accessed again. Once you’ve copied it, check the box affirming you understand this and click “Got it”.

The pop-up will be dismissed and you will be back on the “Self-Hosted” page. You should see your new distribution credentials and the container images which can be accessed with those credentials.

If you are deploying Deepgram to your environment for the first time, you may skip this section and proceed to the next guide, linked at the bottom of the page.
If your self-hosted Deepgram environment uses a static legacy license key, or you previously used DockerHub to access container images, you will need to modify your environment to use your newly generated credentials.
A container image path and tag will be listed within those files. If it looks like any of the following, you are pulling from DockerHub and must migrate to Quay.
deepgram/onprem-api:xxxxdeepgram/onprem-engine:xxxxdeepgram/onprem-license-proxy:xxxxIf your image tags have the prefix quay.io, such as some of the examples below, you are already using Quay and do not need to migrate.
quay.io/deepgram/self-hosted-api:xxxxquay.io/deepgram/self-hosted-engine:xxxxquay.io/deepgram/self-hosted-license-proxy:xxxxUpgrade your Deepgram container images to the most recent release provided by Quay.
docker-compose.yml file (or other orchestration platform files, like Kubernetes manifest files) to use the new container image you just pulled from Quay.Replace your static legacy license key with your newly generated self-hosted API key from the Create a Self-Hosted API Key section.
api.toml and engine.toml configuration files. Replace the value at [license.key] with your API key secret.docker-compose.yml file (or other orchestration platform files) to replace the key used by the License Proxy or other add-on products. Replace the value at --license-key with your API key secret.What’s Next
Now that you have your credentials set up, you need to choose your deployment path based on the Deepgram services you want to deploy:
Deploy Deepgram’s industry-leading speech recognition capabilities for transcription and real-time streaming applications.
Use cases: Transcription, call analytics, voice assistants, meeting notes, media processing
Deploy Deepgram’s conversational AI voice synthesis with ultra-low latency and high-quality natural speech generation.
Use cases: Voice assistants, AI agents, interactive voice response (IVR), accessibility applications
Deploy Deepgram’s Voice Agent API for real-time conversational AI with speech-to-speech interactions. Requires both STT and TTS services.
Use cases: Voice bots, customer service agents, interactive voice assistants, telephony integrations
While it’s technically possible to deploy both STT and TTS services in the same environment, this is not recommended. For optimal performance, Deepgram strongly recommends deploying each service type on dedicated infrastructure with nodes specifically configured for either STT or TTS workloads. Mixed deployments can lead to resource contention and unpredictable performance.