How to write JSON prompts to get shockingly accurate outputs from any chatbot:
first…what is json prompt writing?
it's just putting your prompt inside a structured format.
like this:
{
"task": "summarize this article",
"audience": "college students",
"length": "100 words",
"tone": "curious"
}
not english.
not vibes.
just instructions, like a form
it's just putting your prompt inside a structured format.
like this:
{
"task": "summarize this article",
"audience": "college students",
"length": "100 words",
"tone": "curious"
}
not english.
not vibes.
just instructions, like a form
why does it work so well?
llms don’t "understand" language the way we do.
they follow patterns and structure.
and json is ultra-structured.
it leaves no ambiguity.
they don’t have to guess what you mean.
you’re telling them exactly what you want.
llms don’t "understand" language the way we do.
they follow patterns and structure.
and json is ultra-structured.
it leaves no ambiguity.
they don’t have to guess what you mean.
you’re telling them exactly what you want.
think of it like this:
regular prompt:
can you write a tweet about dopamine detox?
json-style:
{
"task": "write a tweet",
"topic": "dopamine detox",
"style": "viral",
"length": "under 280 characters"
}
see the difference?
clear. modular. machine-readable.
regular prompt:
can you write a tweet about dopamine detox?
json-style:
{
"task": "write a tweet",
"topic": "dopamine detox",
"style": "viral",
"length": "under 280 characters"
}
see the difference?
clear. modular. machine-readable.

want even sharper outputs?
you can nest the json.
{
"task": "write a thread",
"platform": "twitter",
"structure": {
"hook": "strong, short, curiosity-driven",
"body": "3 core insights with examples",
"cta": "ask a question to spark replies"
},
"topic": "founder productivity systems"
}
you just turned prompt spaghetti into clean code.
you can nest the json.
{
"task": "write a thread",
"platform": "twitter",
"structure": {
"hook": "strong, short, curiosity-driven",
"body": "3 core insights with examples",
"cta": "ask a question to spark replies"
},
"topic": "founder productivity systems"
}
you just turned prompt spaghetti into clean code.

so how do you write json prompts?
3 basic rules:
- use key-value pairs
- be explicit
- use nested objects for structure
example:
{
"task": "generate a list",
"topic": "books that improve thinking",
"audience": "young entrepreneurs",
"output_format": "markdown bullets"
}
3 basic rules:
- use key-value pairs
- be explicit
- use nested objects for structure
example:
{
"task": "generate a list",
"topic": "books that improve thinking",
"audience": "young entrepreneurs",
"output_format": "markdown bullets"
}
this works across all major models.
chatgpt? yes.
claude? thrives on it.
gemini? understands structure well.
mistral, gpt-4o, etc? all love structured input.
some even prefer it.
chatgpt? yes.
claude? thrives on it.
gemini? understands structure well.
mistral, gpt-4o, etc? all love structured input.
some even prefer it.
a quick comparison to prove it:
normal prompt:
recommend books that help me think clearer
json prompt:
{
"task": "recommend books",
"topic": "thinking clearly",
"audience": "entrepreneurs",
"output_format": "list of 5 with one-sentence summaries"
}
run both.
the second is crisper, clearer, and more relevant.
normal prompt:
recommend books that help me think clearer
json prompt:
{
"task": "recommend books",
"topic": "thinking clearly",
"audience": "entrepreneurs",
"output_format": "list of 5 with one-sentence summaries"
}
run both.
the second is crisper, clearer, and more relevant.

