openapi: 3.1.0 info: title: FastAPI version: 0.1.0 servers: - url: / paths: /v1: get: operationId: read_root_v1_v1_get responses: "200": content: application/json: schema: {} description: Successful Response summary: Read Root V1 /v1/models: get: operationId: models_v1_models_get responses: "200": content: application/json: schema: items: $ref: "#/components/schemas/ModelResponseModel" type: array description: Successful Response summary: Models /api/{provider}/models: get: operationId: models_api__provider__models_get parameters: - explode: false in: path name: provider required: true schema: title: Provider type: string style: simple responses: "200": content: application/json: schema: items: $ref: "#/components/schemas/ModelResponseModel" type: array description: Successful Response "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error security: - HTTPBearer: [] summary: Models /api/{provider}/quota: get: operationId: provider_quota_api__provider__quota_get parameters: - explode: false in: path name: provider required: true schema: title: Provider type: string style: simple responses: "200": content: application/json: schema: {} description: Successful Response "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error security: - HTTPBearer: [] summary: Provider Quota /v1/models/{model_name}: get: operationId: model_info_v1_models__model_name__get parameters: - explode: false in: path name: model_name required: true schema: title: Model Name type: string style: simple responses: "200": content: application/json: schema: $ref: "#/components/schemas/ModelResponseModel" description: Successful Response "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error summary: Model Info post: operationId: model_info_v1_models__model_name__post parameters: - explode: false in: path name: model_name required: true schema: title: Model Name type: string style: simple responses: "200": content: application/json: schema: $ref: "#/components/schemas/ModelResponseModel" description: Successful Response "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error summary: Model Info /api/{provider}/{conversation_id}/chat/completions: post: operationId: chat_completions_api__provider___conversation_id__chat_completions_post parameters: - explode: false in: path name: provider required: true schema: title: Provider type: string style: simple - explode: false in: path name: conversation_id required: true schema: title: Conversation Id type: string style: simple - explode: false in: header name: x-user required: false schema: nullable: true type: string style: simple requestBody: content: application/json: schema: $ref: "#/components/schemas/ChatCompletionsConfig" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/ChatCompletion" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "422": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unprocessable Content "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error security: - HTTPBearer: [] summary: Chat Completions /api/{provider}/chat/completions: post: operationId: chat_completions_api__provider__chat_completions_post parameters: - explode: false in: path name: provider required: true schema: title: Provider type: string style: simple - explode: true in: query name: conversation_id required: false schema: title: Conversation Id type: string style: form - explode: false in: header name: x-user required: false schema: nullable: true type: string style: simple requestBody: content: application/json: schema: $ref: "#/components/schemas/ChatCompletionsConfig" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/ChatCompletion" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "422": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unprocessable Content "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error security: - HTTPBearer: [] summary: Chat Completions /v1/chat/completions: post: operationId: chat_completions_v1_chat_completions_post parameters: - explode: true in: query name: provider required: false schema: title: Provider type: string style: form - explode: true in: query name: conversation_id required: false schema: title: Conversation Id type: string style: form - explode: false in: header name: x-user required: false schema: nullable: true type: string style: simple requestBody: content: application/json: schema: $ref: "#/components/schemas/ChatCompletionsConfig" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/ChatCompletion" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "422": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unprocessable Content "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error security: - HTTPBearer: [] summary: Chat Completions /api/{provider}/images/generations: post: operationId: generate_image_api__provider__images_generations_post parameters: - explode: false in: path name: provider required: true schema: title: Provider type: string style: simple requestBody: content: application/json: schema: $ref: "#/components/schemas/ImageGenerationConfig" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/ImagesResponse" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error security: - HTTPBearer: [] summary: Generate Image /v1/images/generations: post: operationId: generate_image_v1_images_generations_post parameters: - explode: true in: query name: provider required: false schema: title: Provider type: string style: form requestBody: content: application/json: schema: $ref: "#/components/schemas/ImageGenerationConfig" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/ImagesResponse" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error security: - HTTPBearer: [] summary: Generate Image /v1/images/generate: post: operationId: generate_image_v1_images_generate_post parameters: - explode: true in: query name: provider required: false schema: title: Provider type: string style: form requestBody: content: application/json: schema: $ref: "#/components/schemas/ImageGenerationConfig" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/ImagesResponse" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error security: - HTTPBearer: [] summary: Generate Image /v1/media/generate: post: operationId: generate_image_v1_media_generate_post parameters: - explode: true in: query name: provider required: false schema: title: Provider type: string style: form requestBody: content: application/json: schema: $ref: "#/components/schemas/ImageGenerationConfig" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/ImagesResponse" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error security: - HTTPBearer: [] summary: Generate Image /v1/providers: get: operationId: providers_v1_providers_get responses: "200": content: application/json: schema: items: $ref: "#/components/schemas/ProviderResponseModel" type: array description: Successful Response summary: Providers /v1/providers/{provider}: get: operationId: providers_info_v1_providers__provider__get parameters: - explode: false in: path name: provider required: true schema: title: Provider type: string style: simple responses: "200": content: application/json: schema: $ref: "#/components/schemas/ProviderResponseDetailModel" description: Successful Response "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error summary: Providers Info /api/markitdown: post: operationId: convert_api_markitdown_post parameters: - explode: true in: query name: path_provider required: false schema: title: Path Provider type: string style: form requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Body_convert_api_markitdown_post" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/TranscriptionResponseModel" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error summary: Convert /api/{path_provider}/audio/transcriptions: post: operationId: convert_api__path_provider__audio_transcriptions_post parameters: - explode: false in: path name: path_provider required: true schema: title: Path Provider type: string style: simple requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Body_convert_api__path_provider__audio_transcriptions_post" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/TranscriptionResponseModel" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error summary: Convert /v1/audio/transcriptions: post: operationId: convert_v1_audio_transcriptions_post parameters: - explode: true in: query name: path_provider required: false schema: title: Path Provider type: string style: form requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Body_convert_v1_audio_transcriptions_post" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/TranscriptionResponseModel" description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error summary: Convert /api/{provider}/audio/speech: post: operationId: generate_speech_api__provider__audio_speech_post parameters: - explode: false in: path name: provider required: true schema: title: Provider type: string style: simple requestBody: content: application/json: schema: $ref: "#/components/schemas/AudioSpeechConfig" required: true responses: "200": content: application/json: schema: {} audio/*: {} description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error security: - HTTPBearer: [] summary: Generate Speech /v1/audio/speech: post: operationId: generate_speech_v1_audio_speech_post parameters: - explode: true in: query name: provider required: false schema: title: Provider type: string style: form requestBody: content: application/json: schema: $ref: "#/components/schemas/AudioSpeechConfig" required: true responses: "200": content: application/json: schema: {} audio/*: {} description: Successful Response "401": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Unauthorized "404": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Not Found "500": content: application/json: schema: $ref: "#/components/schemas/ErrorResponseModel" description: Internal Server Error "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error security: - HTTPBearer: [] summary: Generate Speech /v1/upload_cookies: post: operationId: upload_cookies_v1_upload_cookies_post requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Body_upload_cookies_v1_upload_cookies_post" required: true responses: "200": content: application/json: schema: items: $ref: "#/components/schemas/FileResponseModel" type: array description: Successful Response "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error security: - HTTPBearer: [] summary: Upload Cookies /media/{filename}: get: operationId: get_media_media__filename__get parameters: - explode: false in: path name: filename required: true schema: title: Filename style: simple - explode: true in: query name: thumbnail required: false schema: default: false title: Thumbnail type: boolean style: form responses: "200": content: application/json: schema: {} image/*: {} audio/*: {} description: Successful Response "404": description: Not Found "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error summary: Get Media /images/{filename}: get: operationId: get_media_images__filename__get parameters: - explode: false in: path name: filename required: true schema: title: Filename style: simple - explode: true in: query name: thumbnail required: false schema: default: false title: Thumbnail type: boolean style: form responses: "200": content: application/json: schema: {} image/*: {} description: Successful Response "404": description: Not Found "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error summary: Get Media /thumbnail/{filename}: get: operationId: get_media_thumbnail_thumbnail__filename__get parameters: - explode: false in: path name: filename required: true schema: title: Filename type: string style: simple responses: "200": content: application/json: schema: {} image/*: {} audio/*: {} description: Successful Response "404": description: Not Found "422": content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" description: Validation Error summary: Get Media Thumbnail components: schemas: AudioResponseModel: example: transcript: transcript data: data properties: data: title: Data type: string transcript: nullable: true type: string required: - data title: AudioResponseModel AudioSpeechConfig: example: voice: voice input: input response_format: response_format provider: provider model: model instrcutions: Speech this text in a natural way. language: language download_media: true properties: input: title: Input type: string model: nullable: true type: string provider: nullable: true type: string voice: nullable: true type: string instrcutions: default: Speech this text in a natural way. title: Instrcutions type: string response_format: nullable: true type: string language: nullable: true type: string download_media: default: true title: Download Media type: boolean required: - input title: AudioSpeechConfig Body_convert_api__path_provider__audio_transcriptions_post: properties: file: format: binary title: File type: string model: nullable: true type: string provider: nullable: true type: string prompt: nullable: true type: string required: - file title: Body_convert_api__path_provider__audio_transcriptions_post Body_convert_api_markitdown_post: properties: file: format: binary title: File type: string model: nullable: true type: string provider: nullable: true type: string prompt: nullable: true type: string required: - file title: Body_convert_api_markitdown_post Body_convert_v1_audio_transcriptions_post: properties: file: format: binary title: File type: string model: nullable: true type: string provider: nullable: true type: string prompt: nullable: true type: string required: - file title: Body_convert_v1_audio_transcriptions_post Body_upload_cookies_v1_upload_cookies_post: properties: files: items: format: binary type: string type: array required: - files title: Body_upload_cookies_v1_upload_cookies_post ChatCompletion: example: provider: provider created: 0 usage: completion_tokens: 5 cache: cache prompt_tokens: 1 completion_tokens_details: audio_tokens: 2 reasoning_tokens: 9 image_tokens: 3 prompt_tokens_details: audio_tokens: 7 cached_tokens: 2 total_tokens: 5 model: model id: id choices: - finish_reason: finish_reason index: 6 message: role: role reasoning: reasoning tool_calls: - function: name: name arguments: arguments id: id type: type - function: name: name arguments: arguments id: id type: type audio: transcript: transcript data: data content: content - finish_reason: finish_reason index: 6 message: role: role reasoning: reasoning tool_calls: - function: name: name arguments: arguments id: id type: type - function: name: name arguments: arguments id: id type: type audio: transcript: transcript data: data content: content conversation: key: "" object: object properties: id: title: Id type: string object: title: Object type: string created: title: Created type: integer model: title: Model type: string provider: nullable: true type: string choices: items: $ref: "#/components/schemas/ChatCompletionChoice" type: array usage: $ref: "#/components/schemas/UsageModel" conversation: additionalProperties: {} title: Conversation required: - choices - conversation - created - id - model - object - provider - usage title: ChatCompletion ChatCompletionChoice: example: finish_reason: finish_reason index: 6 message: role: role reasoning: reasoning tool_calls: - function: name: name arguments: arguments id: id type: type - function: name: name arguments: arguments id: id type: type audio: transcript: transcript data: data content: content properties: index: title: Index type: integer message: $ref: "#/components/schemas/ChatCompletionMessage" finish_reason: title: Finish Reason type: string required: - finish_reason - index - message title: ChatCompletionChoice ChatCompletionMessage: example: role: role reasoning: reasoning tool_calls: - function: name: name arguments: arguments id: id type: type - function: name: name arguments: arguments id: id type: type audio: transcript: transcript data: data content: content properties: role: title: Role type: string content: title: Content type: string reasoning: nullable: true type: string tool_calls: items: $ref: "#/components/schemas/ToolCallModel" type: array audio: $ref: "#/components/schemas/AudioResponseModel" required: - content - role title: ChatCompletionMessage ChatCompletionsConfig: example: reasoning_effort: reasoning_effort logit_bias: key: "" presence_penalty: 6.027456183070403 media: - - "" - "" - - "" - "" tools: - "" - "" timeout: 2 top_p: 5.962133916683182 image_name: image_name modalities: - modalities - modalities frequency_penalty: 1.4658129805029452 response_format: key: "" provider: provider stream: false conversation_id: conversation_id temperature: 0.8008281904610115 tool_choice: tool_choice model: "" tool_calls: - "" - "" audio: key: "" conversation: key: "" image: image images: - - "" - "" - - "" - "" max_tokens: 5 base_url: base_url raw: false tool_emulation: true download_media: false stream_timeout: 7 proxy: proxy web_search: true stop: - Stop - Stop parallel_tool_calls: true api_key: Api_Key messages: - role: role content: Content - role: role content: Content extra_body: key: "" properties: model: default: "" title: Model type: string provider: nullable: true type: string media: items: items: {} maxItems: 2 minItems: 2 type: array nullable: true type: array modalities: items: type: string nullable: true type: array temperature: nullable: true type: number presence_penalty: nullable: true type: number frequency_penalty: nullable: true type: number top_p: nullable: true type: number max_tokens: nullable: true type: integer stop: $ref: "#/components/schemas/Stop" api_key: $ref: "#/components/schemas/Api_Key" base_url: nullable: true type: string web_search: nullable: true type: boolean proxy: nullable: true type: string conversation: additionalProperties: {} nullable: true timeout: nullable: true type: integer stream_timeout: nullable: true type: integer tool_calls: default: [] items: {} type: array reasoning_effort: nullable: true type: string logit_bias: additionalProperties: {} nullable: true audio: additionalProperties: {} nullable: true response_format: additionalProperties: {} nullable: true download_media: default: false title: Download Media type: boolean raw: default: false title: Raw type: boolean extra_body: additionalProperties: {} nullable: true tool_emulation: nullable: true type: boolean messages: items: $ref: "#/components/schemas/Message" type: array stream: default: false title: Stream type: boolean image: nullable: true type: string image_name: nullable: true type: string images: items: items: {} maxItems: 2 minItems: 2 type: array nullable: true type: array tools: items: {} nullable: true type: array parallel_tool_calls: nullable: true type: boolean tool_choice: nullable: true type: string conversation_id: nullable: true type: string required: - messages title: ChatCompletionsConfig CompletionTokenDetails: example: audio_tokens: 2 reasoning_tokens: 9 image_tokens: 3 properties: reasoning_tokens: title: Reasoning Tokens type: integer image_tokens: title: Image Tokens type: integer audio_tokens: title: Audio Tokens type: integer required: - audio_tokens - image_tokens - reasoning_tokens title: CompletionTokenDetails ContentPart: properties: type: title: Type type: string text: title: Text type: string image_url: additionalProperties: type: string title: Image Url input_audio: additionalProperties: type: string title: Input Audio bucket_id: title: Bucket Id type: string name: title: Name type: string title: ContentPart ErrorResponseMessageModel: example: message: message properties: message: title: Message type: string required: - message title: ErrorResponseMessageModel ErrorResponseModel: example: provider: provider model: model error: message: message properties: error: $ref: "#/components/schemas/ErrorResponseMessageModel" model: nullable: true type: string provider: nullable: true type: string required: - error title: ErrorResponseModel FileResponseModel: example: filename: filename properties: filename: title: Filename type: string required: - filename title: FileResponseModel HTTPValidationError: example: detail: - msg: msg loc: - ValidationError_loc_inner - ValidationError_loc_inner input: "" ctx: "" type: type - msg: msg loc: - ValidationError_loc_inner - ValidationError_loc_inner input: "" ctx: "" type: type properties: detail: items: $ref: "#/components/schemas/ValidationError" type: array title: HTTPValidationError Image: example: revised_prompt: revised_prompt b64_json: b64_json url: url properties: url: nullable: true type: string b64_json: nullable: true type: string revised_prompt: nullable: true type: string required: - b64_json - revised_prompt - url title: Image ImageGenerationConfig: example: aspect_ratio: aspect_ratio seed: 5 resolution: resolution download_media: true "n": 2 proxy: proxy response_format: response_format provider: provider api_key: api_key negative_prompt: negative_prompt guidance_scale: 5 width: 0 model: model audio: key: "" prompt: prompt height: 6 num_inference_steps: 1 properties: prompt: title: Prompt type: string model: nullable: true type: string provider: nullable: true type: string response_format: nullable: true type: string api_key: nullable: true type: string proxy: nullable: true type: string width: nullable: true type: integer height: nullable: true type: integer num_inference_steps: nullable: true type: integer seed: nullable: true type: integer guidance_scale: nullable: true type: integer aspect_ratio: nullable: true type: string "n": nullable: true type: integer negative_prompt: nullable: true type: string resolution: nullable: true type: string audio: additionalProperties: {} nullable: true download_media: default: true title: Download Media type: boolean required: - prompt title: ImageGenerationConfig ImagesResponse: example: data: - revised_prompt: revised_prompt b64_json: b64_json url: url - revised_prompt: revised_prompt b64_json: b64_json url: url provider: provider created: 0 model: model properties: data: items: $ref: "#/components/schemas/Image" type: array model: title: Model type: string provider: title: Provider type: string created: title: Created type: integer required: - created - data - model - provider title: ImagesResponse Message: example: role: role content: Content properties: role: title: Role type: string content: $ref: "#/components/schemas/Content" required: - content - role title: Message ModelResponseModel: example: created: 0 owned_by: owned_by id: id object: model properties: id: title: Id type: string object: default: model title: Object type: string created: title: Created type: integer owned_by: nullable: true type: string required: - created - id - owned_by title: ModelResponseModel PromptTokenDetails: example: audio_tokens: 7 cached_tokens: 2 properties: cached_tokens: title: Cached Tokens type: integer audio_tokens: title: Audio Tokens type: integer required: - audio_tokens - cached_tokens title: PromptTokenDetails ProviderResponseDetailModel: example: models: - models - models image_models: - image_models - image_models created: 0 vision_models: - vision_models - vision_models id: id label: label params: - params - params url: url object: provider properties: id: title: Id type: string object: default: provider title: Object type: string created: title: Created type: integer url: nullable: true type: string label: nullable: true type: string models: items: type: string type: array image_models: items: type: string type: array vision_models: items: type: string type: array params: items: type: string type: array required: - created - id - image_models - label - models - params - url - vision_models title: ProviderResponseDetailModel ProviderResponseModel: example: created: 0 id: id label: label url: url object: provider properties: id: title: Id type: string object: default: provider title: Object type: string created: title: Created type: integer url: nullable: true type: string label: nullable: true type: string required: - created - id - label - url title: ProviderResponseModel ToolCallModel: example: function: name: name arguments: arguments id: id type: type properties: id: title: Id type: string type: title: Type type: string function: $ref: "#/components/schemas/ToolFunctionModel" required: - function - id - type title: ToolCallModel ToolFunctionModel: example: name: name arguments: arguments properties: name: title: Name type: string arguments: title: Arguments type: string required: - arguments - name title: ToolFunctionModel TranscriptionResponseModel: example: provider: provider model: model text: text properties: text: title: Text type: string model: title: Model type: string provider: title: Provider type: string required: - model - provider - text title: TranscriptionResponseModel UsageModel: example: completion_tokens: 5 cache: cache prompt_tokens: 1 completion_tokens_details: audio_tokens: 2 reasoning_tokens: 9 image_tokens: 3 prompt_tokens_details: audio_tokens: 7 cached_tokens: 2 total_tokens: 5 properties: prompt_tokens: title: Prompt Tokens type: integer completion_tokens: title: Completion Tokens type: integer total_tokens: title: Total Tokens type: integer prompt_tokens_details: $ref: "#/components/schemas/PromptTokenDetails" completion_tokens_details: $ref: "#/components/schemas/CompletionTokenDetails" cache: nullable: true type: string required: - completion_tokens - completion_tokens_details - prompt_tokens - prompt_tokens_details - total_tokens title: UsageModel ValidationError: example: msg: msg loc: - ValidationError_loc_inner - ValidationError_loc_inner input: "" ctx: "" type: type properties: loc: items: $ref: "#/components/schemas/ValidationError_loc_inner" type: array msg: title: Message type: string type: title: Error Type type: string input: nullable: true ctx: nullable: true required: - ctx - input - loc - msg - type title: ValidationError Stop: anyOf: - items: type: string type: array - type: string nullable: true title: Stop Api_Key: anyOf: - type: string - additionalProperties: type: string nullable: true title: Api Key Content: anyOf: - type: string - items: $ref: "#/components/schemas/ContentPart" type: array title: Content ValidationError_loc_inner: anyOf: - type: string - type: integer securitySchemes: HTTPBearer: scheme: bearer type: http