ATH-MaaS/Pixelle-Video · error · RuntimeError
请先在素材分析服务中选择 API VLM 模型。 / Please select an API VLM model in
Error message
请先在素材分析服务中选择 API VLM 模型。 / Please select an API VLM model in the asset analysis service settings.
What it means
In web/pipelines/asset_based.py's _render_output_preview, before executing the asset-based pipeline it validates that when video_params['source'] == 'api' an analysis VLM model is selected, raising RuntimeError with a localized (zh/en) message. This prevents calling the asset analysis service without a configured API VLM model.
Source
Thrown at web/pipelines/asset_based.py:570
current=event.frame_current,
total=event.frame_total
)
elif event.event_type == "concatenating":
if event.extra_info == "complete":
message = tr("asset_based.progress.concat_complete")
else:
message = tr("progress.concatenating")
elif event.event_type == "completed":
message = tr("progress.completed")
else:
message = tr(f"progress.{event.event_type}")
status_text.text(message)
progress_bar.progress(min(int(event.progress * 100), 99))
# Execute pipeline with progress callback
if video_params.get("source") == "api" and not video_params.get("analysis_vlm_model"):
raise RuntimeError(
"请先在素材分析服务中选择 API VLM 模型。"
if get_language() == "zh_CN"
else "Please select an API VLM model in the asset analysis service settings."
)
ctx = run_async(pipeline(
assets=video_params["assets"],
video_title=video_params.get("video_title", ""),
intent=video_params.get("intent"),
duration=video_params.get("duration", 30),
source=video_params.get("source", "runninghub"),
analysis_image_workflow=video_params.get("analysis_image_workflow"),
analysis_video_workflow=video_params.get("analysis_video_workflow"),
analysis_vlm_model=video_params.get("analysis_vlm_model"),
bgm_path=video_params.get("bgm_path"),
bgm_volume=video_params.get("bgm_volume", 0.2),
bgm_mode=video_params.get("bgm_mode", "loop"),
api_video_workflow=video_params.get("api_video_workflow"),View on GitHub (pinned to 848b054e4f)
Solutions
- Open the asset analysis service settings and choose an API VLM model from the dropdown
- Save the settings and verify analysis_vlm_model is persisted in video_params
- If the dropdown is empty, check API credentials/endpoint so the model list can load
- Switch source to 'local' if you intend to use a local VLM instead
Example fix
// before
video_params = {"source": "api"} # analysis_vlm_model missing
// after
video_params = {"source": "api", "analysis_vlm_model": "glm-4v"} Defensive patterns
Strategy: validation
Validate before calling
if video_params.get("source") == "api" and not video_params.get("analysis_vlm_model"):
raise ValueError("Select an API VLM model in asset analysis settings before generating.") Try / catch
try:
run_async(pipeline(...))
except RuntimeError as e:
if "VLM model" in str(e):
st.error("Please select an API VLM model in the asset analysis service settings.") Prevention
- Make the analysis_vlm_model dropdown required in the UI when source == 'api'
- Persist and re-validate settings after upgrades or source switches
- Pre-fetch the model list on settings load so the field is never silently empty
- Add a pre-flight config check before starting long-running renders
When it happens
Trigger: User selects 'api' as the asset-analysis source in the UI but leaves the analysis_vlm_model dropdown empty, then clicks generate; render() -> _render_output_preview() reaches the check and raises.
Common situations: Fresh install where the model list hasn't been fetched, so the dropdown stays empty; user switched source from 'local' to 'api' without picking a model; saved settings lost the model field after an upgrade.
Understand the failure class
Background: "X is required", "must be set", "cannot be empty": the missing-required-config error family, from Vertex AI project/location to WeChat keys — this error's family across 18 libraries.
Related errors
- API VLM analysis requires an explicitly selected VLM model.
- DashScope VLM model must be explicitly selected.
- Template not found: {template}
- frame_template is required to determine media size
- Progress must be between 0.0 and 1.0, got {self.progress}
AI-assisted analysis of ATH-MaaS/Pixelle-Video@848b054e4f (2026-08-30).
Data as JSON: /api/errors/e8900393ddd3069f.
Report an issue: GitHub.