run_vlm_test_suite_batch
Compare multiple VLMs on the same test suite in parallel — send an image (URL or base64) + N test cases to all models simultaneously. Returns per-model PASS/FAIL verdicts, pass rates, latency stats, and a comparison table. Assertion types: contains, not_contains, json_format, min_length, max_length, semantic_contains. BYOK: requires API keys for each provider.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| models | Yes | Array of model IDs to compare (runs in parallel). | |
| api_keys | Yes | Map of model ID → API key. Example: { "gpt-4o": "sk-...", "claude-3-5-sonnet-20241022": "sk-ant-..." } | |
| image_url | No | Public URL of the image to evaluate (required unless image_base64 is provided). | |
| threshold | No | Pass rate threshold for overall verdict (default: 80, 0–100). | |
| test_cases | Yes | Array of test cases to run against every model. | |
| image_base64 | No | Base64-encoded image data (required unless image_url is provided). | |
| system_prompt | No | Optional system prompt sent to every VLM. | |
| image_mime_type | No | MIME type of the image if using image_base64 (default: image/jpeg). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| suites | No | ||
| verdict | No | ||
| total_failed | No | ||
| total_passed | No |