here's one you can try in Veo 3 right now:
simple prompt:
show me a product demo style video of a fitness app
simple prompt:
show me a product demo style video of a fitness app
VIDEO
json version:
{
"task": "generate a video",
"video_type": "product demo",
"theme": "fitness app",
"duration": "8 seconds",
"tone": "energetic and sleek",
"visual_style": "clean UI, fast transitions"
}
watch how much better the output and exact.
{
"task": "generate a video",
"video_type": "product demo",
"theme": "fitness app",
"duration": "8 seconds",
"tone": "energetic and sleek",
"visual_style": "clean UI, fast transitions"
}
watch how much better the output and exact.
VIDEO
examples:
VIDEO
VIDEO
why this works:
models like gpt are trained on code, docs, apis, and structured data.
json looks like the stuff they were fed.
so they treat it as higher-signal.
the less they have to guess, the better the result.
models like gpt are trained on code, docs, apis, and structured data.
json looks like the stuff they were fed.
so they treat it as higher-signal.
the less they have to guess, the better the result.
another example:
bad prompt:
write me a cold email that converts
better (json):
{
"task": "write cold email",
"audience": "SaaS founders",
"product": "ai sales automation tool",
"goal": "book a 15-minute call",
"tone": "friendly but confident"
}
gets straight to the point.
every word earns its place.
bad prompt:
write me a cold email that converts
better (json):
{
"task": "write cold email",
"audience": "SaaS founders",
"product": "ai sales automation tool",
"goal": "book a 15-minute call",
"tone": "friendly but confident"
}
gets straight to the point.
every word earns its place.
bonus: you can even write inside the json
like this:
{
"task": "improve writing",
"input": "Our team is proud to announce the next chapter of our journey.",
"goal": "make it more vivid and emotional",
"audience": "customers",
"tone": "authentic and inspiring"
}
clean. surgical. upgradeable.
like this:
{
"task": "improve writing",
"input": "Our team is proud to announce the next chapter of our journey.",
"goal": "make it more vivid and emotional",
"audience": "customers",
"tone": "authentic and inspiring"
}
clean. surgical. upgradeable.
want to write content that always hits?
use this json skeleton:
{
"task": "write content",
"platform": "twitter",
"structure": {
"hook": "short, punchy, curiosity-driven",
"point": "3-5 insights, each 2-3 sentences",
"action": "one question to spark replies"
},
"topic": "your topic here",
"tone": "casual and smart"
}
it works for almost anything.
use this json skeleton:
{
"task": "write content",
"platform": "twitter",
"structure": {
"hook": "short, punchy, curiosity-driven",
"point": "3-5 insights, each 2-3 sentences",
"action": "one question to spark replies"
},
"topic": "your topic here",
"tone": "casual and smart"
}
it works for almost anything.
here are 5 high-leverage use cases people use AI for daily — with json templates:
you can copy/paste these and just swap out the input.
plug-and-play style.
you can copy/paste these and just swap out the input.
plug-and-play style.
1. generate videos with voice (e.g. Veo 3)
{
"task": "generate video",
"platform": "Veo",
"video_type": "explainer",
"topic": "how to start a dropshipping store",
"duration": "60 seconds",
"voiceover": {
"style": "calm and confident",
"accent": "US English"
},
"visual_style": "modern, clean, fast cuts"
}
{
"task": "generate video",
"platform": "Veo",
"video_type": "explainer",
"topic": "how to start a dropshipping store",
"duration": "60 seconds",
"voiceover": {
"style": "calm and confident",
"accent": "US English"
},
"visual_style": "modern, clean, fast cuts"
}
2. generate content (for social, blogs, emails, etc)
{
"task": "write content",
"platform": "twitter",
"structure": {
"hook": "short, curiosity-driven",
"body": "3 insights with smooth flow",
"action": "1 strong question"
},
"topic": "how to stay focused as a solo founder",
"tone": "relatable and smart"
}
{
"task": "write content",
"platform": "twitter",
"structure": {
"hook": "short, curiosity-driven",
"body": "3 insights with smooth flow",
"action": "1 strong question"
},
"topic": "how to stay focused as a solo founder",
"tone": "relatable and smart"
}
3. write or debug code
{
"task": "write code",
"language": "python",
"goal": "build a script that renames all files in a folder",
"constraints": ["must work on MacOS", "include comments"],
"output_format": "code only, no explanation"
}
{
"task": "write code",
"language": "python",
"goal": "build a script that renames all files in a folder",
"constraints": ["must work on MacOS", "include comments"],
"output_format": "code only, no explanation"
}
Generated by Thread Navigator
Press ⌘ + S to quick-export
