/**
 * OpenAI Node - Version 2.1
 * Discriminator: resource=audio, operation=transcribe
 */


interface Credentials {
  openAiApi: CredentialReference;
}

/** Transcribes audio into text */
export type LcOpenAiV21AudioTranscribeParams = {
  resource: 'audio';
  operation: 'transcribe';
/**
 * Name of the binary property which contains the audio file in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm
 * @hint The name of the input field containing the binary file data to be processed
 * @default data
 */
    binaryPropertyName?: string | Expression<string> | PlaceholderValue;
/**
 * Options
 * @default {}
 */
    options?: {
    /** The language of the input audio. Supplying the input language in &lt;a href="https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes" target="_blank"&gt;ISO-639-1&lt;/a&gt; format will improve accuracy and latency.
     */
    language?: string | Expression<string> | PlaceholderValue;
    /** Output Randomness (Temperature)
     * @default 0
     */
    temperature?: number | Expression<number>;
  };
};

export interface LcOpenAiV21AudioTranscribeSubnodeConfig {
  tools?: ToolInstance[];
  memory?: MemoryInstance;
}

export type LcOpenAiV21AudioTranscribeNode = {
  type: '@n8n/n8n-nodes-langchain.openAi';
  version: 2.1;
  credentials?: Credentials;
  config: NodeConfig<LcOpenAiV21AudioTranscribeParams> & { subnodes?: LcOpenAiV21AudioTranscribeSubnodeConfig };
};