Free AI prompt tool · For ChatGPT, Gemini, Claude and image or video AI
Prompt to JSON Converter: Turn an Idea into a Structured Prompt
Type a simple idea, or pick one of 13 examples, and get a clean JSON prompt with the right fields for images, videos, blog posts, ads, emails, logos, apps, code and more. Edit it with live validation, then copy it as JSON or as a plain text prompt.
- Type or pick an idea
- Check and edit the JSON
- Copy it into your AI tool
Your idea
Say what you want the AI to make. Add the details you already know: brand name, colours, length, audience.
Privacy: your idea goes to our server and then to Google Gemini or OpenRouter. Identical requests are reused for 1 hour.
Your JSON prompt
Converting usually takes 5 to 20 seconds.
Changes are checked as you type. Only valid JSON is copied.
The same fields as plain text. Chat assistants understand both; many image and video tools work better with text.
Checks
What this converter does, and what it doesn't
So you know when a JSON prompt helps, and when plain words are enough.
✓What it does
- Organises your idea into fields that suit the task: subject and lighting for images, scenes and duration for videos, inputs and tests for code.
- Adds what's often forgotten: an "avoid" list, the output format and a one-line final_prompt.
- Leaves [placeholders] instead of inventing brand names, prices or facts you didn't give.
- Checks the JSON as you edit it, and converts it to a plain text prompt if your tool prefers text.
- Gives 13 examples across 13 prompt types, and writes values in 18 languages.
✕What it doesn't do
- Guarantee better results. JSON helps you think through the details; a clear sentence with the same details often works just as well.
- Follow any official format. Most AI tools read JSON prompts as plain text. There's no special JSON mode you are unlocking.
- Run the prompt. Copy it into ChatGPT, Gemini, Claude, or your image or video tool.
- Know your brand. Fill the [placeholders] with your real details.
- Store your ideas on our server beyond a 1-hour cache for identical requests. Recent prompts stay in your browser.
JSON prompt examples by type
Each prompt type gets its own fields. Open an example to see the structure, then try your own idea above.
Image prompt
Idea: A cosy roadside tea stall in Mumbai at dawn, watercolour style, steam rising from the cups
{
"type": "image",
"goal": "A warm, painterly scene of a Mumbai tea stall waking up at dawn",
"subject": "A small roadside tea stall with a kettle on a stove, glass cups and a few early customers",
"style": "Loose watercolour with soft edges and visible paper texture",
"composition": "Eye-level, the stall slightly off-centre, empty street fading into mist behind",
"lighting": "Low golden sunrise light from the left, steam catching the light",
"color_palette": [
"warm amber",
"soft teal",
"muted brick red"
],
"mood": "calm, nostalgic",
"aspect_ratio": "3:2",
"avoid": [
"text or signs with words",
"harsh outlines",
"modern cars"
],
"output_format": "One illustration",
"final_prompt": "A loose watercolour of a Mumbai roadside tea stall at dawn, golden light and rising steam, calm and nostalgic, 3:2, no text."
}Video prompt
Idea: A 15-second Instagram reel promoting a free online PDF compressor, upbeat, ends with allinonetools.net
{
"type": "video",
"goal": "Show how quickly a PDF can be made smaller with a free online tool",
"duration_seconds": 15,
"aspect_ratio": "9:16",
"style": "Clean screen recording with bold captions",
"scenes": [
{
"shot": 1,
"duration": 3,
"action": "Email shows \"Attachment too large\" error",
"camera_movement": "quick zoom in"
},
{
"shot": 2,
"duration": 7,
"action": "PDF is dropped into the compressor and the smaller file size appears",
"camera_movement": "static screen capture"
},
{
"shot": 3,
"duration": 5,
"action": "End card with the website name allinonetools.net",
"camera_movement": "gentle push in"
}
],
"music": "Upbeat, royalty-free",
"voiceover": "None; captions only",
"avoid": [
"claims about exact compression percentages",
"small unreadable text"
],
"output_format": "Shot list and on-screen captions",
"final_prompt": "A 15-second vertical reel: an email attachment is too large, a PDF is compressed online, ending on allinonetools.net, upbeat music, bold captions."
}Blog post prompt
Idea: A beginner-friendly blog post about starting a monthly SIP in mutual funds in India, about 1,200 words
{
"type": "article",
"goal": "Help a beginner understand and start a monthly SIP",
"topic": "How to start a SIP in mutual funds in India",
"audience": "First-time investors in their 20s",
"tone": "Friendly and plain, no jargon without explanation",
"word_count": 1200,
"structure": [
"What a SIP is",
"How to choose a fund",
"Documents and KYC",
"Starting your first SIP step by step",
"Common mistakes",
"FAQ"
],
"keywords": [
"SIP for beginners",
"how to start SIP"
],
"call_to_action": "Use a SIP calculator before choosing an amount",
"avoid": [
"promising returns",
"naming specific funds as the best",
"invented statistics"
],
"output_format": "Markdown with H2 headings",
"final_prompt": "Write a friendly 1,200-word beginner guide to starting a monthly SIP in India, with H2 sections, a FAQ and no promised returns."
}Code prompt
Idea: A Python script that renames every photo in a folder by the date it was taken
{
"type": "code",
"goal": "Rename photos by their capture date",
"language": "Python 3",
"task": "Read each image in a folder and rename it to YYYY-MM-DD_HH-MM-SS based on the EXIF date taken",
"inputs": "A folder path passed on the command line",
"outputs": "Renamed files and a short summary printed at the end",
"requirements": [
"Use Pillow to read EXIF data",
"Fall back to the file modified time if there is no EXIF date",
"Add _1, _2 when two photos share a time"
],
"constraints": [
"Do not overwrite files",
"Support .jpg, .jpeg and .png"
],
"edge_cases": [
"Folder does not exist",
"Corrupt image files"
],
"tests": [
"Two photos with the same timestamp",
"A photo without EXIF data"
],
"avoid": [
"deleting any files"
],
"output_format": "One Python file with comments and a usage example",
"final_prompt": "Write a safe Python 3 script that renames photos in a folder by their EXIF date taken, with fallbacks and no overwriting."
}Email prompt
Idea: An email telling customers our website will be down for maintenance on Sunday night for about 2 hours
{
"type": "email",
"goal": "Tell customers about planned downtime in advance",
"recipient": "Existing customers",
"tone": "Clear and reassuring",
"key_points": [
"Website down on Sunday night for about 2 hours",
"Exact time: [start and end time]",
"Orders placed before then are not affected",
"Support contact: [support email]"
],
"subject_ideas": [
"Planned maintenance this Sunday night",
"Our website will be offline for 2 hours on Sunday"
],
"length": "Under 120 words",
"avoid": [
"technical jargon",
"alarming language"
],
"output_format": "Subject line and email body",
"final_prompt": "Write a short, reassuring email telling customers the website will be down for about 2 hours on Sunday night, with placeholders for the exact time and support email."
}Data extraction prompt
Idea: Pull the name, phone number, email and city out of customer WhatsApp messages into a table
{
"type": "data_task",
"goal": "Turn messy customer messages into a clean table",
"input_description": "Copied WhatsApp messages, one or more per customer",
"fields_to_extract": [
"name",
"phone",
"email",
"city"
],
"output_schema": {
"name": "string",
"phone": "string, digits only with country code",
"email": "string or empty",
"city": "string or empty"
},
"rules": [
"Leave a field empty if it is not in the message",
"Do not guess missing values",
"One row per customer"
],
"avoid": [
"inventing data",
"merging different customers"
],
"output_format": "CSV with a header row",
"final_prompt": "Extract name, phone, email and city from these WhatsApp messages into a CSV, one row per customer, leaving unknown fields empty."
}What the checks mean
Each one tells you something to fix before you use the prompt.
Valid JSON
The text follows JSON rules: double quotes, no trailing commas, matching brackets. When you edit, the check shows the exact problem if something breaks.
Valid JSON, 12 fields
[Placeholders]
Details the AI didn't know, like your brand colours or price. Replace them with real values, or delete the field.
2 to fill: [your brand colours], [price]
final_prompt
A one- or two-sentence summary of the whole request. Handy for tools with a short prompt box, like many image generators.
Has a final_prompt
Avoid list
Things you don't want, such as text in the image or a robotic voice. Image tools often call this a negative prompt.
4 things to avoid
Empty fields
Fields with no value add noise. Fill them in or remove them.
2 empty fields
Cut off
If the AI stopped mid-answer, the tool closes the brackets so the JSON still works, but some fields may be missing.
The answer was cut off
Before and after
A one-line idea, and what the converter adds to it.
Before
“make a logo for my bakery”
- No name, style or colours
- Nothing about where the logo is used
- The AI has to guess everything
After
{ "type": "logo", "brand_name": "[your bakery name]", "style": "playful, hand-drawn", "color_palette": ["[your colours]"], "usage": ["shop sign", "boxes", "Instagram"], "avoid": ["clip art", "more than 3 colours"], … }
- Shows which details matter for a logo
- [Placeholders] remind you what to add
- Says what to avoid
How to use a JSON prompt
Write your idea
One or two sentences, with any details you already know. Or press an example to start.
Choose the type
Leave it on Detect automatically, or pick Image, Video, Code and so on to get the right fields.
Convert and read the checks
Press Convert to JSON. Look for [placeholders] and empty fields.
Edit the fields
In the Edit tab, fill placeholders and change anything. The tool tells you straight away if the JSON breaks.
Copy the right version
Copy JSON for chat assistants and code, text for tools that prefer plain words, or just the final_prompt for short prompt boxes.
Paste it into your AI tool
Add a line like "Follow this JSON brief" before it in a chat, then compare the result with your idea.
Frequently asked questions
What is a JSON prompt?
It is a prompt written as JSON: named fields such as "subject", "style", "audience" and "avoid" instead of one long sentence. It makes you think through each detail and makes the prompt easy to reuse and edit.
Do JSON prompts give better results than normal prompts?
Not automatically. AI chat tools read JSON as text, just like a normal prompt. The benefit is that the JSON reminds you to include details like style, length and things to avoid. A clear normal prompt with the same details usually works just as well.
Which AI tools can I use the JSON prompt with?
Chat assistants such as ChatGPT, Gemini and Claude handle JSON prompts well. Many image and video tools prefer plain text, so use "Copy as text" or just the final_prompt there. Developers can also send the JSON inside an API request.
Why are there [placeholders] in my JSON?
The AI is told not to invent brand names, prices, links or facts. Where an important detail is missing, it writes a placeholder like "[your brand colours]". Replace it with the real detail or remove the field.
Can I edit the JSON?
Yes. Open the Edit tab and change anything. The tool checks the JSON as you type and tells you what is wrong if it breaks. The JSON view, the text version and the copy buttons update with your edits.
What is final_prompt?
A one- or two-sentence summary of the whole request at the end of the JSON. It is handy for tools with a short prompt box, and as a quick check that the JSON says what you meant.
Is my idea stored, and how often can I use it?
With the free shared AI, your idea goes to our server and then to Google Gemini or OpenRouter; identical requests are reused for one hour and nothing is saved to an account. The shared AI allows 20 runs an hour per visitor. With your own free key, there is no limit from us and your idea goes straight from your browser to the AI provider. Recent prompts are kept in your browser only.
What to do next
Tools that pair well with AI prompts and plain text.