---
title: PhyGenBench
description: "T2V physical-commonsense generation: 160 prompts over 27 laws, scored by PhyGenEval. WorldFoundry imports results or runs overall.py — not the stage judges."
---

PhyGenBench (Shanghai AI Lab / OpenGVLab) asks whether a **text-to-video generator** respects physical commonsense. It ships **160 prompts** spanning **27 claimed laws** in four domains (mechanics, optics, thermal, materials). Upstream scoring is **PhyGenEval**: VQAScore, GPT-4o/LLaVA-style order checks, and InternVideo2 naturalness, then `overall.py`.

This is **generation + hierarchical judges**, not [PhyGround](/docs/evaluation/benchmark-hub/phyground) (TI2V law-criteria 1–5), not [PhysVidBench](/docs/evaluation/benchmark-hub/physvidbench) (caption QA), and not [Physics-IQ](/docs/evaluation/benchmark-hub/physics-iq) (filmed continuation).

Paper: [PhyGenBench](https://arxiv.org/abs/2410.05363). Project: [phygenbench123.github.io](https://phygenbench123.github.io/). Code: [OpenGVLab/PhyGenBench](https://github.com/OpenGVLab/PhyGenBench).

WorldFoundry bundles `prompts.json` and PhyGenEval `overall.py`. It **imports** an official result file, or runs **bounded** `overall.py` over already-prepared stage outputs. It does **not** run VQAScore, GPT-4o/LLaVA, or InternVideo2.

<BenchmarkPageSections id="phygenbench" locale="en" />

## How to run

Import an official result export:

```bash
worldfoundry-eval zoo benchmark-run \
  --benchmark-id phygenbench \
  --mode official-validation \
  --official-results-path <official_results.json> \
  --generated-artifact-dir <generated_videos> \
  --output-dir tmp/phygenbench/official-validation \
  --json
```

Aggregate prepared stage outputs with in-tree `overall.py` (not a substitute for the full judge stack):

```bash
${WORLDFOUNDRY_UNIFIED_PYTHON} \
  worldfoundry/evaluation/tasks/execution/runners/phygenbench/run_phygenbench_official_runner.py \
  --run-official \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/phygenbench/official \
  --json
```

Outputs include `scorecard.json` (primary `phygenbench_average`).

[← Benchmark Hub](/docs/evaluation/benchmark-hub)
