How to create a test with AI
There is no AI on this site. You use the AI you already have: copy the prompt below, ask your AI chat for the test, and paste the JSON back here.
- Copy the prompt
- Ask any AI to create your test
- Copy the JSON it gives back
- Import it here Import JSON
The prompt
Paste this into any AI chat and add your topic at the end.
Create a test as JSON and output ONLY the JSON, with no explanation and no code fences.
Rules:
- Top level: "title" (required), "description" (optional), "tags" (optional), "questions" (a list, in order).
- "tags": up to 2 short topic tags - not required, but please include them.
Each tag is at most 3 words, lowercase, e.g. "geography", "world war 2".
Prefer a common, widely shared word over a precise unique phrase: a tag is a shelf
other tests land on, so "biology" is more useful than "cell membrane transport".
- Each question has "question", "answer_type" and "correct_answers".
- "question" is an object with "text" and/or "image_url".
- "answer_type" is one of: "choice" (pick from options), "text" (type the answer), "boolean" (true / false).
- Every answer is an object with "text" and/or "image_url".
- For "choice": also give "wrong_answers" - at least 3 of them, plausible but clearly wrong.
Add "multiple": true when more than one answer is correct, and then list every correct one.
- For "text": put every spelling you would accept into "correct_answers".
- For "boolean": "correct_answers" is exactly [{"text": "true"}] or [{"text": "false"}].
- "explanation" (optional): one or two sentences on why the answer is correct.
- "source" (optional): {"title": "...", "url": "..."} where the fact comes from.
- Never invent IDs, user fields or timestamps. Do not add any other fields.
- At most 300 questions. Each "choice" question needs at least 2 options in total.
Here is the exact shape to follow:
{
"title": "European Capitals",
"description": "Test your knowledge of European capitals",
"tags": [
"geography",
"europe"
],
"questions": [
{
"question": {
"text": "What is the capital of France?"
},
"answer_type": "choice",
"correct_answers": [
{
"text": "Paris"
}
],
"wrong_answers": [
{
"text": "Berlin"
},
{
"text": "Rome"
},
{
"text": "Madrid"
}
],
"explanation": "Paris has been the capital of France since 987.",
"source": null
},
{
"question": {
"text": "Which of these are official languages of Switzerland?"
},
"answer_type": "choice",
"multiple": true,
"correct_answers": [
{
"text": "German"
},
{
"text": "French"
},
{
"text": "Italian"
},
{
"text": "Romansh"
}
],
"wrong_answers": [
{
"text": "Dutch"
},
{
"text": "Polish"
}
],
"explanation": null,
"source": null
},
{
"question": {
"text": "What does HTML stand for?"
},
"answer_type": "text",
"correct_answers": [
{
"text": "HyperText Markup Language"
},
{
"text": "Hyper Text Markup Language"
}
],
"explanation": null,
"source": null
},
{
"question": {
"text": "The Earth is the third planet from the Sun."
},
"answer_type": "boolean",
"correct_answers": [
{
"text": "true"
}
],
"explanation": null,
"source": {
"title": "NASA Solar System",
"url": "https://solarsystem.nasa.gov/"
}
}
]
}
Now create a test about:
What the JSON looks like
{
"title": "European Capitals",
"description": "Test your knowledge of European capitals",
"tags": [
"geography",
"europe"
],
"questions": [
{
"question": {
"text": "What is the capital of France?"
},
"answer_type": "choice",
"correct_answers": [
{
"text": "Paris"
}
],
"wrong_answers": [
{
"text": "Berlin"
},
{
"text": "Rome"
},
{
"text": "Madrid"
}
],
"explanation": "Paris has been the capital of France since 987.",
"source": null
},
{
"question": {
"text": "Which of these are official languages of Switzerland?"
},
"answer_type": "choice",
"multiple": true,
"correct_answers": [
{
"text": "German"
},
{
"text": "French"
},
{
"text": "Italian"
},
{
"text": "Romansh"
}
],
"wrong_answers": [
{
"text": "Dutch"
},
{
"text": "Polish"
}
],
"explanation": null,
"source": null
},
{
"question": {
"text": "What does HTML stand for?"
},
"answer_type": "text",
"correct_answers": [
{
"text": "HyperText Markup Language"
},
{
"text": "Hyper Text Markup Language"
}
],
"explanation": null,
"source": null
},
{
"question": {
"text": "The Earth is the third planet from the Sun."
},
"answer_type": "boolean",
"correct_answers": [
{
"text": "true"
}
],
"explanation": null,
"source": {
"title": "NASA Solar System",
"url": "https://solarsystem.nasa.gov/"
}
}
]
}
What each field means
| Field | Meaning |
|---|---|
title |
Test name. Required. |
description |
Short description of the test. Optional. |
tags |
Up to two short topic tags. Optional, but they help people find the test. |
questions |
The list of questions, in order. |
question |
The question itself: "text" and/or "image_url". |
answer_type |
How people answer: "choice" (pick from options), "text" (type it), "boolean" (true / false). |
correct_answers |
One or more correct answers. Each has "text" and/or "image_url". |
wrong_answers |
Wrong options, used only by "choice". Give at least three. |
explanation |
Why the answer is correct. Optional. |
source |
Where the fact comes from: "title" and "url". Optional. |
typein |
Single choice only: can the answer be typed instead of picked? false means no; {"hint": "surname", "accept": ["other spelling"]} means yes: the answer is one or two words or a short number. Optional. |