| mode | Mode: "capture" to take screenshots, "compare" to generate diffs and comment | yes | — |
| github-token | GitHub token for API access (required for compare mode) | no | — |
| playwright-command | Command to run Playwright tests (capture mode only) | no | npm test |
| working-directory | Working directory for the action (where package.json is located) | no | . |
| screenshot-directory | Directory where screenshots are saved (relative to working-directory) | no | screenshots |
| artifact-name | Name for screenshot artifact (capture mode only) | no | screenshots |
| base-artifact | Name of base screenshots artifact (compare mode only) | no | screenshots-base |
| pr-artifact | Name of PR screenshots artifact (compare mode only) | no | screenshots-pr |
| post-comment | Post visual diff comment on PR (compare mode only) | no | true |
| diff-threshold | Odiff threshold for pixel differences (0.0-1.0, default 0.1 = 10%) | no | 0.1 |
| crop-padding | Vertical padding around diff regions in pixels | no | 50 |
| crop-min-height | Minimum crop height in pixels | no | 300 |
| install-deps | Install npm dependencies before running tests (capture mode only) | no | true |
| fail-on-changes | Fail the action if visual changes are detected (compare mode only) | no | false |
| r2-account-id | Cloudflare R2 Account ID (required for compare mode) | no | "" |
| r2-access-key-id | Cloudflare R2 Access Key ID (required for compare mode) | no | "" |
| r2-secret-access-key | Cloudflare R2 Secret Access Key (required for compare mode) | no | "" |
| r2-bucket-name | Cloudflare R2 bucket name (required for compare mode) | no | "" |
| r2-public-url | Cloudflare R2 public bucket URL (e.g., https://pub-xxxxx.r2.dev) | no | "" |
| output-format | Output format for diff images: "side-by-side" or "animated-gif" | no | animated-gif |
| gif-frame-delay | Delay between frames in animated GIF (milliseconds). Only applies when output-format is animated-gif. | no | 750 |
| include-diff-in-output | Include the diff highlight image in output. When false, animated GIFs show only base → new. | no | false |