/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * The audio format/codec. Supported formats are 'mp3' and 'wav'. */ export const InputAudioFormat = { Mp3: "mp3", Wav: "wav", } as const; /** * The audio format/codec. Supported formats are 'mp3' and 'wav'. */ export type InputAudioFormat = ClosedEnum; /** * The audio data and its format. */ export type InputAudioInputAudio = { /** * Base64-encoded audio data to send to the model. */ data: string; /** * The audio format/codec. Supported formats are 'mp3' and 'wav'. */ format: InputAudioFormat; }; /** * Input audio content item: Audio input for speech processing and transcription. */ export type InputAudio = { /** * The content type identifier for audio input. */ type: "input_audio"; /** * The audio data and its format. */ inputAudio: InputAudioInputAudio; }; /** @internal */ export const InputAudioFormat$inboundSchema: z.ZodNativeEnum< typeof InputAudioFormat > = z.nativeEnum(InputAudioFormat); /** @internal */ export const InputAudioFormat$outboundSchema: z.ZodNativeEnum< typeof InputAudioFormat > = InputAudioFormat$inboundSchema; /** @internal */ export const InputAudioInputAudio$inboundSchema: z.ZodType< InputAudioInputAudio, z.ZodTypeDef, unknown > = z.object({ data: z.string(), format: InputAudioFormat$inboundSchema, }); /** @internal */ export type InputAudioInputAudio$Outbound = { data: string; format: string; }; /** @internal */ export const InputAudioInputAudio$outboundSchema: z.ZodType< InputAudioInputAudio$Outbound, z.ZodTypeDef, InputAudioInputAudio > = z.object({ data: z.string(), format: InputAudioFormat$outboundSchema, }); export function inputAudioInputAudioToJSON( inputAudioInputAudio: InputAudioInputAudio, ): string { return JSON.stringify( InputAudioInputAudio$outboundSchema.parse(inputAudioInputAudio), ); } export function inputAudioInputAudioFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => InputAudioInputAudio$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InputAudioInputAudio' from JSON`, ); } /** @internal */ export const InputAudio$inboundSchema: z.ZodType< InputAudio, z.ZodTypeDef, unknown > = z.object({ type: z.literal("input_audio"), input_audio: z.lazy(() => InputAudioInputAudio$inboundSchema), }).transform((v) => { return remap$(v, { "input_audio": "inputAudio", }); }); /** @internal */ export type InputAudio$Outbound = { type: "input_audio"; input_audio: InputAudioInputAudio$Outbound; }; /** @internal */ export const InputAudio$outboundSchema: z.ZodType< InputAudio$Outbound, z.ZodTypeDef, InputAudio > = z.object({ type: z.literal("input_audio"), inputAudio: z.lazy(() => InputAudioInputAudio$outboundSchema), }).transform((v) => { return remap$(v, { inputAudio: "input_audio", }); }); export function inputAudioToJSON(inputAudio: InputAudio): string { return JSON.stringify(InputAudio$outboundSchema.parse(inputAudio)); } export function inputAudioFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => InputAudio$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InputAudio' from JSON`, ); }