Skip to content

Provider Keys And Environment Variables

This page lists provider keys and public environment variable aliases for chat setup.

PackageProvider keyModel meansRequired or common environment variables
HPD-Agent.Providers.OpenAIopenaiOpenAI model idOPENAI_API_KEY; optional custom endpoint by convention: OPENAI_ENDPOINT
HPD-Agent.Providers.OpenAIazure-openaiAzure OpenAI deployment nameAZURE_OPENAI_ENDPOINT, AZURE_OPENAI_API_KEY
HPD-Agent.Providers.AzureAIazure-aiAzure AI Foundry/Projects or Azure OpenAI deployment nameAZURE_AI_ENDPOINT; AZURE_AI_API_KEY only when not using OAuth
HPD-Agent.Providers.AnthropicanthropicClaude model idANTHROPIC_API_KEY
HPD-Agent.Providers.GoogleAIgoogle-aiGemini model idregistered aliases: GOOGLE_API_KEY or GEMINI_API_KEY; convention-supported: GOOGLE_AI_API_KEY
HPD-Agent.Providers.OllamaollamaLocal Ollama model tagFluent setup can read OLLAMA_ENDPOINT or OLLAMA_HOST; JSON/config should set Endpoint when not using localhost
HPD-Agent.Providers.HuggingFacehuggingfaceHugging Face repository idHUGGINGFACE_API_KEY or HF_TOKEN
HPD-Agent.Providers.MistralmistralMistral model idMISTRAL_API_KEY
HPD-Agent.Providers.BedrockbedrockAmazon Bedrock model idAWS_REGION or AWS_DEFAULT_REGION; credentials usually come from the AWS SDK default credential chain
HPD-Agent.Providers.OnnxRuntimeonnx-runtimeLocal ONNX Runtime GenAI model directoryONNX_MODEL_PATH for provider-config setup
HPD-Agent.Providers.Audio.OpenAIopenaiAudio model id for STT/TTS/realtime familiesOPENAI_API_KEY; optional endpoint aliases: OPENAI_ENDPOINT, OPENAI_BASE_URL
HPD-Agent.Providers.Audio.ElevenLabselevenlabsElevenLabs STT/TTS model or voice setupELEVENLABS_API_KEY
HPD-Agent.Providers.OpenRouteropenrouterOpenRouter model idNo fluent AgentBuilder helper in the current package; OPENROUTER_API_KEY

Configuration Keys

When configuration is available, the default resolver checks provider-scoped keys. Prefer exact provider keys:

text
openai:ApiKey
Providers:openai:ApiKey
azure-openai:Endpoint
Providers:azure-openai:Endpoint

Explicit values in ClientProviderConfig or fluent setup take precedence over resolver lookup.

Bedrock credential env variables such as AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_SESSION_TOKEN are accepted by the AWS SDK default credential chain and are also registered as bedrock:* aliases. Current client creation does not copy explicit credential fields from ISecretResolver into BedrockProviderConfig; use normal AWS SDK credential configuration or explicit typed config.

Live Smoke Gates

Live provider smokes are opt-in so ordinary test runs do not spend provider quota or require local model assets.

SmokeRequired variables
OpenAI text-to-speechHPD_AUDIO_LIVE_SMOKE=1, OPENAI_API_KEY
OpenAI realtime agent turnHPD_REALTIME_LIVE_SMOKE=1, OPENAI_API_KEY
ElevenLabs text-to-speechHPD_AUDIO_LIVE_SMOKE=1, ELEVENLABS_API_KEY
ElevenLabs realtime speech-to-textELEVENLABS_API_KEY and a caller/test that sends PCM audio through the STT streaming path
ONNX Runtime local inferenceONNX_MODEL_PATH

Azure Terms

Use precise Azure wording:

  • azure-openai is the traditional Azure OpenAI resource path. Its ModelName is a deployment name, and setup requires an endpoint and API key.
  • azure-ai is the current Azure AI Projects / Foundry path. It also supports traditional Azure OpenAI endpoints. Foundry/Projects endpoints use services.ai.azure.com with /api/projects/ and require OAuth; passing an API key for that endpoint shape is invalid.

Setup Caveat

Some providers validate ApiKey, Endpoint, or Region before deferred secret resolution. Keep provider setup examples explicit when you need self-contained configuration, and use environment aliases when deployment configuration owns the secret values.

Built for production .NET agent applications.