import type { RequestInit, RequestInfo } from "./internal/builtin-types.mjs"; import type { PromiseOrValue, MergedRequestInit, FinalizedRequestInit } from "./internal/types.mjs"; export type { Logger, LogLevel } from "./internal/utils/log.mjs"; import * as Opts from "./internal/request-options.mjs"; import * as Errors from "./core/error.mjs"; import * as Pagination from "./core/pagination.mjs"; import { type CursorIDPageParams, CursorIDPageResponse } from "./core/pagination.mjs"; import * as Uploads from "./core/uploads.mjs"; import * as API from "./resources/index.mjs"; import * as TopLevelAPI from "./resources/top-level.mjs"; import { GetStatusResponse } from "./resources/top-level.mjs"; import { APIPromise } from "./core/api-promise.mjs"; import { AccessToken, AccessTokenCreateParams, AccessTokenCreateResponse } from "./resources/access-token.mjs"; import { FineTune, FineTuneBaseModel, FineTuneCreateParams, FineTuneListParams, FineTuneListVoicesParams, FineTunes, FineTunesCursorIDPage } from "./resources/fine-tunes.mjs"; import { PronunciationDict, PronunciationDictCreateParams, PronunciationDictItem, PronunciationDictListParams, PronunciationDictUpdateParams, PronunciationDicts, PronunciationDictsCursorIDPage } from "./resources/pronunciation-dicts.mjs"; import { Stt, SttTranscribeParams, SttTranscribeResponse } from "./resources/stt.mjs"; import { GenerationConfig, GenerationRequest, InfillModel, MP3OutputFormat, ModelSpeed, OutputFormatContainer, RawEncoding, RawOutputFormat, TTS, TTSGenerateParams, TTSGenerateSseParams, TTSGenerateSSEParams, TTSInfillParams, TTSModel, TTSSSEEvent, VoiceSpecifier, WAVOutputFormat, WebsocketClientEvent, WebsocketResponse } from "./resources/tts.mjs"; import { VoiceChanger, VoiceChangerChangeVoiceBytesParams, VoiceChangerChangeVoiceSseParams, VoiceChangerGenerateParams, VoiceChangerGenerateSSEParams, VoiceChangerSSEEvent } from "./resources/voice-changer.mjs"; import { GenderPresentation, SupportedLanguage, Voice, VoiceCloneParams, VoiceGetParams, VoiceListParams, VoiceLocalizeParams, VoiceMetadata, VoiceUpdateParams, Voices, VoicesCursorIDPage } from "./resources/voices.mjs"; import { AgentListPhoneNumbersResponse, AgentListResponse, AgentListTemplatesResponse, AgentSummary, AgentUpdateParams, Agents } from "./resources/agents/agents.mjs"; import { Dataset, DatasetCreateParams, DatasetListParams, DatasetUpdateParams, Datasets, DatasetsCursorIDPage } from "./resources/datasets/datasets.mjs"; import { STT, STTBatchModel, STTEncoding, STTErrorResponse, STTTranscribeParams, STTTranscribeResponse } from "./resources/stt/stt.mjs"; import { type Fetch } from "./internal/builtin-types.mjs"; import { HeadersLike, NullableHeaders } from "./internal/headers.mjs"; import { FinalRequestOptions, RequestOptions } from "./internal/request-options.mjs"; import { type LogLevel, type Logger } from "./internal/utils/log.mjs"; export interface ClientOptions { apiKey?: string | null | undefined; token?: string | null | undefined; /** * Override the default base URL for the API, e.g., "https://api.example.com/v2/" * * Defaults to process.env['CARTESIA_BASE_URL']. */ baseURL?: string | null | undefined; /** * The maximum amount of time (in milliseconds) that the client should wait for a response * from the server before timing out a single request. * * Note that request timeouts are retried by default, so in a worst-case scenario you may wait * much longer than this timeout before the promise succeeds or fails. * * @unit milliseconds */ timeout?: number | undefined; /** * Additional `RequestInit` options to be passed to `fetch` calls. * Properties will be overridden by per-request `fetchOptions`. */ fetchOptions?: MergedRequestInit | undefined; /** * Specify a custom `fetch` function implementation. * * If not provided, we expect that `fetch` is defined globally. */ fetch?: Fetch | undefined; /** * The maximum number of times that the client will retry a request in case of a * temporary failure, like a network error or a 5XX error from the server. * * @default 2 */ maxRetries?: number | undefined; /** * Default headers to include with every request to the API. * * These can be removed in individual requests by explicitly setting the * header to `null` in request options. */ defaultHeaders?: HeadersLike | undefined; /** * Default query parameters to include with every request to the API. * * These can be removed in individual requests by explicitly setting the * param to `undefined` in request options. */ defaultQuery?: Record | undefined; /** * Set the log level. * * Defaults to process.env['CARTESIA_LOG'] or 'warn' if it isn't set. */ logLevel?: LogLevel | undefined; /** * Set the logger. * * Defaults to globalThis.console. */ logger?: Logger | undefined; } /** * API Client for interfacing with the Cartesia API. */ export declare class Cartesia { #private; apiKey: string | null; token: string | null; baseURL: string; maxRetries: number; timeout: number; logger: Logger; logLevel: LogLevel | undefined; fetchOptions: MergedRequestInit | undefined; private fetch; protected idempotencyHeader?: string; private _options; /** * API Client for interfacing with the Cartesia API. * * @param {string | null | undefined} [opts.apiKey] * @param {string | null | undefined} [opts.token] * @param {string} [opts.baseURL=process.env['CARTESIA_BASE_URL'] ?? https://api.cartesia.ai] - Override the default base URL for the API. * @param {number} [opts.timeout=1 minute] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out. * @param {MergedRequestInit} [opts.fetchOptions] - Additional `RequestInit` options to be passed to `fetch` calls. * @param {Fetch} [opts.fetch] - Specify a custom `fetch` function implementation. * @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request. * @param {HeadersLike} opts.defaultHeaders - Default headers to include with every request to the API. * @param {Record} opts.defaultQuery - Default query parameters to include with every request to the API. */ constructor({ baseURL, apiKey, token, ...opts }?: ClientOptions); /** * Create a new client instance re-using the same options given to the current client with optional overriding. */ withOptions(options: Partial): this; /** * API Status and Version */ getStatus(options?: RequestOptions): APIPromise; protected defaultQuery(): Record | undefined; protected validateHeaders({ values, nulls }: NullableHeaders): void; protected authHeaders(opts: FinalRequestOptions): Promise; protected tokenAuth(opts: FinalRequestOptions): Promise; protected apiKeyAuth(opts: FinalRequestOptions): Promise; protected stringifyQuery(query: object | Record): string; private getUserAgent; protected defaultIdempotencyKey(): string; protected makeStatusError(status: number, error: Object, message: string | undefined, headers: Headers): Errors.APIError; buildURL(path: string, query: Record | null | undefined, defaultBaseURL?: string | undefined): string; /** * Used as a callback for mutating the given `FinalRequestOptions` object. */ protected prepareOptions(options: FinalRequestOptions): Promise; /** * Used as a callback for mutating the given `RequestInit` object. * * This is useful for cases where you want to add certain headers based off of * the request properties, e.g. `method` or `url`. */ protected prepareRequest(request: RequestInit, { url, options }: { url: string; options: FinalRequestOptions; }): Promise; get(path: string, opts?: PromiseOrValue): APIPromise; post(path: string, opts?: PromiseOrValue): APIPromise; patch(path: string, opts?: PromiseOrValue): APIPromise; put(path: string, opts?: PromiseOrValue): APIPromise; delete(path: string, opts?: PromiseOrValue): APIPromise; private methodRequest; request(options: PromiseOrValue, remainingRetries?: number | null): APIPromise; private makeRequest; getAPIList = Pagination.AbstractPage>(path: string, Page: new (...args: any[]) => PageClass, opts?: PromiseOrValue): Pagination.PagePromise; requestAPIList = Pagination.AbstractPage>(Page: new (...args: ConstructorParameters) => PageClass, options: PromiseOrValue): Pagination.PagePromise; fetchWithTimeout(url: RequestInfo, init: RequestInit | undefined, ms: number, controller: AbortController): Promise; private shouldRetry; private retryRequest; private calculateDefaultRetryTimeoutMillis; buildRequest(inputOptions: FinalRequestOptions, { retryCount }?: { retryCount?: number; }): Promise<{ req: FinalizedRequestInit; url: string; timeout: number; }>; private buildHeaders; private _makeAbort; private buildBody; static Cartesia: typeof Cartesia; static DEFAULT_TIMEOUT: number; static CartesiaError: typeof Errors.CartesiaError; static APIError: typeof Errors.APIError; static APIConnectionError: typeof Errors.APIConnectionError; static APIConnectionTimeoutError: typeof Errors.APIConnectionTimeoutError; static APIUserAbortError: typeof Errors.APIUserAbortError; static NotFoundError: typeof Errors.NotFoundError; static ConflictError: typeof Errors.ConflictError; static RateLimitError: typeof Errors.RateLimitError; static BadRequestError: typeof Errors.BadRequestError; static AuthenticationError: typeof Errors.AuthenticationError; static InternalServerError: typeof Errors.InternalServerError; static PermissionDeniedError: typeof Errors.PermissionDeniedError; static UnprocessableEntityError: typeof Errors.UnprocessableEntityError; static toFile: typeof Uploads.toFile; agents: API.Agents; accessToken: API.AccessToken; datasets: API.Datasets; fineTunes: API.FineTunes; pronunciationDicts: API.PronunciationDicts; stt: API.STT; tts: API.TTS; voiceChanger: API.VoiceChanger; voices: API.Voices; } export declare const CartesiaClient: typeof Cartesia; export declare namespace Cartesia { export type RequestOptions = Opts.RequestOptions; export import CursorIDPage = Pagination.CursorIDPage; export { type CursorIDPageParams as CursorIDPageParams, type CursorIDPageResponse as CursorIDPageResponse }; export { type GetStatusResponse as GetStatusResponse }; export { Agents as Agents, type AgentSummary as AgentSummary, type AgentListResponse as AgentListResponse, type AgentListPhoneNumbersResponse as AgentListPhoneNumbersResponse, type AgentListTemplatesResponse as AgentListTemplatesResponse, type AgentUpdateParams as AgentUpdateParams, }; export { AccessToken as AccessToken, type AccessTokenCreateResponse as AccessTokenCreateResponse, type AccessTokenCreateParams as AccessTokenCreateParams, }; export { Datasets as Datasets, type Dataset as Dataset, type DatasetsCursorIDPage as DatasetsCursorIDPage, type DatasetCreateParams as DatasetCreateParams, type DatasetUpdateParams as DatasetUpdateParams, type DatasetListParams as DatasetListParams, }; export { FineTunes as FineTunes, type FineTune as FineTune, type FineTuneBaseModel as FineTuneBaseModel, type FineTunesCursorIDPage as FineTunesCursorIDPage, type FineTuneCreateParams as FineTuneCreateParams, type FineTuneListParams as FineTuneListParams, type FineTuneListVoicesParams as FineTuneListVoicesParams, }; export { PronunciationDicts as PronunciationDicts, type PronunciationDict as PronunciationDict, type PronunciationDictItem as PronunciationDictItem, type PronunciationDictsCursorIDPage as PronunciationDictsCursorIDPage, type PronunciationDictCreateParams as PronunciationDictCreateParams, type PronunciationDictUpdateParams as PronunciationDictUpdateParams, type PronunciationDictListParams as PronunciationDictListParams, }; export { STT as STT, type STTBatchModel as STTBatchModel, type STTEncoding as STTEncoding, type STTErrorResponse as STTErrorResponse, type STTTranscribeResponse as STTTranscribeResponse, type STTTranscribeParams as STTTranscribeParams, Stt as Stt, type SttTranscribeResponse as SttTranscribeResponse, type SttTranscribeParams as SttTranscribeParams, }; export { TTS as TTS, type GenerationConfig as GenerationConfig, type GenerationRequest as GenerationRequest, type InfillModel as InfillModel, type ModelSpeed as ModelSpeed, type MP3OutputFormat as MP3OutputFormat, type OutputFormatContainer as OutputFormatContainer, type RawEncoding as RawEncoding, type RawOutputFormat as RawOutputFormat, type TTSModel as TTSModel, type TTSSSEEvent as TTSSSEEvent, type VoiceSpecifier as VoiceSpecifier, type WAVOutputFormat as WAVOutputFormat, type WebsocketClientEvent as WebsocketClientEvent, type WebsocketResponse as WebsocketResponse, type TTSGenerateParams as TTSGenerateParams, type TTSGenerateSseParams as TTSGenerateSseParams, type TTSGenerateSSEParams as TTSGenerateSSEParams, type TTSInfillParams as TTSInfillParams, }; export { VoiceChanger as VoiceChanger, type VoiceChangerChangeVoiceBytesParams as VoiceChangerChangeVoiceBytesParams, type VoiceChangerChangeVoiceSseParams as VoiceChangerChangeVoiceSseParams, type VoiceChangerSSEEvent as VoiceChangerSSEEvent, type VoiceChangerGenerateParams as VoiceChangerGenerateParams, type VoiceChangerGenerateSSEParams as VoiceChangerGenerateSSEParams, }; export { Voices as Voices, type GenderPresentation as GenderPresentation, type SupportedLanguage as SupportedLanguage, type Voice as Voice, type VoiceMetadata as VoiceMetadata, type VoicesCursorIDPage as VoicesCursorIDPage, type VoiceUpdateParams as VoiceUpdateParams, type VoiceListParams as VoiceListParams, type VoiceCloneParams as VoiceCloneParams, type VoiceGetParams as VoiceGetParams, type VoiceLocalizeParams as VoiceLocalizeParams, }; export type PhonemeTimestamps = API.PhonemeTimestamps; export type WordTimestamps = API.WordTimestamps; } //# sourceMappingURL=client.d.mts.map