Run Google DeepMind’s MRCR v2 long-context benchmark on a model behind your own OpenAI-compatible endpoint, tune the run in Advanced, and read the score and every model call.
MRCRv2 is Google DeepMind’s Multi-Round Coreference Resolution benchmark (data release v2.1,
8 needles). The model reads a long conversation in which a user asked for many pieces of writing,
eight of them alike, and has to reproduce the right one, for example the fourth poem about
flamingos, starting with a random 12-character string. There are 484 questions in five
context-length bins, from 4k to 128k tokens. Score is the mean over all of them, the number labs
publish as “MRCR v2 (8-needle) 128k (average)”.Your model does not have to live on BenchGen to take it. If it answers on an OpenAI-compatible chat
completions endpoint (OpenRouter, OpenAI, Together, Mistral, or your own vLLM server), the
External API source runs MRCRv2 against it. This guide walks through one run:
google/gemini-2.5-flash-lite on OpenRouter, one question per bin for a quick first look.
The whole walkthrough as a video
Before you start
A BenchGen account with at least 5 credits (a run cannot start below that).
An endpoint that serves POST .../chat/completions in the OpenAI format and is reachable from the
public internet.
The model name your endpoint expects, for example google/gemini-2.5-flash-lite.
An API key, if your endpoint needs one.
A model with a context window above 128k tokens, to answer every question. MRCRv2 prompts reach
about 131,000 tokens; a shorter window still works, its longest questions just count as
unanswered.
How your endpoint is called
The benchmark never talks to your endpoint directly. For the length of the run, BenchGen registers
your endpoint on its gateway and gives the benchmark container a key made for this run only. Every
request goes through the gateway to your endpoint with your own key, which is why each call shows
up as a trace on the run page.
Your API key is held by the gateway only while the run lasts and is removed when the run ends. It
never reaches the benchmark container, is not saved with the run, and is not stored as a reusable
model.
Run the benchmark
1
Open MRCRv2
Open MRCRv2 from the Environments page and select the Evaluate tab.
The Evaluate tab of MRCRv2
2
Choose External API
Click External API in the row of model sources.
3
Enter your endpoint
Field
Required
Example
Endpoint URL
Yes
https://openrouter.ai/api/v1/chat/completions
Model name
Yes
google/gemini-2.5-flash-lite
API key / token
If your endpoint needs one
Your OpenRouter key
Display name
No
Gemini 2.5 Flash Lite (OpenRouter), the name the run is listed under
The URL may end in /v1 or in /v1/chat/completions; both work. Put the key in its own field,
not in the URL.
The External API form filled in for Gemini 2.5 Flash Lite on OpenRouter
4
Check the connection
Click Use this endpoint. BenchGen sends one short request to your endpoint through the
gateway. When it answers, the form shows Selected: with your display name and (the
endpoint answered).
The endpoint answered, and it is selected for the run
If the request fails, the form says why, in one line, with the endpoint’s own message. See
Troubleshooting. For an endpoint that is slow to wake up, you can click
Use anyway and start the run.
5
Set the run in Advanced (optional)
Expand Advanced: model environment & parameters. For a first look, type 1 in Questions
per bin and leave everything else blank. Advanced settings below
explains every field.
Questions per bin set to 1 for a quick first run
6
Run the evaluation
Click Run Evaluation. The run page opens and follows the run through Deploying and
Running to Completed, with the benchmark’s log underneath.
7
Read the results
When the run completes, Score Breakdown shows:
Score: the mean over the questions asked, 0 to 100. Each answer scores 0 to 1 by how
closely the text after the random string matches the right piece of writing; an answer
without the string scores 0.
4k-8k to 64k-128k: the same mean within each context-length bin, so you can see where
the model starts to lose track.
Coverage: the share of all 484 questions the model answered. A prompt longer than the
model’s context window counts as unanswered and scores 0.
A completed run with its score, bins and coverage
A run with Questions per bin set is an estimate over the questions it asked, not the
full-set average labs publish. Its coverage stays a share of all 484, so a partial run is plain
to see on the leaderboard.
8
Inspect every model call
Click Questions & traces on the run page. The table lists every request the run sent to
your endpoint, oldest first, with its latency and cost. Click a row to open the full trace: the
prompt, the answer, and the model’s reasoning when it returns any.
Every model call of the run, and one of them opened
To keep traces, tick them and click Download in the bar that appears: you get one JSON file
with each selected trace in full. Copy IDs copies their ids. Only you and BenchGen staff
can see a run’s traces.
Advanced settings
Advanced: model environment & parameters holds two kinds of fields. Every field is optional:
a blank one takes the benchmark’s default, shown greyed out inside it.
You provide these
The fields a benchmark declares for its runner. MRCRv2 declares two; other benchmarks declare
their own. Each one reaches the benchmark as the environment variable shown next to its label.
Field
Variable
MRCRv2 default
What it does
Questions per bin
MRCR_PER_BIN
Blank: all 484
Asks N questions from each of the five bins, spread evenly over the bin and the same ones every run. 1 asks 5 questions, 10 asks 50.
Parallel questions (1-16)
MRCR_WORKERS
8
How many questions run at the same time. Lower it if your provider answers with rate-limit errors; raise it for a faster full run on an endpoint that can take it.
Sampling parameters
These go to your endpoint with every request. MRCRv2’s defaults are the ones Google DeepMind’s own
runner uses; change them and your score is no longer comparable with published numbers.
Field
MRCRv2 default
What it does
Temperature
1.0
Sampling temperature.
Max tokens
32,768
Room for the answer. Answers are short, the rest is for models that reason first. If a prompt plus this room does not fit the model’s context window, the question is asked again with 8,192, then with 1,024.
Top P
1.0
Nucleus sampling.
Timeout (s)
900
How long one question may take before it is retried; long prompts on a busy endpoint need the time.
Reasoning
Your model’s default
none, low, medium or high, sent as reasoning_effort to models that support it. More reasoning usually scores higher and costs more tokens.
What it costs
Who charges
Price
Model calls
Your provider, on your own key
Your provider’s price. BenchGen adds nothing.
Benchmark compute
BenchGen, from your credits
**$0.005 per minute** the run takes ($0.30 an hour)
The run page shows the compute amount under Compute once the run has ended, and Billing
counts it under Benchmarks on the day it was charged. A full MRCRv2 run sends about 24.5 million
input tokens to your endpoint; questions share their conversations, so a provider with prompt
caching charges far less than its list price.
Run it again
The key is not kept after a run, so an External API run has no one-click rerun. To run the same
endpoint again, start a new evaluation and enter the URL, model name and key once more.
Troubleshooting
What you see
What to do
The endpoint refused the API key.
Check the key, and that it belongs to the provider in the URL.
Not found: check the endpoint URL and the model name.
The URL path or the model name is wrong. Many providers answer 404 for an unknown model.
The endpoint rejected the request: check the model name.
Use the model name exactly as your provider lists it.
The endpoint is rate limiting or out of quota.
Wait, top up with your provider, or lower Parallel questions.
No answer within 15 seconds.
The endpoint may be starting up. Try again, or click Use anyway.
… is not a public host name or … resolves to a private or internal address
BenchGen only calls endpoints on the public internet. A server on localhost or a private network needs a public URL first.
The endpoint URL must not have a query string
Remove everything from ? on.
Low Coverage
The model’s context window is shorter than the longest prompts (about 131,000 tokens).
Next steps
Benchmark results
Read the score breakdown, the detailed results and the files of a run.
Environment variables
How a benchmark’s run settings reach the model.
Longer contexts
MRCRv2 256K, 512K and 1M ask every question at one context length, for models with
longer windows.
Model usage
Follow what your runs spend.
Last modified on October 23, 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"BenchGen Documentation","description":"Documentation for BenchGen, the benchmarking infrastructure for AI agents. Evaluate agent behavior, build simulation environments, analyze trajectories, and improve AI systems with reliable benchmarks.","colors":{"primary":"#F97316","light":"#FB923C","dark":"#EA580C"},"logo":{"light":"https://mintcdn.com/benchgen-8fc81371/2OCozHVviHUGu126/logo/light.svg?fit=max\u0026auto=format\u0026n=2OCozHVviHUGu126\u0026q=85\u0026s=c30524148fb8e976f6d0169b615c4c23","dark":"https://mintcdn.com/benchgen-8fc81371/2OCozHVviHUGu126/logo/dark.svg?fit=max\u0026auto=format\u0026n=2OCozHVviHUGu126\u0026q=85\u0026s=26d34c6d3c6d42c461506af79abb9af1"},"favicon":"https://mintcdn.com/benchgen-8fc81371/2OCozHVviHUGu126/favicon.svg?fit=max\u0026auto=format\u0026n=2OCozHVviHUGu126\u0026q=85\u0026s=49dc1756d3e07c92100156d977d96a5f","navbar":{"links":[{"href":"mailto:contact@benchgen.com","label":"Support"}],"primary":{"type":"button","label":"Platform","href":"https://benchgen.com/benchmarks"}},"footer":{"socials":{"x":"https://x.com/BenchGenAI","github":"https://github.com/benchgen-ai","linkedin":"https://www.linkedin.com/company/benchgen"}},"seo":{"metatags":{"canonical":"https://benchgen.com/docs","og:site_name":"BenchGen Documentation","og:type":"website","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@BenchGenAI"},"indexing":"navigable"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"benchgen-8fc81371","hasAudioNarration":false,"actualSubdomain":"benchgen-8fc81371","customDomains":["benchgen.com"],"gitSource":{"type":"gitlab","owner":"benchgen","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"projectId":82401822,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adb360346b60ddf4f035503","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"default","tag":"API reference","count":54},{"language":"default","tag":"Platform","count":47},{"language":"default","tag":"Agents","count":20},{"language":"default","tag":"Benchmark creation","count":18},{"language":"default","tag":"Eval","count":14},{"language":"default","tag":"Agent Builder","count":12},{"language":"default","tag":"Fine-tuning and serving","count":9},{"language":"default","tag":"Agent skills","count":8},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Train","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"guides/benchmarks/mrcrv2-external-model","slug":"/guides/benchmarks/mrcrv2-external-model","pageMetadata":{"title":"MRCRv2 with an External API model","description":"Run Google DeepMind's MRCR v2 long-context benchmark on a model behind your own OpenAI-compatible endpoint, tune the run in Advanced, and read the score and every model call.","icon":"plug","href":"/guides/benchmarks/mrcrv2-external-model"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Run Google DeepMind’s MRCR v2 long-context benchmark on a model behind your own OpenAI-compatible endpoint, tune the run in Advanced, and read the score and every model call.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`MRCRv2`}),` is Google DeepMind’s Multi-Round Coreference Resolution benchmark (data release v2.1,\n8 needles). The model reads a long conversation in which a user asked for many pieces of writing,\neight of them alike, and has to reproduce the right one, for example the fourth poem about\nflamingos, starting with a random 12-character string. There are 484 questions in five\ncontext-length bins, from 4k to 128k tokens. `,_jsx(_components.strong,{children:`Score`}),` is the mean over all of them, the number labs\npublish as “MRCR v2 (8-needle) 128k (average)”.`]}),`\n`,_jsxs(_components.p,{children:[`Your model does not have to live on BenchGen to take it. If it answers on an OpenAI-compatible chat\ncompletions endpoint (OpenRouter, OpenAI, Together, Mistral, or your own vLLM server), the\n`,_jsx(_components.strong,{children:`External API`}),` source runs MRCRv2 against it. This guide walks through one run:\n`,_jsx(_components.code,{children:`google/gemini-2.5-flash-lite`}),` on OpenRouter, one question per bin for a quick first look.`]}),`\n`,_jsx(Frame,{caption:`The whole walkthrough as a video`,children:_jsx(`video`,{controls:true,className:`mint-w-full mint-aspect-video`,src:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/mrcrv2-external-model.mp4?fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=d1a7223e621e4f018ed0e46b5b620f2e`,\"data-path\":`images/guides/benchmarks/mrcrv2-external-model.mp4`})}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A BenchGen account with at least `,_jsx(_components.strong,{children:`5 credits`}),` (a run cannot start below that).`]}),`\n`,_jsxs(_components.li,{children:[`An endpoint that serves `,_jsx(_components.code,{children:`POST .../chat/completions`}),` in the OpenAI format and is reachable from the\npublic internet.`]}),`\n`,_jsxs(_components.li,{children:[`The model name your endpoint expects, for example `,_jsx(_components.code,{children:`google/gemini-2.5-flash-lite`}),`.`]}),`\n`,_jsx(_components.li,{children:`An API key, if your endpoint needs one.`}),`\n`,_jsx(_components.li,{children:`A model with a context window above 128k tokens, to answer every question. MRCRv2 prompts reach\nabout 131,000 tokens; a shorter window still works, its longest questions just count as\nunanswered.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-your-endpoint-is-called`,children:`How your endpoint is called`}),`\n`,_jsx(_components.p,{children:`The benchmark never talks to your endpoint directly. For the length of the run, BenchGen registers\nyour endpoint on its gateway and gives the benchmark container a key made for this run only. Every\nrequest goes through the gateway to your endpoint with your own key, which is why each call shows\nup as a trace on the run page.`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Your API key is held by the gateway only while the run lasts and is removed when the run ends. It\nnever reaches the benchmark container, is not saved with the run, and is not stored as a reusable\nmodel.`})}),`\n`,_jsx(Heading,{level:`2`,id:`run-the-benchmark`,children:`Run the benchmark`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open MRCRv2`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`MRCRv2`}),` from the `,_jsx(_components.strong,{children:`Environments`}),` page and select the `,_jsx(_components.strong,{children:`Evaluate`}),` tab.`]}),_jsx(Frame,{caption:`The Evaluate tab of MRCRv2`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/01-evaluate-tab.png?fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=2766c9ade5350c06f77a3ce684b73fca`,alt:`The Evaluate tab of the MRCRv2 benchmark`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/guides/benchmarks/01-evaluate-tab.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/01-evaluate-tab.png?w=280\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=c98386fa35e06317599e2ffa2fb9389c 280w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/01-evaluate-tab.png?w=560\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=ded234de1566954acb885c66fbab6226 560w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/01-evaluate-tab.png?w=840\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=0e707a5f564718df69cc2f1b55d251df 840w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/01-evaluate-tab.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=24fe4345e689c4c775e007afd7182626 1100w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/01-evaluate-tab.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=10309c9c85d4842d4137d0f73b85b942 1650w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/01-evaluate-tab.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=ffbe92479af1fd8df3c2a62da41e2cdc 2500w`})})]}),_jsx(Step,{title:`Choose External API`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`External API`}),` in the row of model sources.`]})}),_jsxs(Step,{title:`Enter your endpoint`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Example`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Endpoint URL`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://openrouter.ai/api/v1/chat/completions`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Model name`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`google/gemini-2.5-flash-lite`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`API key / token`})}),_jsx(_components.td,{children:`If your endpoint needs one`}),_jsx(_components.td,{children:`Your OpenRouter key`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Display name`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Gemini 2.5 Flash Lite (OpenRouter)`}),`, the name the run is listed under`]})]})]})]}),_jsxs(_components.p,{children:[`The URL may end in `,_jsx(_components.code,{children:`/v1`}),` or in `,_jsx(_components.code,{children:`/v1/chat/completions`}),`; both work. Put the key in its own field,\nnot in the URL.`]}),_jsx(Frame,{caption:`The External API form filled in for Gemini 2.5 Flash Lite on OpenRouter`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/02-endpoint-form.png?fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=0a70be45eac9943e62093049063f0351`,alt:`The External API form with the endpoint URL, model name, masked key and display name filled in`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/guides/benchmarks/02-endpoint-form.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/02-endpoint-form.png?w=280\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=7ebb25031f6bb038350c6d82e2e295a3 280w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/02-endpoint-form.png?w=560\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=ebea4fed2a56402a99b40065caa65f64 560w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/02-endpoint-form.png?w=840\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=0f5e9e64d274de82a94b84c179e1b21e 840w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/02-endpoint-form.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=5614eed6c809b72c14cbb8c318c729d0 1100w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/02-endpoint-form.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=9274b64c5037cf6d68cf1cc874e622ba 1650w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/02-endpoint-form.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=d48f6ee3e56603e188fbd6bb7eab534a 2500w`})})]}),_jsxs(Step,{title:`Check the connection`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Use this endpoint`}),`. BenchGen sends one short request to your endpoint through the\ngateway. When it answers, the form shows `,_jsx(_components.strong,{children:`Selected:`}),` with your display name and `,_jsx(_components.strong,{children:`(the\nendpoint answered)`}),`.`]}),_jsx(Frame,{caption:`The endpoint answered, and it is selected for the run`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/03-endpoint-checked.png?fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=adef94cea87154bd7bef456dec16b355`,alt:`The form showing that the endpoint answered and is selected`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/guides/benchmarks/03-endpoint-checked.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/03-endpoint-checked.png?w=280\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=adfcf4771661aa9d9161f2657eb16248 280w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/03-endpoint-checked.png?w=560\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=e99bf2df9e0dd5f0963d6403cdf578a6 560w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/03-endpoint-checked.png?w=840\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=197efa5115c01d88fc25a4505e00b69d 840w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/03-endpoint-checked.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=6b1799f0625f60dc730f634a73bfc20f 1100w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/03-endpoint-checked.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=f4d4852138deace42b0311a90bd63062 1650w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/03-endpoint-checked.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=70cde77a01ee081dcea1b8a723bb7dbe 2500w`})}),_jsxs(_components.p,{children:[`If the request fails, the form says why, in one line, with the endpoint’s own message. See\n`,_jsx(_components.a,{href:`#troubleshooting`,children:`Troubleshooting`}),`. For an endpoint that is slow to wake up, you can click\n`,_jsx(_components.strong,{children:`Use anyway`}),` and start the run.`]})]}),_jsxs(Step,{title:`Set the run in Advanced (optional)`,children:[_jsxs(_components.p,{children:[`Expand `,_jsx(_components.strong,{children:`Advanced: model environment \u0026 parameters`}),`. For a first look, type `,_jsx(_components.code,{children:`1`}),` in `,_jsx(_components.strong,{children:`Questions\nper bin`}),` and leave everything else blank. `,_jsx(_components.a,{href:`#advanced-settings`,children:`Advanced settings`}),` below\nexplains every field.`]}),_jsx(Frame,{caption:`Questions per bin set to 1 for a quick first run`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/04-advanced.png?fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=5f570f6c97f83098cfe030cf4ac63edf`,alt:`The Advanced panel with Questions per bin set to 1`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/guides/benchmarks/04-advanced.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/04-advanced.png?w=280\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=ede4b1ed437b46ea9ba4d87b8201178f 280w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/04-advanced.png?w=560\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=5e45e205c95683bff8de8a839b79cb84 560w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/04-advanced.png?w=840\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=79a8414f9b4abc77014f0383a5fa53da 840w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/04-advanced.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=c1642c0aaa6b795d04995137e40e5cba 1100w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/04-advanced.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=d1b09211f4e446be7fc31e5270dbf3e1 1650w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/04-advanced.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=f9a6766b21f2d96012943f6e686ea284 2500w`})})]}),_jsx(Step,{title:`Run the evaluation`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Run Evaluation`}),`. The run page opens and follows the run through `,_jsx(_components.strong,{children:`Deploying`}),` and\n`,_jsx(_components.strong,{children:`Running`}),` to `,_jsx(_components.strong,{children:`Completed`}),`, with the benchmark’s log underneath.`]})}),_jsxs(Step,{title:`Read the results`,children:[_jsxs(_components.p,{children:[`When the run completes, `,_jsx(_components.strong,{children:`Score Breakdown`}),` shows:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Score`}),`: the mean over the questions asked, 0 to 100. Each answer scores 0 to 1 by how\nclosely the text after the random string matches the right piece of writing; an answer\nwithout the string scores 0.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`4k-8k`}),` to `,_jsx(_components.strong,{children:`64k-128k`}),`: the same mean within each context-length bin, so you can see where\nthe model starts to lose track.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Coverage`}),`: the share of all 484 questions the model answered. A prompt longer than the\nmodel’s context window counts as unanswered and scores 0.`]}),`\n`]}),_jsx(Frame,{caption:`A completed run with its score, bins and coverage`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/05-results.png?fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=5089fec900d49ba4c224602a3a413d1d`,alt:`The completed run page with the score breakdown`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/guides/benchmarks/05-results.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/05-results.png?w=280\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=0e134ebba352c23d20627a9c26ec62d0 280w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/05-results.png?w=560\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=1383e76dd6dc908756a632f69f9a3d0f 560w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/05-results.png?w=840\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=32d82b07b8ecf3af652162ddac0c77f4 840w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/05-results.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=597c5fe897dcc7ae0af17ae9bfb12be8 1100w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/05-results.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=077377390ac141f486bfb454ec352bf9 1650w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/05-results.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=17911c611e17cc5a38361ed0929c10e0 2500w`})}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`A run with `,_jsx(_components.strong,{children:`Questions per bin`}),` set is an estimate over the questions it asked, not the\nfull-set average labs publish. Its coverage stays a share of all 484, so a partial run is plain\nto see on the leaderboard.`]})})]}),_jsxs(Step,{title:`Inspect every model call`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Questions \u0026 traces`}),` on the run page. The table lists every request the run sent to\nyour endpoint, oldest first, with its latency and cost. Click a row to open the full trace: the\nprompt, the answer, and the model’s reasoning when it returns any.`]}),_jsx(Frame,{caption:`Every model call of the run, and one of them opened`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/06-traces.png?fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=3ccaf9b9898b81f7316f83a45cf83676`,alt:`The traces table of the run with one trace opened beside it`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/guides/benchmarks/06-traces.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/06-traces.png?w=280\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=3e6d4566f25c4d118288f030a5e40c94 280w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/06-traces.png?w=560\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=691f3771968e841e802070eec5796301 560w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/06-traces.png?w=840\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=e301f1a5b68c032c4a92b44adc271345 840w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/06-traces.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=323e842bf1f6088faa8d87c82ba6bcd5 1100w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/06-traces.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=c66f5e36f6d87fc20e877a2c6c95b13a 1650w, https://mintcdn.com/benchgen-8fc81371/_sV37YBfErxDwhvI/images/guides/benchmarks/06-traces.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_sV37YBfErxDwhvI\u0026q=85\u0026s=1a4ac573b4e6c7c510a8ed27e89088e1 2500w`})}),_jsxs(_components.p,{children:[`To keep traces, tick them and click `,_jsx(_components.strong,{children:`Download`}),` in the bar that appears: you get one JSON file\nwith each selected trace in full. `,_jsx(_components.strong,{children:`Copy IDs`}),` copies their ids. Only you and BenchGen staff\ncan see a run’s traces.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`advanced-settings`,children:`Advanced settings`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Advanced: model environment \u0026 parameters`}),` holds two kinds of fields. Every field is optional:\na blank one takes the benchmark’s default, shown greyed out inside it.`]}),`\n`,_jsx(Heading,{level:`3`,id:`you-provide-these`,children:`You provide these`}),`\n`,_jsx(_components.p,{children:`The fields a benchmark declares for its runner. MRCRv2 declares two; other benchmarks declare\ntheir own. Each one reaches the benchmark as the environment variable shown next to its label.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Variable`}),_jsx(_components.th,{children:`MRCRv2 default`}),_jsx(_components.th,{children:`What it does`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Questions per bin`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MRCR_PER_BIN`})}),_jsx(_components.td,{children:`Blank: all 484`}),_jsxs(_components.td,{children:[`Asks N questions from each of the five bins, spread evenly over the bin and the same ones every run. `,_jsx(_components.code,{children:`1`}),` asks 5 questions, `,_jsx(_components.code,{children:`10`}),` asks 50.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Parallel questions (1-16)`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MRCR_WORKERS`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`8`}),_jsx(_components.td,{children:`How many questions run at the same time. Lower it if your provider answers with rate-limit errors; raise it for a faster full run on an endpoint that can take it.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`sampling-parameters`,children:`Sampling parameters`}),`\n`,_jsx(_components.p,{children:`These go to your endpoint with every request. MRCRv2’s defaults are the ones Google DeepMind’s own\nrunner uses; change them and your score is no longer comparable with published numbers.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`MRCRv2 default`}),_jsx(_components.th,{children:`What it does`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Temperature`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1.0`}),_jsx(_components.td,{children:`Sampling temperature.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Max tokens`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`32,768`}),_jsx(_components.td,{children:`Room for the answer. Answers are short, the rest is for models that reason first. If a prompt plus this room does not fit the model’s context window, the question is asked again with 8,192, then with 1,024.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Top P`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`1.0`}),_jsx(_components.td,{children:`Nucleus sampling.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Timeout (s)`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`900`}),_jsx(_components.td,{children:`How long one question may take before it is retried; long prompts on a busy endpoint need the time.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Reasoning`})}),_jsx(_components.td,{children:`Your model’s default`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`low`}),`, `,_jsx(_components.code,{children:`medium`}),` or `,_jsx(_components.code,{children:`high`}),`, sent as `,_jsx(_components.code,{children:`reasoning_effort`}),` to models that support it. More reasoning usually scores higher and costs more tokens.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-it-costs`,children:`What it costs`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:`Who charges`}),_jsx(_components.th,{children:`Price`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Model calls`}),_jsx(_components.td,{children:`Your provider, on your own key`}),_jsx(_components.td,{children:`Your provider’s price. BenchGen adds nothing.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Benchmark compute`}),_jsx(_components.td,{children:`BenchGen, from your credits`}),_jsxs(_components.td,{children:[`**`,`$0.005 per minute** the run takes ($`,`0.30 an hour)`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The run page shows the compute amount under `,_jsx(_components.strong,{children:`Compute`}),` once the run has ended, and `,_jsx(_components.strong,{children:`Billing`}),`\ncounts it under `,_jsx(_components.strong,{children:`Benchmarks`}),` on the day it was charged. A full MRCRv2 run sends about 24.5 million\ninput tokens to your endpoint; questions share their conversations, so a provider with prompt\ncaching charges far less than its list price.`]}),`\n`,_jsx(Heading,{level:`2`,id:`run-it-again`,children:`Run it again`}),`\n`,_jsx(_components.p,{children:`The key is not kept after a run, so an External API run has no one-click rerun. To run the same\nendpoint again, start a new evaluation and enter the URL, model name and key once more.`}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`What you see`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`The endpoint refused the API key.`})}),_jsx(_components.td,{children:`Check the key, and that it belongs to the provider in the URL.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Not found: check the endpoint URL and the model name.`})}),_jsx(_components.td,{children:`The URL path or the model name is wrong. Many providers answer 404 for an unknown model.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`The endpoint rejected the request: check the model name.`})}),_jsx(_components.td,{children:`Use the model name exactly as your provider lists it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`The endpoint is rate limiting or out of quota.`})}),_jsxs(_components.td,{children:[`Wait, top up with your provider, or lower `,_jsx(_components.strong,{children:`Parallel questions`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`No answer within 15 seconds.`})}),_jsxs(_components.td,{children:[`The endpoint may be starting up. Try again, or click `,_jsx(_components.strong,{children:`Use anyway`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`… is not a public host name`}),` or `,_jsx(_components.strong,{children:`… resolves to a private or internal address`})]}),_jsxs(_components.td,{children:[`BenchGen only calls endpoints on the public internet. A server on `,_jsx(_components.code,{children:`localhost`}),` or a private network needs a public URL first.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`The endpoint URL must not have a query string`})}),_jsxs(_components.td,{children:[`Remove everything from `,_jsx(_components.code,{children:`?`}),` on.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Low `,_jsx(_components.strong,{children:`Coverage`})]}),_jsx(_components.td,{children:`The model’s context window is shorter than the longest prompts (about 131,000 tokens).`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Benchmark results`,icon:`chart-bar`,href:`/eval/read-results`,children:_jsx(_components.p,{children:`Read the score breakdown, the detailed results and the files of a run.`})}),_jsx(Card,{title:`Environment variables`,icon:`sliders`,href:`/eval/environment-variables`,children:_jsx(_components.p,{children:`How a benchmark’s run settings reach the model.`})}),_jsx(Card,{title:`Longer contexts`,icon:`ruler-horizontal`,href:`https://benchgen.com/benchmarks`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`MRCRv2 256K`}),`, `,_jsx(_components.strong,{children:`512K`}),` and `,_jsx(_components.strong,{children:`1M`}),` ask every question at one context length, for models with\nlonger windows.`]})}),_jsx(Card,{title:`Model usage`,icon:`gauge`,href:`/eval/monitor-model-usage`,children:_jsx(_components.p,{children:`Follow what your runs spend.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"MRCRv2 with an External API model","description":"Run Google DeepMind's MRCR v2 long-context benchmark on a model behind your own OpenAI-compatible endpoint, tune the run in Advanced, and read the score and every model call.","icon":"plug","href":"/guides/benchmarks/mrcrv2-external-model"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"How your endpoint is called","slug":"how-your-endpoint-is-called","depth":2,"children":[]},{"title":"Run the benchmark","slug":"run-the-benchmark","depth":2,"children":[]},{"title":"Advanced settings","slug":"advanced-settings","depth":2,"children":[{"title":"You provide these","slug":"you-provide-these","depth":3,"children":[]},{"title":"Sampling parameters","slug":"sampling-parameters","depth":3,"children":[]}]},{"title":"What it costs","slug":"what-it-costs","depth":2,"children":[]},{"title":"Run it again","slug":"run-it-again","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}","subdomain":"benchgen-8fc81371","siteName":"BenchGen Documentation","title":"MRCRv2 with an External API model - BenchGen Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T10:25:25.454Z","gitLastModified":"2026-10-23T10:23:34.000Z","originalFileLocation":"guides/benchmarks/mrcrv2-external-model.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Run Google DeepMind\u0026#x27;s MRCR v2 long-context benchmark on a model behind your own OpenAI-compatible endpoint, tune the run in Advanced, and read the score and every model call.\">\u003cmeta data-mint-head name=\"application-name\" content=\"BenchGen Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"MRCRv2 with an External API model - BenchGen Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Run Google DeepMind\u0026#x27;s MRCR v2 long-context benchmark on a model behind your own OpenAI-compatible endpoint, tune the run in Advanced, and read the score and every model call.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"BenchGen Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://benchgen-8fc81371.mintlify.site/docs/_mintlify/api/og/v2?division=Benchmarks\u0026amp;title=MRCRv2+with+an+External+API+model\u0026amp;description=Run+Google+DeepMind%27s+MRCR+v2+long-context+benchmark+on+a+model+behind+your+own+OpenAI-compatible+endpoint%2C+tune+the+run+in+Advanced%2C+and+read+the+score+and+eve\u0026amp;theme=9d7d43fe4c0665ef4885eb96\u0026amp;signature=46d8f53912f157dd0d153bb73aa2403af91df15fa1f694ccefc10924f0079b65\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"MRCRv2 with an External API model - BenchGen Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Run Google DeepMind\u0026#x27;s MRCR v2 long-context benchmark on a model behind your own OpenAI-compatible endpoint, tune the run in Advanced, and read the score and every model call.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://benchgen-8fc81371.mintlify.site/docs/_mintlify/api/og/v2?division=Benchmarks\u0026amp;title=MRCRv2+with+an+External+API+model\u0026amp;description=Run+Google+DeepMind%27s+MRCR+v2+long-context+benchmark+on+a+model+behind+your+own+OpenAI-compatible+endpoint%2C+tune+the+run+in+Advanced%2C+and+read+the+score+and+eve\u0026amp;theme=9d7d43fe4c0665ef4885eb96\u0026amp;signature=46d8f53912f157dd0d153bb73aa2403af91df15fa1f694ccefc10924f0079b65\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/benchgen-8fc81371/FIM6BM2AvAQ00H3A/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"BenchGen Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F97316\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003clink data-mint-head rel=\"canonical\" href=\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/guides/benchmarks/mrcrv2-external-model.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://benchgen.com/#organization\",\"name\":\"BenchGen Documentation\",\"url\":\"https://benchgen.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/benchgen-8fc81371/2OCozHVviHUGu126/logo/light.svg?fit=max\u0026auto=format\u0026n=2OCozHVviHUGu126\u0026q=85\u0026s=c30524148fb8e976f6d0169b615c4c23\"}},{\"@type\":\"WebSite\",\"@id\":\"https://benchgen.com/docs#website\",\"name\":\"BenchGen Documentation\",\"url\":\"https://benchgen.com/docs\",\"publisher\":{\"@id\":\"https://benchgen.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model#webpage\",\"url\":\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model\",\"name\":\"MRCRv2 with an External API model\",\"description\":\"Run Google DeepMind's MRCR v2 long-context benchmark on a model behind your own OpenAI-compatible endpoint, tune the run in Advanced, and read the score and every model call.\",\"dateModified\":\"2026-10-23T10:23:34.000Z\",\"isPartOf\":{\"@id\":\"https://benchgen.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"BenchGen Documentation\",\"item\":\"https://benchgen.com/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MRCRv2 with an External API model\",\"item\":\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model#article\",\"headline\":\"MRCRv2 with an External API model\",\"name\":\"MRCRv2 with an External API model\",\"description\":\"Run Google DeepMind's MRCR v2 long-context benchmark on a model behind your own OpenAI-compatible endpoint, tune the run in Advanced, and read the score and every model call.\",\"url\":\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model\",\"mainEntityOfPage\":{\"@id\":\"https://benchgen.com/docs/guides/benchmarks/mrcrv2-external-model#webpage\"},\"dateModified\":\"2026-10-23T10:23:34.000Z\",\"publisher\":{\"@id\":\"https://benchgen.com/#organization\"},\"isPartOf\":{\"@id\":\"https://benchgen.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BenchGen Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"BenchGen Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/guides/benchmarks/mrcrv2-external-model.md","siteName":"BenchGen Documentation","nav":{"global":null,"tabs":[{"tab":"Platform","pages":[{"title":"Platform","href":""}]},{"tab":"Guides","groups":[{"group":"BenchGen AI Agent","icon":"robot","pages":[{"title":"BenchGen AI agent overview","sidebarTitle":"Overview","icon":"messages","href":"/guides/benchgen-ai-agent/overview"},{"title":"The autonomous loop","sidebarTitle":"Autonomous loop","icon":"bolt","href":"/guides/benchgen-ai-agent/autonomous-loop"},{"title":"Working with the BenchGen AI agent","icon":"robot","href":"/guides/benchgen-ai-agent/working-with-the-agent"},{"title":"Fix a benchmark that scores wrong","sidebarTitle":"Fixing a benchmark","icon":"wrench","href":"/guides/benchgen-ai-agent/fixing-a-benchmark"},{"title":"Keep your benchmarks in your own GitHub","sidebarTitle":"Benchmarks in git","description":"Version a benchmark in a repository you own, review changes as a diff before they go live, and put an earlier answer key back. All from chat.","icon":"code-branch","href":"/guides/benchgen-ai-agent/benchmarks-in-git"}]},{"group":"Benchmarks","pages":[{"title":"MRCRv2 with an External API model","icon":"plug","href":"/guides/benchmarks/mrcrv2-external-model"}]},{"group":"Router Models","icon":"route","pages":[{"title":"BenchGen Router Lite","description":"The full story of BenchGen Router Lite: a lightweight routing model that learns which language model should answer each query, instead of sending every query to the same one.","icon":"diagram-project","href":"/guides/router-head/benchgen-router-lite"}]}]},{"tab":"Agent skills","pages":[{"title":"Agent skills","href":"/skills/overview"}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"MRCRv2 with an External API model - BenchGen Documentation","buildId":"dpl_4UDxC3erAcBDHX8QT9FjyxxnLZSQ","deploymentId":"dpl_4UDxC3erAcBDHX8QT9FjyxxnLZSQ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-B97cnG_I.js","DynamicMarkdown-B7gJlzwx.js","zoom-image-lightbox-Dg9C7AQr.js","lightbox-handle-r17bVUz3.js"]}