-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Add Azure Video Generation Support with Sora Integration #15792
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Azure Video Generation Support with Sora Integration #15792
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
("files", ("input_reference.png", _input_reference, "image/png")) | ||
) | ||
|
||
verbose_logger.debug(f"Azure video request data: {data_dict}") |
Check failure
Code scanning / CodeQL
Clear-text logging of sensitive information High
sensitive data (password)
This expression logs
sensitive data (password)
This expression logs
sensitive data (password)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression logs
sensitive data (secret)
This expression logs
sensitive data (password)
This expression
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 1 day ago
To fix the logging of sensitive information, we should ensure that no sensitive data (such as API keys, secrets, passwords, or credentials) are logged in cleartext. The best way to do this is by sanitizing data_dict
before logging: specifically, by removing (or redacting) any known sensitive keys (e.g., api_key
, api_key_secret
) and potentially filtering out values matching certain patterns (like "key" or "token"). This can be accomplished by making a shallow copy of the dictionary, checking for sensitive keys, and replacing their values with placeholders before sending them to the logger.
Implementation:
- Insert a utility function to sanitize/filter sensitive fields from a dict before logging. This should redact (replace with
'[REDACTED]'
) the value of any keys matching a sensitive list or pattern. - Use this sanitization function just prior to logging
data_dict
on line 313. - Add the utility function in this file if not available from the utility module.
All changes occur in litellm/llms/azure/videos/transformation.py
at/around line 313.
-
Copy modified lines R313-R325
@@ -310,7 +310,19 @@ | ||
("files", ("input_reference.png", _input_reference, "image/png")) | ||
) | ||
|
||
verbose_logger.debug(f"Azure video request data: {data_dict}") | ||
# Sanitize potentially sensitive fields before logging | ||
def _sanitize_for_logging(input_dict): | ||
SENSITIVE_KEYS = {"api_key", "api_key_secret", "authorization", "access_token", "token"} | ||
sanitized = {} | ||
for k, v in input_dict.items(): | ||
# Redact sensitive keys | ||
if k.lower() in SENSITIVE_KEYS or "key" in k.lower() or "token" in k.lower(): | ||
sanitized[k] = "[REDACTED]" | ||
else: | ||
sanitized[k] = v | ||
return sanitized | ||
|
||
verbose_logger.debug(f"Azure video request data: {_sanitize_for_logging(data_dict)}") | ||
verbose_logger.debug(f"Azure video request files: {[f[0] for f in files_list]}") | ||
|
||
return data_dict, files_list |
e5fa283
into
litellm_sameer_oct_staging
Title
Add Azure Video Generation Support with Sora Integration
Relevant issues
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
tests/litellm/
directory, Adding at least 1 test is a hard requirement - see detailsmake test-unit
Type
🆕 New Feature
Changes
Key Features Added
1. Type-Safe Parameter Definitions
InpaintItem
TypedDict for image/video inpainting parametersAzureCreateVideoRequest
TypedDict with Azure-specific parameters2. Azure Video Transformation Configuration
AzureVideoConfig
class implementationseconds
→n_seconds
size
("WxH") → separatewidth
andheight
fieldsinput_reference
→inpaint_items
(with helper methods)/openai/v1/video/generations/jobs?api-version=preview
Usage Examples
Basic Video Generation
With Image Reference (Auto-converted to inpaint_items)
Advanced Inpainting
Parameter Conversion
Input (OpenAI format):
Output (Azure format):