@ai-sdk/elevenlabs
Version:
The **[ElevenLabs provider](https://ai-sdk.dev/providers/ai-sdk-providers/elevenlabs)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the ElevenLabs chat and completion APIs and embedding model support for the ElevenLabs em
66 lines (60 loc) • 2.14 kB
text/typescript
import { TranscriptionModelV2, ProviderV2 } from '@ai-sdk/provider';
import { FetchFunction } from '@ai-sdk/provider-utils';
type ElevenLabsConfig = {
provider: string;
url: (options: {
modelId: string;
path: string;
}) => string;
headers: () => Record<string, string | undefined>;
fetch?: FetchFunction;
generateId?: () => string;
};
type ElevenLabsTranscriptionModelId = 'scribe_v1' | 'scribe_v1_experimental' | (string & {});
interface ElevenLabsTranscriptionModelConfig extends ElevenLabsConfig {
_internal?: {
currentDate?: () => Date;
};
}
declare class ElevenLabsTranscriptionModel implements TranscriptionModelV2 {
readonly modelId: ElevenLabsTranscriptionModelId;
private readonly config;
readonly specificationVersion = "v2";
get provider(): string;
constructor(modelId: ElevenLabsTranscriptionModelId, config: ElevenLabsTranscriptionModelConfig);
private getArgs;
doGenerate(options: Parameters<TranscriptionModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<TranscriptionModelV2['doGenerate']>>>;
}
interface ElevenLabsProvider extends ProviderV2 {
(modelId: 'scribe_v1', settings?: {}): {
transcription: ElevenLabsTranscriptionModel;
};
/**
Creates a model for transcription.
*/
transcription(modelId: ElevenLabsTranscriptionModelId): TranscriptionModelV2;
}
interface ElevenLabsProviderSettings {
/**
API key for authenticating requests.
*/
apiKey?: string;
/**
Custom headers to include in the requests.
*/
headers?: Record<string, string>;
/**
Custom fetch implementation. You can use it as a middleware to intercept requests,
or to provide a custom fetch implementation for e.g. testing.
*/
fetch?: FetchFunction;
}
/**
Create an ElevenLabs provider instance.
*/
declare function createElevenLabs(options?: ElevenLabsProviderSettings): ElevenLabsProvider;
/**
Default ElevenLabs provider instance.
*/
declare const elevenlabs: ElevenLabsProvider;
export { type ElevenLabsProvider, type ElevenLabsProviderSettings, createElevenLabs, elevenlabs };