sgl-project/sglang · error · ValueError
unsupported composite_input type: {input_type}
Error message
unsupported composite_input type: {input_type} What it means
During composite_input parsing, the declared input_type is not one the parser branch handles (camera control types or 'prompt'), so it refuses to interpret the item.
Source
Thrown at python/sglang/multimodal_gen/runtime/entrypoints/openai/realtime/adapters/lingbot_world_realtime_adapter.py:247
)
)
return f"kind=composite_input, inputs={input_logs}"
def _parse_composite_input_item(
self,
state: LingBotWorldRealtimeState,
input_type: str,
payload: Any,
event_id: int | None,
) -> Any:
if input_type == "camera_actions":
return state.parse_camera_control_event_payload(
payload,
event_id=event_id,
)
if input_type == "prompt":
return self._validate_prompt_payload(payload)
raise ValueError(f"unsupported composite_input type: {input_type}")
def _ingest_parsed_composite_input_item(
self,
state: LingBotWorldRealtimeState,
input_type: str,
parsed_payload: Any,
event_id: int | None,
) -> str:
if input_type == "camera_actions":
return state.receive_parsed_camera_control_event_payload(
parsed_payload,
event_id=event_id,
)
if input_type == "prompt":
state.receive_prompt(parsed_payload, event_id=event_id)
return f"kind=prompt, prompt_len={len(parsed_payload)}"
raise ValueError(f"unsupported composite_input type: {input_type}")
View on GitHub (pinned to 0132848349)
Solutions
- Restrict input_types entries to 'prompt' and the camera control types the state supports
- Check the adapter's parse branch for the exact accepted names
- Upgrade or patch the adapter if you need a new modality, don't just send it
Example fix
// before
{input_types: ["text"], text: "hi"}
// after
{input_types: ["prompt"], prompt: "hi"} Defensive patterns
Strategy: validation
Validate before calling
SUPPORTED = {'prompt'} | CAMERA_TYPES
payload['input_types'] = [t for t in payload['input_types'] if t in SUPPORTED] Type guard
def is_supported_type(t: str) -> bool: return t == 'prompt' or t in CAMERA_TYPES
Try / catch
except ValueError as e: if 'unsupported composite_input type' in str(e): drop the item and resend
Prevention
- Restrict input_types to documented names
- Read the adapter for the accepted set before adding modalities
When it happens
Trigger: input_types: ["image"] or any undeclared type name — the per-item parser (_parse_composite_input_item) has no branch for it.
Common situations: Client assuming arbitrary modality names are supported; adapter version lacking a newer input type; typos in type names like 'promt'.
Related errors
- composite_input event payload must be a map
- composite_input event payload requires non-empty input_types
- composite_input input_types must contain non-empty strings
- composite_input event payload requires {input_type}
- prompt event payload must be a string
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/fd37cbbbcbcb4d07.
Report an issue: GitHub.