One call. Up to 4 AIs.
Send one question and get answers from GPT, Claude, Gemini, Grok, DeepSeek and more – side by side, in a single JSON response. Add "mode": "consensus" and one model chairs the panel: a merged verdict, an agreement score and every disagreement.
https://polymynd.xyzAuthentication
Send your API key as a bearer token. Keys start with qr_live_, belong to your wallet and draw from its credit balance. Keep them secret – never put them in frontend code.
Authorization: Bearer qr_live_...
Credits & pricing
Every successful answer costs credits – 1 per standard answer, 5 per premium answer. If a model fails, you are not charged for it. Credits never expire and are shared with the chat, where they kick in after your daily tier limit.
| Model | ID | Credits / answer | Images | Status |
|---|---|---|---|---|
GPT-6 Astra |
gpt |
5 | Live | |
Claude Opus 5 |
claude |
5 | Live | |
Gemini 3.1 Pro |
gemini |
5 | Live | |
Grok 4.6 |
grok |
5 | Live | |
DeepSeek V4 Pro |
deepseek |
1 | – | Live |
Mistral Medium 3.5 |
mistral |
1 | Live | |
Cohere Command A+ |
cohere |
1 | Live | |
Llama 4 Maverick |
llama |
1 | Live | |
qwen |
1 | – | Live | |
kimi |
1 | Live | ||
glm |
1 | – | Live | |
sonar |
1 | – | Soon | |
nova |
1 | – | Soon | |
minimax |
1 | – | Soon | |
nemotron |
1 | – | Soon | |
mimo |
1 | – | Soon |
POST /v1/ask
Ask up to 4 models at once. Models are queried in parallel; the response arrives when all of them have answered.
Request body
question | string · required | Your question, up to 8,000 characters. |
models | string[] · required | 1–4 model IDs, e.g. ["claude", "gpt", "deepseek"]. |
mode | string · optional | "consensus" – also returns one merged answer, an agreement score and the points where models disagree (+1 credit). See Consensus mode. |
web | boolean · optional | true – search the web first and give every model the same sources (+1 credit, only charged when sources are found). The response then includes sources; answers cite them as [1], [2]. Links in the question are always opened and read. |
attachments | object[] · optional | Up to 4 files: {"name": "chart.png", "type": "image/png", "data": "<base64>"}. Images (PNG, JPEG, WebP, GIF – max 5 MB) go to vision models, PDFs (max 10 MB) and text files are converted to text for every model. |
history | object · optional | Previous turns per model: {"claude": [{"role": "user", "content": "…"}, {"role": "assistant", "content": "…"}]} |
{
"question": "Is ETH more likely to flip BTC in market cap by 2030?",
"models": ["deepseek", "mistral", "kimi"],
"mode": "consensus"
}
{
"id": "q_3f9a1c2b7d4e8f01",
"created": 1790000000,
"results": {
"deepseek": { "ok": true, "text": "Unlikely…" },
"mistral": { "ok": true, "text": "Low probability…" },
"kimi": { "ok": false, "error": "…" }
},
"consensus": {
"agreement": 78, "verdict": "reached",
"consensus": "Most likely not by 2030…",
"agreed": ["…"],
"disagreements": [{ "topic": "…", "positions": [{ "models": ["Kimi K3"], "view": "…" }] }],
"judge": "Grok 4.6"
},
"usage": { "credits_charged": 3, "credits_remaining": 497 }
}
GET /v1/models
Lists all models with their IDs, price in credits, whether they read images and whether they are live. No authentication needed.
GET /v1/credits
Returns the credit balance of the wallet that owns the API key: {"credits": 498}
Consensus mode
With "mode": "consensus", one model chairs the panel after the answers arrive. It doesn’t average them – it merges what they agree on and names each side of every split, with the models on it.
Models that can’t see an attached image are left out of the verdict, so “I can’t see the chart” never counts as a vote. For agents: branch on consensus.agreement – proceed above 70, escalate to a human below 40.
Errors & limits
Errors return JSON: {"error": {"type": "…", "message": "…"}}
| Status | Type | Meaning |
|---|---|---|
400 | invalid_request_error | Missing question, too many models or no available model. |
401 | authentication_error | Missing, invalid or revoked API key. |
402 | insufficient_credits | Not enough credits – burn tokens in your dashboard. |
429 | rate_limit_error | More than 60 requests per minute on one key. |
Code examples
curl https://polymynd.xyz/v1/ask \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"question": "Fact-check: the Bitcoin halving happens every 4 years.", "models": ["deepseek", "mistral", "kimi"], "mode": "consensus"}'
import os, requests
r = requests.post(
"https://polymynd.xyz/v1/ask",
headers={"Authorization": f"Bearer {os.environ['API_KEY']}"},
json={"question": "Review these tokenomics for red flags: ...", "models": ["deepseek", "qwen", "glm"], "mode": "consensus"},
timeout=180,
)
r.raise_for_status()
data = r.json()
print(data["consensus"]["agreement"], data["consensus"]["verdict"])
for model, answer in data["results"].items():
print(f"--- {model}\n{answer.get('text') or answer.get('error')}")
const res = await fetch("https://polymynd.xyz/v1/ask", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ question: "BTC long 64k, SL 61.5k, TP 72k – what am I missing?", models: ["deepseek", "mistral"] }),
});
const { results, usage } = await res.json();
console.log(results, usage.credits_remaining);
GPT-6 Astra
Claude Opus 5
Gemini 3.1 Pro
Grok 4.6
DeepSeek V4 Pro
Mistral Medium 3.5
Cohere Command A+
Llama 4 Maverick