feat(nvidia): NVCF cloud support for one-shot Riva/nvidia TTS - #145
Open
davehorton wants to merge 1 commit into
Open
feat(nvidia): NVCF cloud support for one-shot Riva/nvidia TTS#145davehorton wants to merge 1 commit into
davehorton wants to merge 1 commit into
Conversation
The nvidia/riva one-shot synth path was self-hosted-only (insecure gRPC to
riva_server_uri). Add NVCF cloud: when credentials.api_key is set, createRivaClient
dials grpc.nvcf.nvidia.com:443 over TLS with per-RPC metadata (function-id +
Bearer api key) baked into the channel credentials; function-id defaults to
ai-magpie-tts-multilingual, overridable via credentials.function_id.
- createRivaClient(uri, {apiKey, functionId}) — cloud when apiKey present, else
insecure self-hosted (unchanged).
- synthNvidia: pass api_key/function_id to the gRPC synth (caching path); and in
the say: path emit NVIDIA_API_KEY(+NVIDIA_FUNCTION_ID) for cloud so mediajam's
nvidia dialect uses NVCF (it already reads those). Self-hosted say: unchanged.
- assert now accepts riva_server_uri (self-hosted) OR api_key (cloud).
Closes the 'one-shot say TTS cloud' gap; pairs with the webapp nvidia api_key
field. Requires a version bump + publish.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the "one-shot Riva/nvidia TTS cloud" gap (#48). The nvidia/riva synth path was self-hosted-only (insecure gRPC to
riva_server_uri); this adds NVCF cloud.createRivaClient(uri, {apiKey, functionId})— whenapiKeyis set, dialsgrpc.nvcf.nvidia.com:443over TLS with per-RPC metadata (function-id+Bearer <api key>) baked into the channel credentials viacombineChannelCredentials.function-iddefaults toai-magpie-tts-multilingual, overridable viacredentials.function_id. Otherwise insecure self-hosted (unchanged).synthNvidia— passesapi_key/function_idto the gRPC synth (the caching/renderForCachingpath), and in the say: path emitsNVIDIA_API_KEY(+NVIDIA_FUNCTION_ID) for cloud so mediajam's nvidia dialect uses NVCF (it already reads those opts). Self-hosted say: params unchanged.riva_server_uri(self-hosted) orapi_key(cloud).Verify
node --check+npm run jslintclean;npm test46/46 pass (the nvidia synth test skips withoutRIVA_URI; a live NVCF synth needs the NVIDIA cloud key in run-tests.sh).Follow-up
Needs a version bump + publish, then the feature-server dep bump. Pairs with the webapp nvidia
api_keyfield (#49) and api-server #55 (stores the nvidiaapi_keycredential).🤖 Generated with Claude Code