Skip to main content
POST
Chat with one model
Direct Chat with one model. Set model to a modelName or modelId from List models, or auto to get a random Groq or Google AI Studio model. Want text as it’s generated? Use Stream a chat reply.

Authorizations

Authorization
string
header
required

The access token from your DualMind Arena session (a Supabase JWT). See Authentication.

Body

application/json
prompt
string
required

The user prompt. Must not be empty.

Example:

"Explain TCP vs UDP with a pizza analogy"

model
string
default:auto

Model to use: a modelName (or modelId) from GET /api/models, or auto to let the Arena pick a random model.

Example:

"auto"

system
string

Optional system prompt.

maxTokens
integer
default:4096

Maximum tokens to generate.

Required range: x >= 1
temperature
number
default:0.7

Sampling temperature.

Required range: 0 <= x <= 2
threadId
string<uuid>

Save the prompt and reply to this thread. You must own the thread.

Response

The model's reply.

object
string
Allowed value: "ai.response"
success
boolean
message
string

The model's reply as plain text (Markdown).

output
object

The same reply in a structured content envelope.

model
object
prompt
string
selectionMode
enum<string>

automatic/manual for single chat; random/topper/manual for battles.

Available options:
automatic,
manual,
random,
topper
responseTimeMs
integer

Wall-clock time of the request in milliseconds. In a battle both models run in parallel, so this is the time until both finished.

usage
object
timestamp
string<date-time>
Last modified on October 18, 2026