JSON Prompt Generator
Build a validated video prompt as JSON in a guided 5-step wizard. Pick a starting template, choose a model (Veo, Sora, Kling, Runway Gen-4, Luma Ray 3, or Hailuo), describe the scene, tune the cinematography with clickable chips, and copy a ready-to-paste JSON object. The schema and model limits are fully configurable, and a built-in linter checks any pasted JSON for you.
Use JSON Prompt Generator
- 1 Start
- 2 AI model
- 3 Scene
- 4 Style
- 5 Review
Pick a starting point, or start blank and describe your own shot. Everything can be changed later.
Pick the model that will render your video. Limits below follow the selected model.
Your selection
Prompt JSON
Incomplete
Validate JSON
Lint
Paste a JSON prompt to lint it against the schema for the selected model.
Schema · 2026-05
Reference
| Key | Type | Required | Options / notes |
|---|---|---|---|
subject |
string | * | Who or what the camera is on. Concrete nouns beat abstractions. |
action |
string | * | What the subject is doing, with a clear arc the model can render. |
environment |
string | optional | Where the action happens - time, place, grounding details. |
camera |
enum | optional |
locked-off static shot
slow push-in
slow pull-back
tracking shot
slow pan
slow tilt up
dolly in
dolly zoom vertigo effect
smooth orbit around the subject
crane up
handheld shot
aerial drone shot
whip pan
slow zoom in
rack focus
|
lens |
enum | optional |
portrait 85mm lens
50mm lens
35mm lens
24mm wide-angle lens
100mm macro lens
anamorphic lens
200mm telephoto lens
|
lighting |
enum | optional |
golden hour light
soft diffused light
hard sunlight
rim light
low-key lighting
high-key lighting
volumetric light
neon light
warm practical light
overcast light
backlit silhouette
|
grade |
enum | optional |
teal and orange grade
cinematic grade
natural grade
desaturated grade
warm grade
cool grade
noir black and white grade
vintage film grade
pastel grade
|
mood |
enum | optional |
cinematic
energetic
serene
dreamy
moody
playful
epic
intimate
nostalgic
surreal
|
audio |
string | optional | Spoken line, ambient bed, or SFX. Veo and Sora generate audio; other models ignore it. |
duration |
number | * | |
aspectRatio |
enum | * |
16:9
9:16
1:1
4:3
3:4
4:5
21:9
|
Model limits
| Model | Audio | Duration | Aspect ratios | Note |
|---|---|---|---|---|
| Kling AI | No | 1–15s (5 / 10 / 15 seconds) | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9 | Kling 3.0: kinetic motion, strong physics, per-character lip-sync (Omni). Honors camera and motion; audio ignored. |
| Veo | Yes | 1–8s (4, 6, or 8 seconds) | 16:9, 9:16 | Veo 3.1: native synchronized audio and lip-sync. Strongest prompt fidelity on the Google pipeline (Gemini / Vertex AI). |
| Sora | Yes | 1–60s (up to 60 seconds) | 16:9, 9:16, 1:1, 4:5 | Sora 2: best-in-class prompt fidelity and native audio. Consumer app closed Apr 2026; API sunsets Sep 24, 2026. |
| Runway Gen-4 | No | 5–10s (5 or 10 seconds) | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9 | Gen-4 / Gen-4.5: character references and strong camera control. Audio added in post. |
| Luma Ray 3 | No | 5–10s (5 or 10 seconds) | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9 | Dream Machine Ray 3: HDR/EXR output, seamless loops, character references. No native audio. |
| Hailuo (MiniMax) | No | 5–10s (5 or 10 seconds) | 16:9, 9:16, 1:1 | Fast and low-cost, excels at high-motion action. No native audio. |
Read Content
What Is the JSON Prompt Generator?
The JSON Prompt Generator is a guided builder that turns a few plain answers into a complete video prompt written as JSON. Instead of typing raw JSON by hand and guessing whether it matches what a video model accepts, you fill in simple fields about the shot and the tool assembles the object for you. It supports six prompt-to-video models: Veo, Sora, Kling AI, Runway Gen-4, Luma Ray 3 and Hailuo (MiniMax).
The builder is deterministic. It reads your inputs, keeps only the keys that have a value, orders them by the schema, and prints valid JSON. It does not render video, call a model, or upload anything. You copy the result and paste it into the video tool you use. A built-in validator checks any pasted JSON against the schema and against the limits of the model you select.
Why You Would Use It
Writing a video prompt as JSON is easy to get almost right and still wrong. A duration outside the model range, an aspect ratio the model does not offer, or a key spelled slightly differently can make the model ignore the prompt or reject it outright. This tool removes that trial and error before you spend a generation credit.
It suits content creators and marketers who ship several AI videos a week, agencies that need the same prompt shape across a team, developers testing a prompt pipeline, and anyone learning a model schema without reading long documentation. Because every prompt is built from the same field set, two people filling the same form produce comparable output, which makes reviewing, reusing and versioning prompts much easier.
How This Tool Works
The page is a five step wizard: Start, AI model, Scene, Style and Review. A progress bar shows where you are, and every step label is clickable, so you can jump back and fix a field without losing your work. The draft is saved in your browser and restored when you return, so closing the tab mid-prompt is safe.
Step one offers a starting point: start blank, or use one of the four templates (Cinematic, Product / ad, Action, Dreamy). A template only pre-fills style choices such as camera movement, lens, lighting, color grade, mood, duration and aspect ratio, so you still describe the shot yourself. Load example shot fills every field with a complete sample, and Reset clears all values.
Step two selects the target model. Each model card shows its duration range, whether it produces audio, and how many aspect ratios it supports, plus a short note about strengths. Choosing a model immediately changes the rest of the form: the duration input gets a new minimum and maximum, aspect ratio chips the model does not support are hidden, and the audio field appears only for Veo and Sora, the two models with native audio in this schema.
Steps three and four collect the scene and style values. The tool then builds the output by walking the schema fields in order. Empty fields are skipped, duration is stored as a number, and enum values are copied only when a chip is active. The JSON appears in Review with a live character and line count, a summary of your choices, and a badge that reads Ready to copy once subject, action, duration and aspect ratio are all set.
The separate Validate JSON panel works in reverse: paste JSON, choose the model, press Lint. It reports invalid JSON, a root that is not an object, missing required keys, unknown keys, enum values that are not in the schema, aspect ratios the model does not support, durations outside the model range, and an audio key sent to a model that ignores audio.
Key Features
- Five step wizard with clickable steps, per step hints and a progress bar
- Four templates, a blank start, a full example shot and a Reset button
- Six models with per model duration, aspect ratio and audio rules
- Clickable chip selectors for camera, lens, lighting, color grade, mood and aspect ratio
- Live output that only includes keys with a value, in schema order
- Validator with per model checks and a clear good or bad result list
- Schema and model limit reference tables (schema version 2026-05)
- Copy JSON, download a .json file and Ctrl/Cmd+Enter to copy
- Draft auto-save in the browser, plus a highlighted placeholder in the template editor
How to Use the Tool
- Open the Start step and pick a template, or choose Start blank. Press Load example shot first if you want to see a finished prompt.
- Move to the AI model step and click the model you will render with. Read the note and the three pills (duration, audio, ratio count) before continuing.
- Fill the Scene step. Subject is required and names who or what the camera is on. Action is required and describes what happens, with a clear beginning and end. Environment is optional and adds time and place.
- Open the Style step and tap chips for camera, lens, lighting, color grade and mood. Set a whole number of seconds inside the range shown under the duration field. On Veo and Sora you can also type an audio line.
- Go to Review, pick an aspect ratio (only ratios of your model are visible), check the summary, then press Copy JSON or Download .json. On the last step the Next button turns into Copy JSON.
- To check existing work, expand Validate JSON, paste the object, select the model and press Lint. The list under it tells you exactly what to fix.
Limits and Rules
Four keys are required: subject, action, duration and aspect ratio. Every other key is optional and is left out of the output when empty. Duration must be a whole number inside the range of the selected model, and the aspect ratio must be one that model supports.
- Veo: 1 to 8 seconds, 16:9 or 9:16, native audio.
- Sora: 1 to 60 seconds, 16:9, 9:16, 1:1 or 4:5, native audio.
- Kling AI: 1 to 15 seconds, six ratios (16:9, 9:16, 1:1, 4:3, 3:4, 21:9), no audio.
- Runway Gen-4 and Luma Ray 3: 5 to 10 seconds, the same six ratios, no audio.
- Hailuo: 5 to 10 seconds, 16:9, 9:16 or 1:1, no audio.
Enum values must match the schema exactly, and the validator flags anything else. Because the builder and the validator both run in your browser, there is no upload, no captcha and no rate limit. The trade-off is that your draft lives only in this browser on this device, and clearing site data removes it.
When to Use It and When Not to
Use it when you want a prompt that already respects the model limits, when a team should produce prompts in the same shape, when you are learning a schema, or when you need to re-check JSON someone else wrote. Running the validator before generating is the cheapest way to catch a bad prompt.
Do not use it if you need to render video, because this tool only writes text. It is also a poor fit for free-form prompts with keys outside the schema, and it will not invent values you never entered. If you need different fields, the schema, templates, models and limits all come from one config file (config/json-prompt-generator.php), which is where a developer would add them.
FAQ
Comments (0)
Describe the issue you encountered so we can investigate and improve the tool.