BerriAI/litellm · error · ValueError
Manus API key is required. Set MANUS_API_KEY environment var
Error message
Manus API key is required. Set MANUS_API_KEY environment variable or pass api_key parameter.
What it means
Error "Manus API key is required. Set MANUS_API_KEY environment variable or pass api_key parameter." thrown in BerriAI/litellm.
Source
Thrown at litellm/llms/manus/files/transformation.py:81
self,
headers: dict,
model: str,
messages: list,
optional_params: dict,
litellm_params: dict,
api_key: str | None = None,
api_base: str | None = None,
) -> dict:
"""
Validate environment and set up headers for Manus API.
Manus uses API_KEY header instead of Authorization: Bearer.
For file uploads, don't set Content-Type - httpx will set it for multipart.
"""
api_key = api_key or litellm.api_key or get_secret_str("MANUS_API_KEY")
if not api_key:
raise ValueError(
"Manus API key is required. Set MANUS_API_KEY environment variable or pass api_key parameter."
)
# Manus uses API_KEY header, not Authorization: Bearer
# Manus requires Content-Type: application/json for all requests (even GET)
headers.update(
{
"API_KEY": api_key,
"Content-Type": "application/json",
}
)
return headers
def get_supported_openai_params(self, model: str) -> list[OpenAICreateFileRequestOptionalParams]:
"""
Return supported OpenAI file creation parameters for Manus.
Manus supports the standard 'purpose' parameter.
"""View on GitHub (pinned to 6c2dcb801b)
Solutions
- Set MANUS_API_KEY or pass api_key.
When it happens
Trigger: Thrown at litellm/llms/manus/files/transformation.py:81 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15).
Data as JSON: /api/errors/9959ed50a66ca184.
Report an issue: GitHub.