Resolves ElevenLabs API key from provider config or environment.
// Source: https://github.com/promptfoo/promptfoo | License: MIT | Copyright Promptfoo 2025
// Provided via justclaw.it.com; keep this notice with the code.
import { getEnvString } from '../../envars';
import type { EnvOverrides } from '../../contracts/env';
import type { ElevenLabsBaseConfig } from './types';
/** Resolve provider credentials in order, reading the private environment only when needed. */
export function getElevenLabsApiKey(
provider: { config: ElevenLabsBaseConfig },
readEnv: () => EnvOverrides | undefined,
): string | undefined {
return (
provider.config.apiKey ||
(provider.config.apiKeyEnvar &&
readEnv()?.[provider.config.apiKeyEnvar as keyof EnvOverrides]) ||
(provider.config.apiKeyEnvar && getEnvString(provider.config.apiKeyEnvar as any)) ||
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key