What is a JSON prompt for AI video?
Short answer
The vendor prompt guides we read, from Google, Kling, Runway and Higgsfield, document video prompts as text, and none says its model parses JSON. Only LTX Studio documents JSON, for its own product. A JSON prompt still helps because its fields make you state subject, action, camera, light, audio and dialogue separately, and because you can reuse and script it. We ran no generation tests, so we cannot say whether JSON beats labelled text.
A JSON prompt is a video prompt written as a JSON object: named fields such as subject, action, camera, light, audio and dialogue, each holding a short piece of text. Creators share these on YouTube and Reddit, often with the claim that the model "reads" JSON better than a paragraph. This page checks that claim against what the vendors publish, and keeps what is useful about the idea.
We are fair to JSON here. It is a perfectly good way to organise a prompt. What we could not find is a vendor document saying the video model treats it as anything other than text. We also ran no generations for this article, so we cannot tell you that JSON beats labelled plain text, or the reverse. Nobody can promise views either, and nothing below does.
Do Veo, Seedance, Kling and Sora read JSON?
We read each vendor's own prompt guide on October 22, 2026 and looked for JSON. The short version: they document text. Some organise it with labels, shots or fields written in plain language, and none says a parser reads braces and keys.
Google, Veo 3.1 prompting guide (Oct 2025)
- JSON as a prompt format?
- Not mentioned
- What it documents instead
- A prose formula of cinematography, subject, action, context and style; dialogue in quotation marks; SFX and ambient noise labels; bracketed timestamp lines
Google Cloud video prompt guide and best practices
- JSON as a prompt format?
- Not mentioned
- What it documents instead
- Subject, action, scene, camera, lens, style, timing, audio; you do not need every element; avoid quotation marks around speech so it is not rendered as text
OpenAI, Sora 2 prompting guide
- JSON as a prompt format?
- Only as the API request, where the prompt is a string
- What it documents instead
- Prose plus labelled blocks for cinematography, actions and dialogue; one camera setup, one subject action and one lighting recipe at a time
Kling, prompt guide (Aug 2026)
- JSON as a prompt format?
- Not mentioned
- What it documents instead
- Plain, readable scene direction: subject, action, scene, camera, lighting, mood
Runway, Seedance 2.0 guide (Sep 2026)
- JSON as a prompt format?
- Not mentioned in the text we read
- What it documents instead
- Labelled shots in order, one camera movement per shot, closing constraints
Higgsfield, Seedance 2.5 guide (Aug 13, 2026)
- JSON as a prompt format?
- Not mentioned
- What it documents instead
- One continuous block of text broken into labelled sections such as style, scene, characters, camera, lighting and audio
LTX Studio (Mar 2026)
- JSON as a prompt format?
- Yes, for LTX Studio only
- What it documents instead
- Scene, subject, camera and duration objects, which it says its system can parse
| Guide | JSON as a prompt format? | What it documents instead |
|---|---|---|
| Google, Veo 3.1 prompting guide (Oct 2025) | Not mentioned | A prose formula of cinematography, subject, action, context and style; dialogue in quotation marks; SFX and ambient noise labels; bracketed timestamp lines |
| Google Cloud video prompt guide and best practices | Not mentioned | Subject, action, scene, camera, lens, style, timing, audio; you do not need every element; avoid quotation marks around speech so it is not rendered as text |
| OpenAI, Sora 2 prompting guide | Only as the API request, where the prompt is a string | Prose plus labelled blocks for cinematography, actions and dialogue; one camera setup, one subject action and one lighting recipe at a time |
| Kling, prompt guide (Aug 2026) | Not mentioned | Plain, readable scene direction: subject, action, scene, camera, lighting, mood |
| Runway, Seedance 2.0 guide (Sep 2026) | Not mentioned in the text we read | Labelled shots in order, one camera movement per shot, closing constraints |
| Higgsfield, Seedance 2.5 guide (Aug 13, 2026) | Not mentioned | One continuous block of text broken into labelled sections such as style, scene, characters, camera, lighting and audio |
| LTX Studio (Mar 2026) | Yes, for LTX Studio only | Scene, subject, camera and duration objects, which it says its system can parse |
Our reading, not a vendor statement: no guide we could read tells users to write prompts as JSON, apart from LTX for its own product. Nobody publishes whether JSON syntax reaches a dedicated parser or is simply read as text, so we cannot say a model "reads JSON as code" or that it "ignores" it. We did not find ByteDance's own Seedance documentation, so the Seedance rows rest on two distributors.
A claim you will see is that JSON "reduces randomness by about 70%". We found it on a forum guide and on an agency page, each with no method and no source, so we do not repeat it. Another is a user saying a Google engineer told a talk audience that JSON prompts were the way to go. We could not verify that, and Google's published guides do not say it.
Why does structure help?
What the guides agree on is that a prompt is better when its parts are separated and specific. Google's prompt anatomy lists subject, action, scene, camera angles and movements, style and audio. Higgsfield warns that skipping a section makes a clip "fail in a specific, predictable way", and calls a vague location "the most common reason" a multi-shot sequence drifts between cuts. A JSON object forces you to fill each slot or consciously leave it null.
- It exposes gaps. An empty
lightfield is easier to spot than a missing sentence in a paragraph. - It limits each shot. One
camera_movefield nudges you toward one move, which Runway and OpenAI both advise. - It separates dialogue from description. OpenAI suggests dialogue in its own block below the prose.
- It can be reused and checked. You can copy a character block unchanged into every shot, and compare two versions line by line.
Notice that every benefit above comes from the fields, not from the braces. That is why a labelled plain-text prompt can hold the same information, as the next section shows.
What does one example look like, as JSON and as plain text?
Here is an original two-shot, eight-second shot list for a faceless animated story, written for this article. The same content follows as labelled text. We have not generated either one, and we cannot tell you which would look better.
{
"project": {
"aspect_ratio": "9:16",
"total_seconds": 8,
"style": "soft 2D storybook animation, warm palette, gentle film grain"
},
"characters": {
"baker": "middle-aged woman, short grey curls, flour-dusted green apron, round glasses, kind tired eyes"
},
"location": "small neighbourhood bakery at dawn, wooden counter, trays of bread, window with blue morning light",
"shots": [
{
"id": 1,
"seconds": "0 to 4",
"shot_type": "medium shot",
"camera_move": "slow push in",
"action": "The baker slides a tray of rolls onto the counter, then stops and looks at the shop door.",
"light": "cool window light, warm oven glow behind her",
"audio": "oven hum, soft clink of the tray",
"dialogue": null
},
{
"id": 2,
"seconds": "4 to 8",
"shot_type": "close-up",
"camera_move": "static",
"action": "She smiles and speaks quietly to someone off screen.",
"light": "same as shot 1",
"audio": "quiet room tone",
"dialogue": { "speaker": "baker", "line": "You came back. The first batch is yours." }
}
],
"constraints": "no subtitles, no logos, no watermarks, no extra characters"
}GLOBAL STYLE: soft 2D storybook animation, warm palette, gentle film grain. Vertical 9:16, 8 seconds total.
CHARACTERS: baker, a middle-aged woman with short grey curls, a flour-dusted green apron, round glasses and kind tired eyes.
LOCATION: small neighbourhood bakery at dawn, wooden counter, trays of bread, window with blue morning light.
Shot 1 (0 to 4 s): medium shot, slow push in. The baker slides a tray of rolls onto the counter, then stops and looks at the shop door. Light: cool window light, warm oven glow behind her. Audio: oven hum, soft clink of the tray.
Shot 2 (4 to 8 s): close-up, static camera. She smiles and speaks quietly to someone off screen. Light: same as shot 1. Audio: quiet room tone. Dialogue: the baker says: You came back. The first batch is yours.
CONSTRAINTS: no subtitles, no logos, no watermarks, no extra characters.A few choices in it are deliberate:
- One camera move per shot. A slow push in, then static.
- The character and location are written once and reused. Repeating them unchanged is the practical way to try for consistency. It does not guarantee it.
- Dialogue is its own field and short. Two short sentences for a four second slot.
- No resolution or frame rate in the prompt. Set output format in your tool's controls unless the tool says it reads them from the prompt.
- Quotes differ between the two. JSON requires quotes around its strings, but Google's best-practice page says to avoid quotation marks around speech so the words are not rendered as text. In the flattened version we wrote a colon instead. Test how your tool handles it.
Where does JSON earn its keep?
Users in the r/VEO3 thread we read describe it as a workflow tool more than a magic input. One says it "keeps it nice and tidy in case another prompter needs to edit a certain part" but that they saw no creative difference against plain text, and called it a "pipeline deal". Another says it can be "more strict and consistent" and that "you can automate it". A third says they preferred the JSON results most of the time, which is a self-report, not a test. These are individual opinions.
That matches where the format has an edge, whatever the model does with it:
- Reusable blocks. Keep one character and one location object, then change only the action and camera per scene.
- Scripting. If a script or automation fills in scenes, a structured file is easier to generate and validate than free text.
- Handoffs. A teammate or an AI writing partner can edit one field without rereading the whole prompt.
- Review. You can scan each shot for the same fields before you spend credits.
LTX Studio's own guide takes a similar line for its product: explore in natural language first, then convert to JSON once you have a direction, and keep scene and subject fields constant while varying camera across shots.
What goes wrong, and how do you fix it?
Most failures are not about JSON at all. Each row below is tied to a source or labelled as our inference. We have not reproduced any of them ourselves.
Dropped dialogue or beats
- Why
- OpenAI says to keep exchanges short enough for the clip length and that shorter clips follow instructions more reliably
- Fix
- Fewer, shorter lines per clip; count them against the seconds
Fields that contradict
- Why
- Inference: with "static" camera and an action that says "the camera follows her", the model has nothing to resolve it with
- Fix
- Read the whole prompt once; one source of truth per fact
Stacked camera moves
- Why
- Runway says combining push, pull, pan and tilt increases image instability
- Fix
- One camera movement per shot
Over-specifying
- Why
- OpenAI says longer prompts restrict the model's creativity and might not be followed reliably
- Fix
- Fill the fields that matter; Google says you need not use every element
Drift between shots
- Why
- Higgsfield names a vague location as the most common cause; Runway warns unassigned references let the model borrow anything
- Fix
- Repeat character and location text unchanged; use few, clearly assigned references
Text or logos appear
- Why
- Runway lists missing closing constraints; Google says quotation marks can lead to rendered text
- Fix
- End with constraints; avoid quotes around speech if your tool renders them
Broken JSON
- Why
- Inference: a stray quote or duplicated block is harmless to a human, but can break a script. We saw both in a top-ranking page's examples
- Fix
- Validate before you automate
Stale templates
- Why
- Models and versions are being retired, as the shutdown notices above show
- Fix
- Re-test a saved template when you change model
| What goes wrong | Why | Fix |
|---|---|---|
| Dropped dialogue or beats | OpenAI says to keep exchanges short enough for the clip length and that shorter clips follow instructions more reliably | Fewer, shorter lines per clip; count them against the seconds |
| Fields that contradict | Inference: with "static" camera and an action that says "the camera follows her", the model has nothing to resolve it with | Read the whole prompt once; one source of truth per fact |
| Stacked camera moves | Runway says combining push, pull, pan and tilt increases image instability | One camera movement per shot |
| Over-specifying | OpenAI says longer prompts restrict the model's creativity and might not be followed reliably | Fill the fields that matter; Google says you need not use every element |
| Drift between shots | Higgsfield names a vague location as the most common cause; Runway warns unassigned references let the model borrow anything | Repeat character and location text unchanged; use few, clearly assigned references |
| Text or logos appear | Runway lists missing closing constraints; Google says quotation marks can lead to rendered text | End with constraints; avoid quotes around speech if your tool renders them |
| Broken JSON | Inference: a stray quote or duplicated block is harmless to a human, but can break a script. We saw both in a top-ranking page's examples | Validate before you automate |
| Stale templates | Models and versions are being retired, as the shutdown notices above show | Re-test a saved template when you change model |
When is plain text fine?
For a single short clip, or early exploration, a few plain sentences are enough. OpenAI says shorter prompts give the model creative freedom, and LTX suggests starting with natural language. Labelled text, like the example above, gives you most of the benefit with no syntax to break. Choose JSON when you reuse blocks, script scenes or hand prompts between people and tools.
If you already have footage and want an AI agent to cut it, that is a different prompt. See our guide to AI video editing prompts. If you are planning a whole animated story, our walkthrough of how to make AI story videos covers the wider process. Rushilo, our editor, imports clips and edits them with your own AI, but it does not generate video. We make Rushilo, so weigh this section accordingly.
We also sell a course, AI Video Empire, which lists JSON shot-list prompting among its contents for animated story videos with no face on camera. It is a one-time payment of $27 with lifetime access, and the tools it uses each have their own paid plan or credits. We sell it, so weigh this accordingly, and remember that nobody can promise views. For vendor details, read each guide in the sources below, because limits and models change. The Google Veo 3.1 guide is a good place to start.
Frequently asked questions
Do AI video models understand JSON prompts?
They take a prompt as text, and no vendor guide we read says JSON is parsed as code. Google, Kling, Runway and Higgsfield document prose or labelled sections, as of October 22, 2026. LTX Studio documents JSON for its own product. JSON helps mainly because its fields make you state subject, action, camera, light and audio separately.
Does Veo 3 work better with a JSON prompt?
Google's Veo prompting guides describe prose built from cinematography, subject, action, context and style, and do not recommend JSON. Some users report no creative difference and use JSON for tidiness and automation, while others say they prefer the results. We ran no controlled tests, so treat any claimed percentage improvement as unsupported.
What should a JSON prompt for AI video include?
Fields for style, character and location, then per shot: shot type, one camera move, action, light, audio, dialogue and seconds. Add constraints such as no subtitles or watermarks. Google's prompt guide lists the same building blocks and says you do not need every element in every prompt.
How do I fix dropped lines or ignored fields?
Shrink each clip's job. Give each shot one camera move and one action, keep dialogue to a few short lines that fit the seconds, remove fields that contradict each other, and repeat the character and location text unchanged. OpenAI's and Runway's guides both tie shorter, single-purpose shots to more reliable results. Change one thing at a time.
Do I need to write the JSON by hand?
No. Many creators describe the scene in plain language and ask an AI assistant to fill the fields, then read the result for conflicts before generating. Valid JSON only matters if a script reads the file. Generators can spend credits, so read each prompt once before you submit it.
What is the best way to write JSON prompts for AI video?
Use an AI assistant you already trust to draft the shot list, and keep one fixed character block you reuse. For a full system built around JSON shot lists, we sell AI Video Empire, which teaches it for animated story videos. Rushilo, our editor, does not generate video. It edits the clips afterward.
Is JSON better than plain text for AI video prompts?
We cannot say. We ran no generations, and no vendor guide we read compares the two. Structure is what the guides recommend, and a labelled plain-text prompt carries the same information. Higgsfield suggests one block of text broken into labelled sections for Seedance 2.5. Choose JSON if you reuse blocks or script prompts.
Will JSON prompts make my videos go viral?
No prompt format can promise views, and nobody can. Prompt structure changes how closely a clip matches your plan, not how an audience responds to it. Post, measure your own results, and change one variable at a time instead of trusting any claimed lift.
Sources
- Google Cloud: Ultimate prompting guide for Veo 3.1Published October 16, 2025. Prose formula, labelled SFX lines, timestamp prompting, no JSON as a prompt format. Read October 22, 2026.
- Google Cloud: Video generation prompt guidePrompt anatomy (subject, action, context, camera, style, audio), and the note that not every element is needed. Page text as of October 22, 2026.
- Google Cloud: Best practices for generating videosAdvice to avoid quotation marks around speech to prevent text rendering, and to phrase negative prompts as things to exclude. Page text as of October 22, 2026.
- Google AI for Developers: Video generation in the Gemini APIStates the Veo 3.1 Preview in the Gemini API has been shut down. Page marked updated October 22, 2026.
- OpenAI: Sora 2 prompting guideProse plus labelled blocks, one camera setup per shot, shorter clips follow instructions more reliably. Marked updated March 2026, with a notice that Sora 2 and the Videos API were shut down on September 24, 2026. Read October 22, 2026.
- OpenAI: Video generation guideJSON appears only as the API request, where the prompt is a string. Carries the same shutdown notice. Read October 22, 2026.
- Kling: Kling AI Prompt GuidePlain, readable scene direction: subject, action, scene, camera, lighting, mood. Snippet dated August 6, 2026; we read the blog guide only. Read October 22, 2026.
- Runway: Seedance 2.0 prompt guideLabelled shots, one camera movement per shot, listed failure causes, closing constraints. No mention of JSON in the text we read. Snippet dated September 24, 2026. Read October 22, 2026.
- Higgsfield: Seedance 2.5 prompting guideDated August 13, 2026. One continuous block of text broken into labelled sections; no occurrence of the word JSON in the page text we read. Read October 22, 2026.
- LTX Studio: JSON prompting for video and image generationListed March 24, 2026. A vendor describing JSON for its own product only. Read October 22, 2026.
- Reddit r/VEO3: Does Veo 3 really work better with the JSON prompt?Thread located October 22, 2026 and quoted for user opinion only. These are individual reports, not tests.
Cite this page
Last verified: Oct 22, 2026
Patel, O. (2026, October 22). JSON prompts for AI video: what the vendors say, and what actually helps. Rushilo. https://rushilo.com/blog/json-prompts-for-ai-video

About the author
Founder, Rushilo
Om Patel is the founder of Rushilo, a desktop video editor driven by the user's own AI, and of BigIdeasDB, a research platform that reads real complaints and reviews to help founders validate products. He writes Rushilo's research articles with the same method: primary sources, dated numbers and the words real users write.