The problem when we generate image is that we use it like a slot machine, we keep prompting and prompting, hoping the AI spit out an image that’s close to our imagination. You need to engineer prompts, just like cinematographers plan a scene.
If you’ve ever typed something like:
“clay dog on moon”
…and got back something totally different from what you imagined, that looks “AI”, it’s not the AI’s fault, it’s your prompt.
The problem when we generate image is that we use it like a slot machine, we keep prompting and prompting, hoping the AI spit out an image that’s close to our imagination.
You need to engineer prompts, just like cinematographers plan a scene.
People are already using AI-generated images to make money in:
However, Most AI art isn’t consistent enough to sell. Buyers want a look that’s repeatable. That’s where structured JSON prompts come in.
Copy this. Keep it. Share it. This is your new master key:
{
"image_purpose": "still_life | portrait | landscape | editorial | concept_art",
"scene": {
"environment": "studio | interior | exterior | on_location",
"background": {
"material": "painted wall | seamless paper | fabric | natural scenery",
"color_tone": "neutral-warm | neutral-cool | vivid | dark",
"cleanliness": "clean | textured | aged"
},
"surface": {
"material": "wood | stone | glass | metal",
"tone": "light | medium | dark",
"finish": "matte | satin | glossy"
}
},
"composition": {
"framing": "horizontal | vertical | square | panoramic",
"tiers": 1,
"arrangement_notes": "grid | staggered | pyramid | asymmetric",
"negative_space": "tight | medium | airy",
"camera_height": "eye-level | slightly above | slightly below"
},
"camera": {
"focal_length_mm": 35,
"aperture_f": 4,
"lens_type": "prime | zoom",
"focus_strategy": "all subjects sharp | selective",
"distance_descriptor": "close | mid | wide"
},
"lighting": {
"type": "natural | strobe | continuous",
"direction": "left | right | back | top",
"quality": "diffused | soft | hard",
"contrast": "low | medium | high",
"color_temperature": "neutral | warm | cool",
"shadow_behavior": "soft edge | defined"
},
"color_grading": {
"palette_keywords": ["warm beige", "soft teal"],
"saturation_level": "muted | natural | vivid",
"overall_warmth": "cool | neutral | warm"
},
"materials_and_texture": {
"primary_materials": ["ceramic", "wood"],
"surface_finish": "unglazed | glossy | satin",
"texture_notes": "fine grit, brushed lines"
},
"mood": ["calm", "earthy", "inviting"],
"imperfections": {
"include": true,
"types": ["uneven rims", "finger depressions", "tiny nicks"]
},
"subjects": [
{
"id": "s1",
"category": "vase | bowl | figure | other",
"tier": "upper | lower",
"pose_or_orientation": "front-facing | 3/4 | profile",
"silhouette": "cylindrical | rounded | irregular",
"special_features": [],
"proportion_notes": "",
"size_relative": "small | medium | large",
"condition": "handmade irregularities emphasized"
}
],
"depth_of_field": {
"subject_sharpness": "all subjects crisp",
"background_softness": "subtle",
"bokeh_character": "minimal | creamy"
},
"post_processing": {
"cleanup": "minor dust removal",
"authenticity": "retain crafting marks",
"grain": "none | subtle"
},
"output": {
"aspect_ratio": "3:2 | 4:3 | 16:9",
"resolution": "high",
"crop_safety": "no tight crops",
"file_style": "photorealistic | painterly"
}
}
THIS IS NOT EXTENSIVE. you can add your own values, for example, if you want 6 different specific items, you can create your own JSON item.
Pro tips: If you don’t know how to, describe it to AI and they’ll help you.
Before (Vague Prompt):
“clay dog on moon”
After (JSON-Engineered Prompt):
{
"image_purpose": "still_life",
"scene": {
"environment": "studio",
"background": {
"material": "sculpted clay backdrop",
"color_tone": "dark-cool",
"cleanliness": "clean",
"color_hex": "#2b2b2b"
},
"surface": {
"material": "matte clay base",
"tone": "neutral-grey",
"finish": "matte",
"color_hex": "#7d7d7d"
}
},
"composition": {
"framing": "vertical",
"tiers": 1,
"arrangement_notes": "dog centered on clay moon with background stars evenly distributed for balance",
"negative_space": "medium",
"camera_height": "eye-level"
},
"camera": {
"focal_length_mm": 50,
"aperture_f": 4.5,
"lens_type": "prime",
"focus_strategy": "sharp on dog and moon, slightly blurred background",
"distance_descriptor": "mid"
},
"lighting": {
"type": "softbox",
"direction": "upper-left",
"quality": "diffused",
"contrast": "medium",
"color_temperature": "neutral-warm",
"shadow_behavior": "soft edge"
},
"materials_and_texture": {
"primary_materials": ["unglazed clay"],
"surface_finish": "unglazed",
"texture_notes": "visible fingerprints, uneven edges, thumb-pressed moon craters",
"color_palette": {
"dog_black": "#2f2f2f",
"dog_white": "#f5f1e8",
"moon_grey": "#8d8d8d",
"stars_yellow": "#f4c542",
"glasses_grey": "#c3c3c3"
}
},
"mood": ["whimsical", "playful", "tactile"],
"imperfections": {
"include": true,
"types": ["fingerprints", "tool marks", "slight misalignments", "uneven clay edges"]
}
}
“A horizontal still-life photograph of six unglazed beige clay ceramics on two tiers of light matte wooden shelving against a clean, neutral-warm wall. Natural diffused light from the left casts soft shadows. Shot with a 50mm prime lens at f/4, all subjects in crisp focus. Visible imperfections — uneven rims, subtle finger depressions — enhance the handmade feel.”
Generated Image:
This is what I use, the art in prompt engineering is that you can create your own categories. When getting started, you can use mine as guide.
When you’re trying to describe an image for creative direction, AI prompts, or photography notes, it helps to break it down into specific categories.
What’s the core intent of the shot?
Where does the shot take place?
Material
Color Tone
What’s the subject sitting on?
Focal length changes perspective:
Type: Natural, strobe, continuous
Direction: Left, right, back, top
Quality: Diffused, soft, hard
Palette keywords like:
"warm beige", "soft teal", "charcoal black", "sunset orange"
Think emotional tone: calm, earthy, inviting, dramatic, luxurious, mysterious.
Small details that add character: uneven rims, faint seam lines, patina scratches.
If this helped you see AI prompts in a new way: