JSON PROMPT
GENERATOR.
Turn an idea into a structured JSON prompt for AI video (Veo, Sora, Runway, Kling), image models, or ChatGPT and Claude. Pick a template, edit the fields, copy clean JSON. Free, no signup, runs in your browser.
Edit the template and click “Generate JSON”
We ran a controlled A/B: same model, same prompt, only the seed image changed. The seed flipped the result. Seed the state you animate from, not the finished product, with one subject on a real background.
Video, image, or a text model like ChatGPT or Claude. Video and image start from a template, so every field shows what a strong value looks like.
Swap the template values for your own. Leave a field empty rather than filling it for the sake of it; empty fields are dropped from the JSON, and contradictory directions waste generations.
Paste the JSON straight into Veo, Flow, Sora, Runway, Kling, an image model, or a chat window. Keep the file: changing one key and regenerating is how you test a single variable.
FAQ.
What is a JSON prompt for AI video?
A shot description written as key-value pairs instead of a paragraph: subject, action, environment, camera, lighting, audio, timed beats and an avoid list, each in its own field. You paste it into Veo, Flow, Sora, Runway or Kling exactly as you would a prose prompt. The structure is for you as much as the model: it makes a missing decision visible before you spend a generation on it.
Do Veo, Sora or Runway officially support JSON prompts?
None of them publish a JSON prompt schema. The model reads the braces and keys as text, the same as any other prompt. JSON still earns its place for two reasons: every key is a reminder to decide something you would otherwise leave to chance, and across a batch of clips, keeping the same keys and changing one value is the cleanest way to see what that value actually does.
What should a JSON video prompt include?
Subject and action first, because they carry the meaning. Then environment, camera (angle, movement, lens), lighting and color palette, and audio if the model generates sound, as Veo 3 does. Add timed beats only when the clip has more than one movement, and an avoid list for things the model keeps inventing. If you are animating a still, describe the starting frame, and fix the seed image before you touch the prompt: in our own A/B test, changing only the seed image, with the prompt held identical, flipped the result.
Does JSON prompting actually work better than a normal prompt?
For text models, and for extraction, production workflows and anything you need to be repeatable, usually yes. Key-value structure removes the ambiguity that prose carries, and these models were trained on a great deal of structured data — schemas, configs, APIs — so the shape itself is familiar to them. The gain is mostly consistency across runs rather than a smarter answer on any single run.
When should you not use JSON prompting?
Exploratory and creative work. Structure narrows the space of possible outputs, which is exactly what you want for data extraction and exactly what you do not want when you are asking the model to surprise you. If you are brainstorming, write prose and let it wander.
Is this the same as structured outputs or JSON mode?
No, and the distinction matters. This tool formats the prompt you send. Structured outputs, offered through the model APIs, enforce a schema at generation time so the response is guaranteed to parse. They solve different halves of the problem and work well together: use a structured prompt to say what you want, and structured outputs to guarantee the shape of what comes back.
Does it work with ChatGPT, Claude and Gemini?
Yes. Switch to Text (LLM) mode; the output is plain text you can paste into any of them, or into a system message via an API. In our own use Claude handles deeply nested structures and long constraint lists particularly well, but nothing here is model-specific.
Should I choose JSON, Markdown, XML or plain text?
JSON when something downstream will parse the response. XML when the prompt itself is long and needs clearly separated sections, which models follow well. Markdown when a human will read the output. Plain text when the task is simple enough that structure adds nothing — over-formatting a trivial request just spends tokens.
Is this tool free, and is anything stored?
Free, no signup, and nothing is stored or sent anywhere. The prompt is assembled in your browser from the fields you fill in.
