LiteLLM's image_generation() path doesn't extract extra_body from kwargs
(unlike image_edit), so params like image_urls, loras, enable_safety_checker
arrive as a nested dict in optional_params. Flatten extra_body in both
map_openai_params() and transform_image_generation_request() so FAL-specific
params appear at the top level of the request body.
Adds comprehensive test coverage (35 tests):
- URL construction for all model types
- Param passthrough (loras, guidance_scale, etc.)
- extra_body flattening (the bug scenario)
- End-to-end request validation with mocked HTTP
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Generic FAL models (nano-banana-2, flux-2/klein, etc.) were getting
incorrect URLs (just https://fal.run without model path) and having
FAL-specific params (loras, image_urls, guidance_scale, etc.) silently
dropped by the supported params filter. This broke cost tracking since
all generic FAL requests failed through the proxy.
Also adds FAL image edit config and k8s dev ConfigMap.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Pin all GitHub Actions to commit SHAs and add top-level permissions
block to address security scanner findings (zizmor + CodeQL).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Builds the LiteLLM Docker image on push to main and fix/* branches,
then pushes to Azure Container Registry with commit SHA and latest tags.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fixes#24621
The Gemini API supports `imageConfig.imageSize` to control output
resolution (e.g., "2K", "4K"), but LiteLLM had no way to pass this
through. The `extra_body` approach doesn't work because
`generationConfig` is rebuilt from scratch in the transformation layer.
Changes:
- Vertex AI Gemini image edit: add `imageSize` to `SUPPORTED_PARAMS`
and include it in `generationConfig.image_config.image_size`
- Google AI Studio image gen: same support for Gemini models
- Both: accept `size` param as either OpenAI format ("1024x1024" ->
aspect_ratio) or Gemini format ("2K" -> image_size)
- Both: map OpenAI `quality="hd"` to `imageSize="2K"` as a convenient
alternative
- Add tests for imageSize, combined aspect_ratio+imageSize, size="2K",
and quality="hd" mappings
Unit Tests: Proxy DB Operations / proxy-db (auth-checks, tests/proxy_unit_tests/test_auth_checks.py tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Waiting to run
Unit Tests: Proxy DB Operations / proxy-db (remaining, tests/proxy_unit_tests --ignore=tests/proxy_unit_tests/test_key_generate_prisma.py --ignore=tests/proxy_unit_tests/test_auth_checks.py --ignore=tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Waiting to run
Unit Tests: Proxy DB Operations / proxy-db (auth-checks, tests/proxy_unit_tests/test_auth_checks.py tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Waiting to run
Unit Tests: Proxy DB Operations / proxy-db (remaining, tests/proxy_unit_tests --ignore=tests/proxy_unit_tests/test_key_generate_prisma.py --ignore=tests/proxy_unit_tests/test_auth_checks.py --ignore=tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Waiting to run
Avoid module-level cyclic import between llm_passthrough_endpoints and
pass_through_endpoints; CodeQL and partial init order no longer risk
undefined LITELLM_PASS_THROUGH_CUSTOM_BODY_STATE_KEY.
Made-with: Cursor
Restores Windows-style line endings to match main/origin main for this
file, removing the full-file noise diff from an accidental LF-only
normalization.
Made-with: Cursor
- Add _verify_org_access to deprecated POST /organization/info endpoint
- Move get_user_object to module-level import in organization_endpoints.py
- Add tests for _verify_team_access 403 denial path
- Introduced a new method in `FileContentStreamingHandler` to resolve streaming request parameters, enhancing the routing logic based on credentials.
- Updated the `should_stream_file_content` method to check against supported providers.
- Cleaned up type hints and imports across multiple files for better organization and clarity.
- Added comprehensive tests to validate the new routing behavior and ensure original data integrity during streaming requests.