Body Builder

Generate parallel request bodies from plain-language instructions

The therouter/bodybuilder router converts natural language prompts into ready-to-send TheRouter.ai request payloads, useful for benchmarking and multi-model comparisons.

TypeScript
const response = await fetch('https://api.therouter.ai/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer <THEROUTER_API_KEY>',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'therouter/bodybuilder',
    messages: [
      {
        role: 'user',
        content: 'Count to 10 using Claude Sonnet and GPT-5.',
      },
    ],
  }),
});

const data = await response.json();
const generated = JSON.parse(data.choices[0].message.content);

Expected response payload

json
{
  "requests": [
    {
      "model": "anthropic/claude-sonnet-4.5",
      "messages": [{ "role": "user", "content": "Count to 10" }]
    },
    {
      "model": "openai/gpt-5.1",
      "messages": [{ "role": "user", "content": "Count to 10" }]
    }
  ]
}

Executing generated requests in parallel

typescript
const { requests } = generated;

const outputs = await Promise.all(
  requests.map((requestBody: Record<string, unknown>) =>
    fetch('https://api.therouter.ai/v1/chat/completions', {
      method: 'POST',
      headers: {
        Authorization: 'Bearer <THEROUTER_API_KEY>',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(requestBody),
    }).then((r) => r.json())
  )
);
Cost model
Body Builder generation itself is free. You only pay for the follow-up model requests you execute.