{ "title": "Photography Director Schema", "description": "Schema for describing a professional photograph (camera settings, subjects, scene, lighting) in a structured way for image generation pipelines.", "type": "object", "additionalProperties": false, "required": ["scene", "camera", "subjects", "key_objects", "effects", "composition", "color_grade", "negative", "prompt"], "properties": { "prompt": { "type": "string", "description": "The polished final text prompt for image generation." }, "scene": { "$ref": "#/$defs/scene" }, "camera": { "$ref": "#/$defs/camera" }, "subjects": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/subject" } }, "key_objects": { "type": "array", "items": { "$ref": "#/$defs/keyObject" } }, "effects": { "$ref": "#/$defs/effects" }, "composition": { "$ref": "#/$defs/composition" }, "color_grade": { "$ref": "#/$defs/colorGrade" }, "negative": { "type": "array", "items": { "type": "string" } } }, "$defs": { "scene": { "type": "object", "additionalProperties": false, "required": ["environment", "location_details", "time", "weather", "lighting", "atmosphere"], "properties": { "environment": { "type": "string" }, "location_details": { "type": "string" }, "time": { "type": "string" }, "weather": { "type": "string" }, "lighting": { "type": "string" }, "atmosphere": { "type": "string" } } }, "camera": { "type": "object", "additionalProperties": false, "required": ["camera_model", "lens", "focal_length_mm", "aperture", "shutter_speed", "iso", "white_balance", "focus_distance", "angle", "framing", "style_profile"], "properties": { "camera_model": { "type": "string" }, "lens": { "type": "string" }, "focal_length_mm": { "type": ["number", "null"] }, "aperture": { "type": "string" }, "shutter_speed": { "type": "string" }, "iso": { "type": "string" }, "white_balance": { "type": "string" }, "focus_distance": { "type": "string" }, "angle": { "type": "string" }, "framing": { "type": "string" }, "style_profile": { "type": "string" } } }, "subject": { "type": "object", "additionalProperties": false, "required": ["type", "count", "age", "gender_expression", "ethnicity", "body", "skin_details", "face_details", "hair", "eyes", "expression", "pose", "wardrobe", "identity_preservation"], "properties": { "type": { "type": "string" }, "count": { "type": "integer" }, "age": { "type": "string" }, "gender_expression": { "type": "string" }, "ethnicity": { "type": "string" }, "body": { "type": "string" }, "skin_details": { "type": "string" }, "face_details": { "type": "string" }, "hair": { "type": "string" }, "eyes": { "type": "string" }, "expression": { "type": "string" }, "pose": { "type": "string" }, "wardrobe": { "type": "object", "additionalProperties": false, "required": ["head", "top", "bottom", "shoes", "accessories"], "properties": { "head": { "type": "string" }, "top": { "type": "string" }, "bottom": { "type": "string" }, "shoes": { "type": "string" }, "accessories": { "type": "string" } } }, "identity_preservation": { "type": "object", "additionalProperties": false, "required": ["preserve_face_percent"], "properties": { "preserve_face_percent": { "type": ["number", "null"] } } } } }, "keyObject": { "type": "object", "additionalProperties": false, "required": ["name", "details"], "properties": { "name": { "type": "string" }, "details": { "type": "string" } } }, "effects": { "type": "object", "additionalProperties": false, "required": ["depth_of_field", "bokeh", "motion_blur", "film_grain", "lens_distortion", "reflections", "post_processing"], "properties": { "depth_of_field": { "type": "string" }, "bokeh": { "type": "string" }, "motion_blur": { "type": "string" }, "film_grain": { "type": "string" }, "lens_distortion": { "type": "string" }, "reflections": { "type": "string" }, "post_processing": { "type": "string" } } }, "composition": { "type": "object", "additionalProperties": false, "required": ["focus_priority", "foreground", "midground", "background", "leading_lines", "rule_of_thirds", "negative_space"], "properties": { "focus_priority": { "type": "string" }, "foreground": { "type": "string" }, "midground": { "type": "string" }, "background": { "type": "string" }, "leading_lines": { "type": "string" }, "rule_of_thirds": { "type": "string" }, "negative_space": { "type": "string" } } }, "colorGrade": { "type": "object", "additionalProperties": false, "required": ["palette", "contrast", "saturation", "tone"], "properties": { "palette": { "type": "string" }, "contrast": { "type": "string" }, "saturation": { "type": "string" }, "tone": { "type": "string" } } } } }