{"record":{"id":"2303562d50c5f486","repo":"BerriAI/litellm","slug":"soniox-transcription-requires-one-of-a-file-argum","errorCode":null,"errorMessage":"Soniox transcription requires one of: a file argument, an `audio_url` kwarg, or a `file_id` kwarg.","messagePattern":"Soniox transcription requires one of: a file argument, an `audio_url` kwarg, or a `file_id` kwarg\\.","errorType":"exception","errorClass":"SonioxException","httpStatus":400,"severity":"error","filePath":"litellm/llms/soniox/audio_transcription/handler.py","lineNumber":352,"sourceCode":"\n        http_client: Final = (\n            client\n            if isinstance(client, HTTPHandler)\n            else (\n                _get_httpx_client(\n                    params={\"ssl_verify\": litellm_params.get(\"ssl_verify\", None)},\n                )\n            )\n        )\n\n        file_id = handler_opts.get(\"file_id\")\n        uploaded_file_id: str | None = None\n        transcription_id: str | None = None\n\n        try:\n            if not file_id and not handler_opts.get(\"audio_url\"):\n                if audio_file is None:\n                    raise SonioxException(\n                        message=(\n                            \"Soniox transcription requires one of: a file argument, \"\n                            \"an `audio_url` kwarg, or a `file_id` kwarg.\"\n                        ),\n                        status_code=400,\n                        headers=None,\n                    )\n                uploaded_file_id = self._sync_upload_file(\n                    http_client=http_client,\n                    base_url=base_url,\n                    auth_headers=auth_headers,\n                    audio_file=audio_file,\n                    filename_override=handler_opts.get(\"filename_override\"),\n                    timeout=timeout,\n                    provider_config=provider_config,\n                )\n                file_id = uploaded_file_id\n","sourceCodeStart":334,"sourceCodeEnd":370,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/llms/soniox/audio_transcription/handler.py#L334-L370","documentation":"Soniox transcription input guard: neither a file argument, an audio_url handler option, nor a file_id (of an already-uploaded file) was provided, so there is no audio source to transcribe and SonioxException is raised.","triggerScenarios":"Triggered when Soniox transcription is called without a file argument, audio_url kwarg, or file_id kwarg.","commonSituations":"See trigger scenarios.","solutions":["Pass a file argument, an audio_url kwarg, or a file_id kwarg to the transcription call."],"exampleFix":"litellm.transcription(model=\"soniox/...\", file=open(\"a.wav\",\"rb\"))  # or audio_url=... / file_id=...","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}