Name opendunes/bodybuilder as the model, describe a request in plain words, and get request bodies back.
Body Builder writes API requests for you. Send opendunes/bodybuilder as the model and describe, in plain words, what you want to run and on which models; it answers with ready-to-send request bodies — to run the same task across several models side by side.
curl https://opendunes.com/v1/chat/completions \
-H "Authorization: Bearer $OPENDUNES_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "opendunes/bodybuilder",
"messages": [{ "role": "user", "content": "Ask Claude Sonnet and GPT to translate \"Marhba bikoum\" into French." }]
}'The answer's content is a JSON object holding an array of request bodies:
{
"requests": [
{
"model": "anthropic/claude-sonnet-5",
"messages": [{ "role": "user", "content": "Translate \"Marhba bikoum\" into French." }]
},
{
"model": "openai/gpt-5.6-luna",
"messages": [{ "role": "user", "content": "Translate \"Marhba bikoum\" into French." }]
}
]
}Send each body to POST /v1/chat/completions yourself, in parallel. Model names in plain words — "Claude Sonnet", "GPT" — resolve to a current model; check the names it wrote against the catalogue before you run them.
| Use | Example |
|---|---|
| Comparing models | the same prompt on three labs |
| Redundancy | the same request to several providers for a critical answer |
| Prompt testing | one prompt, several models, to find the best fit |
Writing the bodies is billed in DA on the request's own bill, as its usage.cost shows; each body you then run is billed at its model's price.