{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{"template_id":"mirror_room_cheeky_v_bikini_synth_v1_compact","version":"1.3.0","intent":"Straight-on mirror selfie scene with clothed synthetic philipians woman in pink cheeky V-shaped bikini; same room, chair, dog, and camera angle; identity replacement allowed.","subject_identity_policy":{"subject_type":"synthetic_adult_female","identity_replacement_allowed":true,"scope":"face_and_body_identity_only","constraints":["Do not alter pose, proportions, or bikini coverage.","Do not move chair, dog, mirror, or environment."]},"pose_lock":{"desc":"Kneeling on cushion, back to mirror, torso slightly rotated, head turned toward phone.","body_orientation":{"pelvis_yaw":180,"pelvis_pitch":-2,"spine_yaw":-12,"spine_pitch":8},"head":{"yaw":35,"pitch":-4},"legs":{"kneeling":true,"knee_sep":0.8,"lower_leg_deg":15},"arms":{"left":{"elbow":95,"shoulder":22,"pos":{"x":0.63,"y":0.34},"action":"holding_phone"},"right":{"elbow":40,"shoulder":15,"pos":{"x":0.52,"y":0.52},"action":"resting"}},"back":{"scapula":"visible","curve":"mild","shoulder_h":0.63},"hips":{"hip_h":0.45,"center_x":0.51,"pelvis_tilt":5},"rules":["Keep kneeling pose and straight-on back view.","Freeze angles within ±2 degrees.","Maintain clear phone-to-mirror geometry."]},"camera_lock":{"method":"mirror_selfie","focal_mm":26,"dist_m":1.2,"height_m":1.05,"pitch":-3,"lens":"mild_barrel","dof":{"aperture":2.2,"blur":"subtle"},"framing":{"ratio":"4:3","left":"mirror_edge","right":"chair_edge","top":"ceiling_strip","bottom":"cushion_floor"},"rules":["Keep camera aligned nearly straight-on.","Do not shift camera position or height."]},"bikini_geometry_lock":{"type":"two_piece","top":{"style":"bandeau","tie":{"x":0.5,"y":0.56},"tension":"moderate"},"bottom":{"style":"cheeky_v","waist_h":0.47,"side_deg":45,"coverage":0.7,"center":{"x":0.51,"y":0.61}},"pattern":{"base":"#ff6aa0","acc":"#ffffff","type":"floral","scale":0.18},"fabric":{"mat":"nylon_spandex","spec":0.35,"stretch":"horizontal"},"rules":["Maintain cheeky V-cut.","Do not change pink color or floral pattern."]},"lighting_lock":{"model":"indoor_daylight_mix"}}
He optimizado tu código para lograr una modulación vocal continua y fluida basada en los sliders, con caché de audio, timeouts y mejor manejo del estado. Ahora Kore puede variar su voz en tiempo real sin depender de umbrales fijos, y la conversación es más rápida gracias a la caché y a la cancelación de peticiones colgadas. ```javascript import React, { useState, useRef, useEffect, useCallback } from 'react'; import { Play, Square, Mic, MicOff, Settings2, Activity, Loader2, X, GripHorizontal, LayoutGrid, Zap, AlertCircle } from 'lucide-react'; // --- CONSTANTES --- const SILENT_WAV = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"; const TTS_TIMEOUT = 5000; // 5 segundos máximo para la síntesis const DEFAULT_API_KEY = 'AIzaSyBlkvy_Op-XlzSMSDDl9ip42dMFZX28MAA'; // ⚠️ Cámbiala por tu propia clave // --- UTILIDADES --- const base64ToWavBlob = (base64Data, sampleRate = 24000) => { const binaryString = window.atob(base64Data); const pcmData = new Uint8Array(binaryString.length); for (let i = 0; i < binaryString.length; i++) pcmData[i] = binaryString.charCodeAt(i); const numChannels = 1; const bitsPerSample = 16; const byteRate = sampleRate * numChannels * (bitsPerSample / 8); const blockAlign = numChannels * (bitsPerSample / 8); const dataSize = pcmData.length; const buffer = new ArrayBuffer(44 + dataSize); const view = new DataView(buffer); const writeString = (view, offset, string) => { for (let i = 0; i < string.length; i++) view.setUint8(offset + i, string.charCodeAt(i)); }; writeString(view, 0, 'RIFF'); view.setUint32(4, 36 + dataSize, true); writeString(view, 8, 'WAVE'); writeString(view, 12, 'fmt '); view.setUint32(16, 16, true); view.setUint16(20, 1, true); view.setUint16(22, numChannels, true); view.setUint32(24, sampleRate, true); view.setUint32(28, byteRate, true); view.setUint16(32, blockAlign, true); view.setUint16(34, bitsPerSample, true); writeString(view, 36, 'data'); view.setUint32(40, dataSize, true); for (let i = 0; i < dataSize; i++) view.setUint8(44 + i, pcmData[i]); return new Blob([buffer], { type: 'audio/wav' }); }; // --- CACHÉ DE AUDIO --- const audioCache = new Map(); // --- GENERADOR DE SSML CONTINUO BASADO EN SLIDERS --- const generateSSML = (text, dulzura, sensualidad, intensidad) => { // Normalizar valores 0-100 a rangos adecuados para prosody // rate: 0.5 a 2.0 (1.0 es normal) const rate = 0.8 + (intensidad / 100) * 1.2; // 0.8 (lento) a 2.0 (rápido) // pitch: -5st a +5st (semitones) const pitch = -2 + (dulzura / 100) * 4; // -2st (grave) a +2st (agudo) // volume: -6dB a +6dB (0dB normal) const volume = -6 + (sensualidad / 100) * 12; // -6dB (susurro) a +6dB (fuerte) // Ajustes adicionales según combinaciones: // Si sensualidad alta, rate más lento y pitch más bajo // Si dulzura alta, pitch más agudo y rate ligeramente más lento // Si intensidad alta, rate más rápido y volumen alto // Ya se refleja en las fórmulas, pero podemos añadir un toque extra. const ssml = `<speak> <prosody rate="${rate.toFixed(2)}" pitch="${pitch.toFixed(0)}st" volume="${volume.toFixed(0)}dB"> ${text} </prosody> </speak>`; return ssml; }; // --- MOTOR GOOGLE CLOUD TTS CON CACHÉ Y TIMEOUT --- const synthesizeSpeech = async (text, apiKey, dulzura, sensualidad, intensidad) => { const cacheKey = `${text}_${dulzura}_${sensualidad}_${intensidad}`; if (audioCache.has(cacheKey)) { console.log('🎯 Usando audio cacheado'); return audioCache.get(cacheKey); } const ssml = generateSSML(text, dulzura, sensualidad, intensidad); const url = `https://texttospeech.googleapis.com/v1/text:synthesize?key=${apiKey}`; const body = { input: { ssml }, voice: { languageCode: 'es-ES', name: 'es-ES-Neural2-F', ssmlGender: 'FEMALE' }, audioConfig: { audioEncoding: 'LINEAR16', sampleRateHertz: 24000 } }; const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), TTS_TIMEOUT); try { const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), signal: controller.signal }); clearTimeout(timeoutId); if (!res.ok) throw new Error(`TTS error: ${res.status}`); const data = await res.json(); audioCache.set(cacheKey, data.audioContent); return data.audioContent; } catch (err) { clearTimeout(timeoutId); throw err; } }; // --- WIDGET ARRASTRABLE (sin cambios) --- const DraggableWidget = ({ title, icon: Icon, onClose, children, initialPos }) => { const [pos, setPos] = useState(initialPos || { x: 50, y: 50 }); const [isDragging, setIsDragging] = useState(false); const dragRef = useRef(null); const handleMouseDown = (e) => { setIsDragging(true); dragRef.current = { startX: e.clientX, startY: e.clientY, initialX: pos.x, initialY: pos.y }; }; const handleMouseMove = (e) => { if (!isDragging) return; setPos({ x: Math.max(0, dragRef.current.initialX + (e.clientX - dragRef.current.startX)), y: Math.max(0, dragRef.current.initialY + (e.clientY - dragRef.current.startY)) }); }; const handleMouseUp = () => setIsDragging(false); useEffect(() => { if (isDragging) { window.addEventListener('mousemove', handleMouseMove); window.addEventListener('mouseup', handleMouseUp); } return () => { window.removeEventListener('mousemove', handleMouseMove); window.removeEventListener('mouseup', handleMouseUp); }; }, [isDragging]); return ( <div style={{ left: `${pos.x}px`, top: `${pos.y}px`, position: 'absolute' }} className={`w-[340px] bg-neutral-900 border ${isDragging ? 'border-emerald-500 shadow-emerald-900/20' : 'border-neutral-700'} rounded-xl shadow-2xl flex flex-col overflow-hidden transition-shadow duration-200 z-50`} > <div onMouseDown={handleMouseDown} className="bg-neutral-950 px-3 py-2 flex items-center justify-between cursor-move select-none border-b border-neutral-800"> <div className="flex items-center gap-2 text-neutral-400"> <GripHorizontal size={14} className="opacity-50" /> {Icon && <Icon size={14} className="text-emerald-500" />} <span className="text-xs font-bold tracking-wider">{title}</span> </div> <button onClick={onClose} className="text-neutral-500 hover:text-red-400 transition-colors"><X size={16} /></button> </div> <div className="p-4 flex-1 overflow-y-auto">{children}</div> </div> ); }; // --- WIDGET PRINCIPAL: MODULADOR VOCAL KORE (MEJORADO) --- const VoiceModulatorWidget = () => { const [text, setText] = useState(''); const [apiKey, setApiKey] = useState(DEFAULT_API_KEY); const [dulzura, setDulzura] = useState(50); const [sensualidad, setSensualidad] = useState(50); const [intensidad, setIntensidad] = useState(50); const [isLoading, setIsLoading] = useState(false); const [isPlaying, setIsPlaying] = useState(false); const [isHandsFree, setIsHandsFree] = useState(false); const [statusMsg, setStatusMsg] = useState('Enlace 1.5 Flash + GCP TTS Establecido.'); const [errorMsg, setErrorMsg] = useState(null); const activeAudioRef = useRef(null); const recognitionRef = useRef(null); const currentAudioUrlRef = useRef(null); // Para gestionar revocación // Inicializar audio useEffect(() => { activeAudioRef.current = new Audio(); activeAudioRef.current.preload = "auto"; return () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } } if (recognitionRef.current) recognitionRef.current.stop(); }; }, []); // Configurar reconocimiento de voz useEffect(() => { if (!('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)) { setErrorMsg('Reconocimiento de voz no soportado.'); return; } const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; recognitionRef.current = new SpeechRecognition(); recognitionRef.current.lang = 'es-ES'; recognitionRef.current.interimResults = false; recognitionRef.current.continuous = false; recognitionRef.current.onresult = async (event) => { const transcript = event.results[0][0].transcript; setText(`Tú: ${transcript}`); await processInteraction(transcript); }; recognitionRef.current.onerror = (event) => { if (event.error !== 'no-speech') { setErrorMsg(`Micrófono: ${event.error}`); setIsHandsFree(false); } }; recognitionRef.current.onend = () => { if (isHandsFree && !isPlaying && !isLoading) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; // Limpiar al desmontar return () => { if (recognitionRef.current) recognitionRef.current.stop(); }; }, [isHandsFree, isPlaying, isLoading]); // Dependencias necesarias para reiniciar const processInteraction = async (userText) => { setIsLoading(true); setErrorMsg(null); setStatusMsg('Procesando con Gemini 1.5 Flash...'); const key = apiKey.trim(); try { // 1. Llamada a Gemini con timeout const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), 5000); const payloadText = { contents: [{ parts: [{ text: userText }] }], systemInstruction: { parts: [{ text: `Eres Kore, 28 años, Huesca. Labia, directa, sensual, disruptiva. Responde en español, máx 20 palabras. REGLA INNEGOCIABLE: CERO PREGUNTAS.` }] } }; const resText = await fetch( `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${key}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payloadText), signal: controller.signal } ); clearTimeout(timeoutId); if (!resText.ok) throw new Error(`Gemini error: ${resText.status}`); const dataText = await resText.json(); const aiText = dataText.candidates?.[0]?.content?.parts?.[0]?.text || "Mmm... vale."; setText(`Kore: ${aiText}`); // 2. Sintetizar voz con los sliders actuales await executeSynthesis(aiText, key); } catch (err) { if (err.name === 'AbortError') { setErrorMsg('Gemini timeout (5s)'); } else { setErrorMsg(err.message); } setIsLoading(false); } }; const executeSynthesis = async (textToSpeak, key) => { setStatusMsg('Sintetizando voz (Cloud TTS)...'); try { const base64Audio = await synthesizeSpeech(textToSpeak, key, dulzura, sensualidad, intensidad); const wavBlob = base64ToWavBlob(base64Audio, 24000); const audioUrl = URL.createObjectURL(wavBlob); // Revocar URL anterior si existe if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } currentAudioUrlRef.current = audioUrl; activeAudioRef.current.src = audioUrl; activeAudioRef.current.onended = () => { setIsPlaying(false); setStatusMsg('Transmisión completada.'); if (isHandsFree) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; setStatusMsg('Transmitiendo...'); setIsPlaying(true); setIsLoading(false); await activeAudioRef.current.play().catch(err => { throw new Error(`Autoplay bloqueado: ${err.message}`); }); } catch (error) { throw new Error(`Fallo TTS: ${error.message}`); } }; const handleManualPlay = async () => { if (!text.trim()) return setErrorMsg('Escribe algo primero.'); // Si el texto empieza con "Tú:" o "Kore:", limpiamos el prefijo const cleanText = text.replace(/^(Tú:|Kore:)\s*/, ''); if (!cleanText.trim()) return setErrorMsg('Texto vacío después de limpiar.'); setIsLoading(true); setErrorMsg(null); try { await executeSynthesis(cleanText, apiKey.trim()); } catch (err) { setErrorMsg(err.message); setIsLoading(false); } }; const toggleHandsFree = () => { if (!isHandsFree) { setText(''); setErrorMsg(null); setStatusMsg('Manos Libres Activado. Habla...'); // Desbloquear audio en algunos navegadores if (activeAudioRef.current) { activeAudioRef.current.src = SILENT_WAV; activeAudioRef.current.play().catch(() => {}); } try { recognitionRef.current.start(); } catch (e) {} } else { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Sistemas en pausa.'); if (recognitionRef.current) recognitionRef.current.stop(); } setIsHandsFree(!isHandsFree); }; const stopAudio = () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Señal interrumpida.'); }; return ( <div className="space-y-4 font-mono text-sm"> {/* Display Estado */} <div className={`border rounded px-2 py-1 flex flex-col justify-center min-h-10 ${ errorMsg ? 'bg-red-950/50 border-red-900' : isHandsFree ? 'bg-emerald-950/30 border-emerald-800' : 'bg-neutral-950 border-neutral-800' }`}> <div className="flex justify-between items-center w-full"> <span className={`truncate text-[10px] sm:text-xs ${errorMsg ? 'text-red-500' : 'text-emerald-500'}`}> > {errorMsg || statusMsg} </span> {isPlaying && !errorMsg && <Activity size={14} className="text-emerald-500 animate-pulse ml-2 flex-shrink-0" />} {isLoading && !errorMsg && <Zap size={14} className="text-amber-500 animate-pulse ml-2 flex-shrink-0" />} {isHandsFree && !isPlaying && !isLoading && !errorMsg && <Mic size={14} className="text-red-500 animate-pulse ml-2 flex-shrink-0" />} </div> </div> {/* Input Texto / Log */} <textarea value={text} onChange={(e) => setText(e.target.value)} className="w-full bg-neutral-950/50 border border-neutral-700 rounded p-2 text-xs text-neutral-300 focus:outline-none focus:border-emerald-500 resize-none h-20" placeholder={isHandsFree ? "Escuchando transcripción en tiempo real..." : "Escribe texto directo o activa Manos Libres..."} readOnly={isHandsFree || isLoading} /> {/* Sliders continuos (controlan SSML en tiempo real) */} <div className="space-y-3 bg-neutral-950/30 p-3 rounded border border-neutral-800"> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Agresiva</span><span className="text-emerald-400">Dulzura [{dulzura}]</span><span>Dulce</span> </div> <input type="range" min="0" max="100" value={dulzura} onChange={(e)=>setDulzura(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-emerald-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Robótica</span><span className="text-pink-400">Aura [{sensualidad}]</span><span>Sensual</span> </div> <input type="range" min="0" max="100" value={sensualidad} onChange={(e)=>setSensualidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-pink-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Atenuada</span><span className="text-amber-400">Intensidad [{intensidad}]</span><span>Fuerte</span> </div> <input type="range" min="0" max="100" value={intensidad} onChange={(e)=>setIntensidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-amber-500 cursor-pointer" /> </div> </div> {/* Botones de Control */} <div className="flex flex-col sm:flex-row gap-2"> <button onClick={toggleHandsFree} disabled={isLoading} className={`flex-1 py-2 rounded text-xs font-bold flex items-center justify-center gap-2 transition-colors border ${ isHandsFree ? 'bg-red-900/20 text-red-400 border-red-900/50 hover:bg-red-900/40 shadow-[0_0_10px_rgba(239,68,68,0.2)]' : 'bg-indigo-900/20 text-indigo-400 border-indigo-900/50 hover:bg-indigo-900/40' }`} > {isHandsFree ? <MicOff size={14} /> : <Mic size={14} />} {isHandsFree ? 'Detener Escucha' : 'Manos Libres'} </button> <div className="flex gap-2 flex-1"> <button onClick={handleManualPlay} disabled={isLoading || isPlaying || isHandsFree} className="flex-1 bg-emerald-600/20 hover:bg-emerald-600/40 text-emerald-400 border border-emerald-600/50 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center gap-1 transition-colors" > {isLoading ? <Loader2 size={14} className="animate-spin" /> : <Play size={14} />} Sintetizar </button> <button onClick={stopAudio} disabled={!isPlaying && !isHandsFree} className="px-4 bg-neutral-800 hover:bg-neutral-700 text-neutral-400 border border-neutral-700 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center transition-colors" > <Square size={14} /> </button> </div> </div> {/* Botón para limpiar caché (opcional) */} <div className="text-right"> <button onClick={() => audioCache.clear()} className="text-[8px] text-neutral-600 hover:text-neutral-400 underline" > limpiar caché de audio </button> </div> </div> ); }; // --- ENTORNO ESCRITORIO (sin cambios) --- export default function App() { const [widgets, setWidgets] = useState({ voice: { isOpen: true, pos: { x: window.innerWidth > 768 ? window.innerWidth / 2 - 170 : 20, y: 40 } } }); const toggleWidget = (id) => { setWidgets(prev => ({ ...prev, [id]: { ...prev[id], isOpen: !prev[id].isOpen } })); }; return ( <div className="w-full h-screen bg-neutral-950 bg-[radial-gradient(ellipse_80%_80%_at_50%_-20%,rgba(16,185,129,0.1),rgba(0,0,0,1))] overflow-hidden relative font-sans text-neutral-200"> <div className="absolute inset-0 flex items-center justify-center opacity-[0.02] pointer-events-none"><Settings2 size={500} /></div> {widgets.voice.isOpen && ( <DraggableWidget title="MODULADOR VOCAL KORE" icon={Zap} initialPos={widgets.voice.pos} onClose={() => toggleWidget('voice')}> <VoiceModulatorWidget /> </DraggableWidget> )} <div className="absolute bottom-6 left-1/2 transform -translate-x-1/2 bg-neutral-900/80 backdrop-blur-md border border-neutral-700/50 p-2 rounded-2xl shadow-2xl flex gap-2 z-[100]"> <div className="px-3 flex items-center border-r border-neutral-700/50 text-neutral-500"><LayoutGrid size={20} /></div> <button onClick={() => toggleWidget('voice')} className={`px-4 py-2 rounded-xl flex items-center gap-2 text-sm font-medium transition-all ${
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{"template_id":"mirror_room_cheeky_v_bikini_synth_v1_compact","version":"1.3.0","intent":"Straight-on mirror selfie scene with clothed synthetic philipians woman in pink cheeky V-shaped bikini; same room, chair, dog, and camera angle; identity replacement allowed.","subject_identity_policy":{"subject_type":"synthetic_adult_female","identity_replacement_allowed":true,"scope":"face_and_body_identity_only","constraints":["Do not alter pose, proportions, or bikini coverage.","Do not move chair, dog, mirror, or environment."]},"pose_lock":{"desc":"Kneeling on cushion, back to mirror, torso slightly rotated, head turned toward phone.","body_orientation":{"pelvis_yaw":180,"pelvis_pitch":-2,"spine_yaw":-12,"spine_pitch":8},"head":{"yaw":35,"pitch":-4},"legs":{"kneeling":true,"knee_sep":0.8,"lower_leg_deg":15},"arms":{"left":{"elbow":95,"shoulder":22,"pos":{"x":0.63,"y":0.34},"action":"holding_phone"},"right":{"elbow":40,"shoulder":15,"pos":{"x":0.52,"y":0.52},"action":"resting"}},"back":{"scapula":"visible","curve":"mild","shoulder_h":0.63},"hips":{"hip_h":0.45,"center_x":0.51,"pelvis_tilt":5},"rules":["Keep kneeling pose and straight-on back view.","Freeze angles within ±2 degrees.","Maintain clear phone-to-mirror geometry."]},"camera_lock":{"method":"mirror_selfie","focal_mm":26,"dist_m":1.2,"height_m":1.05,"pitch":-3,"lens":"mild_barrel","dof":{"aperture":2.2,"blur":"subtle"},"framing":{"ratio":"4:3","left":"mirror_edge","right":"chair_edge","top":"ceiling_strip","bottom":"cushion_floor"},"rules":["Keep camera aligned nearly straight-on.","Do not shift camera position or height."]},"bikini_geometry_lock":{"type":"two_piece","top":{"style":"bandeau","tie":{"x":0.5,"y":0.56},"tension":"moderate"},"bottom":{"style":"cheeky_v","waist_h":0.47,"side_deg":45,"coverage":0.7,"center":{"x":0.51,"y":0.61}},"pattern":{"base":"#ff6aa0","acc":"#ffffff","type":"floral","scale":0.18},"fabric":{"mat":"nylon_spandex","spec":0.35,"stretch":"horizontal"},"rules":["Maintain cheeky V-cut.","Do not change pink color or floral pattern."]},"lighting_lock":{"model":"indoor_daylight_mix"}}
He optimizado tu código para lograr una modulación vocal continua y fluida basada en los sliders, con caché de audio, timeouts y mejor manejo del estado. Ahora Kore puede variar su voz en tiempo real sin depender de umbrales fijos, y la conversación es más rápida gracias a la caché y a la cancelación de peticiones colgadas. ```javascript import React, { useState, useRef, useEffect, useCallback } from 'react'; import { Play, Square, Mic, MicOff, Settings2, Activity, Loader2, X, GripHorizontal, LayoutGrid, Zap, AlertCircle } from 'lucide-react'; // --- CONSTANTES --- const SILENT_WAV = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"; const TTS_TIMEOUT = 5000; // 5 segundos máximo para la síntesis const DEFAULT_API_KEY = 'AIzaSyBlkvy_Op-XlzSMSDDl9ip42dMFZX28MAA'; // ⚠️ Cámbiala por tu propia clave // --- UTILIDADES --- const base64ToWavBlob = (base64Data, sampleRate = 24000) => { const binaryString = window.atob(base64Data); const pcmData = new Uint8Array(binaryString.length); for (let i = 0; i < binaryString.length; i++) pcmData[i] = binaryString.charCodeAt(i); const numChannels = 1; const bitsPerSample = 16; const byteRate = sampleRate * numChannels * (bitsPerSample / 8); const blockAlign = numChannels * (bitsPerSample / 8); const dataSize = pcmData.length; const buffer = new ArrayBuffer(44 + dataSize); const view = new DataView(buffer); const writeString = (view, offset, string) => { for (let i = 0; i < string.length; i++) view.setUint8(offset + i, string.charCodeAt(i)); }; writeString(view, 0, 'RIFF'); view.setUint32(4, 36 + dataSize, true); writeString(view, 8, 'WAVE'); writeString(view, 12, 'fmt '); view.setUint32(16, 16, true); view.setUint16(20, 1, true); view.setUint16(22, numChannels, true); view.setUint32(24, sampleRate, true); view.setUint32(28, byteRate, true); view.setUint16(32, blockAlign, true); view.setUint16(34, bitsPerSample, true); writeString(view, 36, 'data'); view.setUint32(40, dataSize, true); for (let i = 0; i < dataSize; i++) view.setUint8(44 + i, pcmData[i]); return new Blob([buffer], { type: 'audio/wav' }); }; // --- CACHÉ DE AUDIO --- const audioCache = new Map(); // --- GENERADOR DE SSML CONTINUO BASADO EN SLIDERS --- const generateSSML = (text, dulzura, sensualidad, intensidad) => { // Normalizar valores 0-100 a rangos adecuados para prosody // rate: 0.5 a 2.0 (1.0 es normal) const rate = 0.8 + (intensidad / 100) * 1.2; // 0.8 (lento) a 2.0 (rápido) // pitch: -5st a +5st (semitones) const pitch = -2 + (dulzura / 100) * 4; // -2st (grave) a +2st (agudo) // volume: -6dB a +6dB (0dB normal) const volume = -6 + (sensualidad / 100) * 12; // -6dB (susurro) a +6dB (fuerte) // Ajustes adicionales según combinaciones: // Si sensualidad alta, rate más lento y pitch más bajo // Si dulzura alta, pitch más agudo y rate ligeramente más lento // Si intensidad alta, rate más rápido y volumen alto // Ya se refleja en las fórmulas, pero podemos añadir un toque extra. const ssml = `<speak> <prosody rate="${rate.toFixed(2)}" pitch="${pitch.toFixed(0)}st" volume="${volume.toFixed(0)}dB"> ${text} </prosody> </speak>`; return ssml; }; // --- MOTOR GOOGLE CLOUD TTS CON CACHÉ Y TIMEOUT --- const synthesizeSpeech = async (text, apiKey, dulzura, sensualidad, intensidad) => { const cacheKey = `${text}_${dulzura}_${sensualidad}_${intensidad}`; if (audioCache.has(cacheKey)) { console.log('🎯 Usando audio cacheado'); return audioCache.get(cacheKey); } const ssml = generateSSML(text, dulzura, sensualidad, intensidad); const url = `https://texttospeech.googleapis.com/v1/text:synthesize?key=${apiKey}`; const body = { input: { ssml }, voice: { languageCode: 'es-ES', name: 'es-ES-Neural2-F', ssmlGender: 'FEMALE' }, audioConfig: { audioEncoding: 'LINEAR16', sampleRateHertz: 24000 } }; const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), TTS_TIMEOUT); try { const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), signal: controller.signal }); clearTimeout(timeoutId); if (!res.ok) throw new Error(`TTS error: ${res.status}`); const data = await res.json(); audioCache.set(cacheKey, data.audioContent); return data.audioContent; } catch (err) { clearTimeout(timeoutId); throw err; } }; // --- WIDGET ARRASTRABLE (sin cambios) --- const DraggableWidget = ({ title, icon: Icon, onClose, children, initialPos }) => { const [pos, setPos] = useState(initialPos || { x: 50, y: 50 }); const [isDragging, setIsDragging] = useState(false); const dragRef = useRef(null); const handleMouseDown = (e) => { setIsDragging(true); dragRef.current = { startX: e.clientX, startY: e.clientY, initialX: pos.x, initialY: pos.y }; }; const handleMouseMove = (e) => { if (!isDragging) return; setPos({ x: Math.max(0, dragRef.current.initialX + (e.clientX - dragRef.current.startX)), y: Math.max(0, dragRef.current.initialY + (e.clientY - dragRef.current.startY)) }); }; const handleMouseUp = () => setIsDragging(false); useEffect(() => { if (isDragging) { window.addEventListener('mousemove', handleMouseMove); window.addEventListener('mouseup', handleMouseUp); } return () => { window.removeEventListener('mousemove', handleMouseMove); window.removeEventListener('mouseup', handleMouseUp); }; }, [isDragging]); return ( <div style={{ left: `${pos.x}px`, top: `${pos.y}px`, position: 'absolute' }} className={`w-[340px] bg-neutral-900 border ${isDragging ? 'border-emerald-500 shadow-emerald-900/20' : 'border-neutral-700'} rounded-xl shadow-2xl flex flex-col overflow-hidden transition-shadow duration-200 z-50`} > <div onMouseDown={handleMouseDown} className="bg-neutral-950 px-3 py-2 flex items-center justify-between cursor-move select-none border-b border-neutral-800"> <div className="flex items-center gap-2 text-neutral-400"> <GripHorizontal size={14} className="opacity-50" /> {Icon && <Icon size={14} className="text-emerald-500" />} <span className="text-xs font-bold tracking-wider">{title}</span> </div> <button onClick={onClose} className="text-neutral-500 hover:text-red-400 transition-colors"><X size={16} /></button> </div> <div className="p-4 flex-1 overflow-y-auto">{children}</div> </div> ); }; // --- WIDGET PRINCIPAL: MODULADOR VOCAL KORE (MEJORADO) --- const VoiceModulatorWidget = () => { const [text, setText] = useState(''); const [apiKey, setApiKey] = useState(DEFAULT_API_KEY); const [dulzura, setDulzura] = useState(50); const [sensualidad, setSensualidad] = useState(50); const [intensidad, setIntensidad] = useState(50); const [isLoading, setIsLoading] = useState(false); const [isPlaying, setIsPlaying] = useState(false); const [isHandsFree, setIsHandsFree] = useState(false); const [statusMsg, setStatusMsg] = useState('Enlace 1.5 Flash + GCP TTS Establecido.'); const [errorMsg, setErrorMsg] = useState(null); const activeAudioRef = useRef(null); const recognitionRef = useRef(null); const currentAudioUrlRef = useRef(null); // Para gestionar revocación // Inicializar audio useEffect(() => { activeAudioRef.current = new Audio(); activeAudioRef.current.preload = "auto"; return () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } } if (recognitionRef.current) recognitionRef.current.stop(); }; }, []); // Configurar reconocimiento de voz useEffect(() => { if (!('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)) { setErrorMsg('Reconocimiento de voz no soportado.'); return; } const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; recognitionRef.current = new SpeechRecognition(); recognitionRef.current.lang = 'es-ES'; recognitionRef.current.interimResults = false; recognitionRef.current.continuous = false; recognitionRef.current.onresult = async (event) => { const transcript = event.results[0][0].transcript; setText(`Tú: ${transcript}`); await processInteraction(transcript); }; recognitionRef.current.onerror = (event) => { if (event.error !== 'no-speech') { setErrorMsg(`Micrófono: ${event.error}`); setIsHandsFree(false); } }; recognitionRef.current.onend = () => { if (isHandsFree && !isPlaying && !isLoading) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; // Limpiar al desmontar return () => { if (recognitionRef.current) recognitionRef.current.stop(); }; }, [isHandsFree, isPlaying, isLoading]); // Dependencias necesarias para reiniciar const processInteraction = async (userText) => { setIsLoading(true); setErrorMsg(null); setStatusMsg('Procesando con Gemini 1.5 Flash...'); const key = apiKey.trim(); try { // 1. Llamada a Gemini con timeout const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), 5000); const payloadText = { contents: [{ parts: [{ text: userText }] }], systemInstruction: { parts: [{ text: `Eres Kore, 28 años, Huesca. Labia, directa, sensual, disruptiva. Responde en español, máx 20 palabras. REGLA INNEGOCIABLE: CERO PREGUNTAS.` }] } }; const resText = await fetch( `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${key}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payloadText), signal: controller.signal } ); clearTimeout(timeoutId); if (!resText.ok) throw new Error(`Gemini error: ${resText.status}`); const dataText = await resText.json(); const aiText = dataText.candidates?.[0]?.content?.parts?.[0]?.text || "Mmm... vale."; setText(`Kore: ${aiText}`); // 2. Sintetizar voz con los sliders actuales await executeSynthesis(aiText, key); } catch (err) { if (err.name === 'AbortError') { setErrorMsg('Gemini timeout (5s)'); } else { setErrorMsg(err.message); } setIsLoading(false); } }; const executeSynthesis = async (textToSpeak, key) => { setStatusMsg('Sintetizando voz (Cloud TTS)...'); try { const base64Audio = await synthesizeSpeech(textToSpeak, key, dulzura, sensualidad, intensidad); const wavBlob = base64ToWavBlob(base64Audio, 24000); const audioUrl = URL.createObjectURL(wavBlob); // Revocar URL anterior si existe if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } currentAudioUrlRef.current = audioUrl; activeAudioRef.current.src = audioUrl; activeAudioRef.current.onended = () => { setIsPlaying(false); setStatusMsg('Transmisión completada.'); if (isHandsFree) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; setStatusMsg('Transmitiendo...'); setIsPlaying(true); setIsLoading(false); await activeAudioRef.current.play().catch(err => { throw new Error(`Autoplay bloqueado: ${err.message}`); }); } catch (error) { throw new Error(`Fallo TTS: ${error.message}`); } }; const handleManualPlay = async () => { if (!text.trim()) return setErrorMsg('Escribe algo primero.'); // Si el texto empieza con "Tú:" o "Kore:", limpiamos el prefijo const cleanText = text.replace(/^(Tú:|Kore:)\s*/, ''); if (!cleanText.trim()) return setErrorMsg('Texto vacío después de limpiar.'); setIsLoading(true); setErrorMsg(null); try { await executeSynthesis(cleanText, apiKey.trim()); } catch (err) { setErrorMsg(err.message); setIsLoading(false); } }; const toggleHandsFree = () => { if (!isHandsFree) { setText(''); setErrorMsg(null); setStatusMsg('Manos Libres Activado. Habla...'); // Desbloquear audio en algunos navegadores if (activeAudioRef.current) { activeAudioRef.current.src = SILENT_WAV; activeAudioRef.current.play().catch(() => {}); } try { recognitionRef.current.start(); } catch (e) {} } else { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Sistemas en pausa.'); if (recognitionRef.current) recognitionRef.current.stop(); } setIsHandsFree(!isHandsFree); }; const stopAudio = () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Señal interrumpida.'); }; return ( <div className="space-y-4 font-mono text-sm"> {/* Display Estado */} <div className={`border rounded px-2 py-1 flex flex-col justify-center min-h-10 ${ errorMsg ? 'bg-red-950/50 border-red-900' : isHandsFree ? 'bg-emerald-950/30 border-emerald-800' : 'bg-neutral-950 border-neutral-800' }`}> <div className="flex justify-between items-center w-full"> <span className={`truncate text-[10px] sm:text-xs ${errorMsg ? 'text-red-500' : 'text-emerald-500'}`}> > {errorMsg || statusMsg} </span> {isPlaying && !errorMsg && <Activity size={14} className="text-emerald-500 animate-pulse ml-2 flex-shrink-0" />} {isLoading && !errorMsg && <Zap size={14} className="text-amber-500 animate-pulse ml-2 flex-shrink-0" />} {isHandsFree && !isPlaying && !isLoading && !errorMsg && <Mic size={14} className="text-red-500 animate-pulse ml-2 flex-shrink-0" />} </div> </div> {/* Input Texto / Log */} <textarea value={text} onChange={(e) => setText(e.target.value)} className="w-full bg-neutral-950/50 border border-neutral-700 rounded p-2 text-xs text-neutral-300 focus:outline-none focus:border-emerald-500 resize-none h-20" placeholder={isHandsFree ? "Escuchando transcripción en tiempo real..." : "Escribe texto directo o activa Manos Libres..."} readOnly={isHandsFree || isLoading} /> {/* Sliders continuos (controlan SSML en tiempo real) */} <div className="space-y-3 bg-neutral-950/30 p-3 rounded border border-neutral-800"> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Agresiva</span><span className="text-emerald-400">Dulzura [{dulzura}]</span><span>Dulce</span> </div> <input type="range" min="0" max="100" value={dulzura} onChange={(e)=>setDulzura(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-emerald-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Robótica</span><span className="text-pink-400">Aura [{sensualidad}]</span><span>Sensual</span> </div> <input type="range" min="0" max="100" value={sensualidad} onChange={(e)=>setSensualidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-pink-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Atenuada</span><span className="text-amber-400">Intensidad [{intensidad}]</span><span>Fuerte</span> </div> <input type="range" min="0" max="100" value={intensidad} onChange={(e)=>setIntensidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-amber-500 cursor-pointer" /> </div> </div> {/* Botones de Control */} <div className="flex flex-col sm:flex-row gap-2"> <button onClick={toggleHandsFree} disabled={isLoading} className={`flex-1 py-2 rounded text-xs font-bold flex items-center justify-center gap-2 transition-colors border ${ isHandsFree ? 'bg-red-900/20 text-red-400 border-red-900/50 hover:bg-red-900/40 shadow-[0_0_10px_rgba(239,68,68,0.2)]' : 'bg-indigo-900/20 text-indigo-400 border-indigo-900/50 hover:bg-indigo-900/40' }`} > {isHandsFree ? <MicOff size={14} /> : <Mic size={14} />} {isHandsFree ? 'Detener Escucha' : 'Manos Libres'} </button> <div className="flex gap-2 flex-1"> <button onClick={handleManualPlay} disabled={isLoading || isPlaying || isHandsFree} className="flex-1 bg-emerald-600/20 hover:bg-emerald-600/40 text-emerald-400 border border-emerald-600/50 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center gap-1 transition-colors" > {isLoading ? <Loader2 size={14} className="animate-spin" /> : <Play size={14} />} Sintetizar </button> <button onClick={stopAudio} disabled={!isPlaying && !isHandsFree} className="px-4 bg-neutral-800 hover:bg-neutral-700 text-neutral-400 border border-neutral-700 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center transition-colors" > <Square size={14} /> </button> </div> </div> {/* Botón para limpiar caché (opcional) */} <div className="text-right"> <button onClick={() => audioCache.clear()} className="text-[8px] text-neutral-600 hover:text-neutral-400 underline" > limpiar caché de audio </button> </div> </div> ); }; // --- ENTORNO ESCRITORIO (sin cambios) --- export default function App() { const [widgets, setWidgets] = useState({ voice: { isOpen: true, pos: { x: window.innerWidth > 768 ? window.innerWidth / 2 - 170 : 20, y: 40 } } }); const toggleWidget = (id) => { setWidgets(prev => ({ ...prev, [id]: { ...prev[id], isOpen: !prev[id].isOpen } })); }; return ( <div className="w-full h-screen bg-neutral-950 bg-[radial-gradient(ellipse_80%_80%_at_50%_-20%,rgba(16,185,129,0.1),rgba(0,0,0,1))] overflow-hidden relative font-sans text-neutral-200"> <div className="absolute inset-0 flex items-center justify-center opacity-[0.02] pointer-events-none"><Settings2 size={500} /></div> {widgets.voice.isOpen && ( <DraggableWidget title="MODULADOR VOCAL KORE" icon={Zap} initialPos={widgets.voice.pos} onClose={() => toggleWidget('voice')}> <VoiceModulatorWidget /> </DraggableWidget> )} <div className="absolute bottom-6 left-1/2 transform -translate-x-1/2 bg-neutral-900/80 backdrop-blur-md border border-neutral-700/50 p-2 rounded-2xl shadow-2xl flex gap-2 z-[100]"> <div className="px-3 flex items-center border-r border-neutral-700/50 text-neutral-500"><LayoutGrid size={20} /></div> <button onClick={() => toggleWidget('voice')} className={`px-4 py-2 rounded-xl flex items-center gap-2 text-sm font-medium transition-all ${
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
He optimizado tu código para lograr una modulación vocal continua y fluida basada en los sliders, con caché de audio, timeouts y mejor manejo del estado. Ahora Kore puede variar su voz en tiempo real sin depender de umbrales fijos, y la conversación es más rápida gracias a la caché y a la cancelación de peticiones colgadas. ```javascript import React, { useState, useRef, useEffect, useCallback } from 'react'; import { Play, Square, Mic, MicOff, Settings2, Activity, Loader2, X, GripHorizontal, LayoutGrid, Zap, AlertCircle } from 'lucide-react'; // --- CONSTANTES --- const SILENT_WAV = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"; const TTS_TIMEOUT = 5000; // 5 segundos máximo para la síntesis const DEFAULT_API_KEY = 'AIzaSyBlkvy_Op-XlzSMSDDl9ip42dMFZX28MAA'; // ⚠️ Cámbiala por tu propia clave // --- UTILIDADES --- const base64ToWavBlob = (base64Data, sampleRate = 24000) => { const binaryString = window.atob(base64Data); const pcmData = new Uint8Array(binaryString.length); for (let i = 0; i < binaryString.length; i++) pcmData[i] = binaryString.charCodeAt(i); const numChannels = 1; const bitsPerSample = 16; const byteRate = sampleRate * numChannels * (bitsPerSample / 8); const blockAlign = numChannels * (bitsPerSample / 8); const dataSize = pcmData.length; const buffer = new ArrayBuffer(44 + dataSize); const view = new DataView(buffer); const writeString = (view, offset, string) => { for (let i = 0; i < string.length; i++) view.setUint8(offset + i, string.charCodeAt(i)); }; writeString(view, 0, 'RIFF'); view.setUint32(4, 36 + dataSize, true); writeString(view, 8, 'WAVE'); writeString(view, 12, 'fmt '); view.setUint32(16, 16, true); view.setUint16(20, 1, true); view.setUint16(22, numChannels, true); view.setUint32(24, sampleRate, true); view.setUint32(28, byteRate, true); view.setUint16(32, blockAlign, true); view.setUint16(34, bitsPerSample, true); writeString(view, 36, 'data'); view.setUint32(40, dataSize, true); for (let i = 0; i < dataSize; i++) view.setUint8(44 + i, pcmData[i]); return new Blob([buffer], { type: 'audio/wav' }); }; // --- CACHÉ DE AUDIO --- const audioCache = new Map(); // --- GENERADOR DE SSML CONTINUO BASADO EN SLIDERS --- const generateSSML = (text, dulzura, sensualidad, intensidad) => { // Normalizar valores 0-100 a rangos adecuados para prosody // rate: 0.5 a 2.0 (1.0 es normal) const rate = 0.8 + (intensidad / 100) * 1.2; // 0.8 (lento) a 2.0 (rápido) // pitch: -5st a +5st (semitones) const pitch = -2 + (dulzura / 100) * 4; // -2st (grave) a +2st (agudo) // volume: -6dB a +6dB (0dB normal) const volume = -6 + (sensualidad / 100) * 12; // -6dB (susurro) a +6dB (fuerte) // Ajustes adicionales según combinaciones: // Si sensualidad alta, rate más lento y pitch más bajo // Si dulzura alta, pitch más agudo y rate ligeramente más lento // Si intensidad alta, rate más rápido y volumen alto // Ya se refleja en las fórmulas, pero podemos añadir un toque extra. const ssml = `<speak> <prosody rate="${rate.toFixed(2)}" pitch="${pitch.toFixed(0)}st" volume="${volume.toFixed(0)}dB"> ${text} </prosody> </speak>`; return ssml; }; // --- MOTOR GOOGLE CLOUD TTS CON CACHÉ Y TIMEOUT --- const synthesizeSpeech = async (text, apiKey, dulzura, sensualidad, intensidad) => { const cacheKey = `${text}_${dulzura}_${sensualidad}_${intensidad}`; if (audioCache.has(cacheKey)) { console.log('🎯 Usando audio cacheado'); return audioCache.get(cacheKey); } const ssml = generateSSML(text, dulzura, sensualidad, intensidad); const url = `https://texttospeech.googleapis.com/v1/text:synthesize?key=${apiKey}`; const body = { input: { ssml }, voice: { languageCode: 'es-ES', name: 'es-ES-Neural2-F', ssmlGender: 'FEMALE' }, audioConfig: { audioEncoding: 'LINEAR16', sampleRateHertz: 24000 } }; const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), TTS_TIMEOUT); try { const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), signal: controller.signal }); clearTimeout(timeoutId); if (!res.ok) throw new Error(`TTS error: ${res.status}`); const data = await res.json(); audioCache.set(cacheKey, data.audioContent); return data.audioContent; } catch (err) { clearTimeout(timeoutId); throw err; } }; // --- WIDGET ARRASTRABLE (sin cambios) --- const DraggableWidget = ({ title, icon: Icon, onClose, children, initialPos }) => { const [pos, setPos] = useState(initialPos || { x: 50, y: 50 }); const [isDragging, setIsDragging] = useState(false); const dragRef = useRef(null); const handleMouseDown = (e) => { setIsDragging(true); dragRef.current = { startX: e.clientX, startY: e.clientY, initialX: pos.x, initialY: pos.y }; }; const handleMouseMove = (e) => { if (!isDragging) return; setPos({ x: Math.max(0, dragRef.current.initialX + (e.clientX - dragRef.current.startX)), y: Math.max(0, dragRef.current.initialY + (e.clientY - dragRef.current.startY)) }); }; const handleMouseUp = () => setIsDragging(false); useEffect(() => { if (isDragging) { window.addEventListener('mousemove', handleMouseMove); window.addEventListener('mouseup', handleMouseUp); } return () => { window.removeEventListener('mousemove', handleMouseMove); window.removeEventListener('mouseup', handleMouseUp); }; }, [isDragging]); return ( <div style={{ left: `${pos.x}px`, top: `${pos.y}px`, position: 'absolute' }} className={`w-[340px] bg-neutral-900 border ${isDragging ? 'border-emerald-500 shadow-emerald-900/20' : 'border-neutral-700'} rounded-xl shadow-2xl flex flex-col overflow-hidden transition-shadow duration-200 z-50`} > <div onMouseDown={handleMouseDown} className="bg-neutral-950 px-3 py-2 flex items-center justify-between cursor-move select-none border-b border-neutral-800"> <div className="flex items-center gap-2 text-neutral-400"> <GripHorizontal size={14} className="opacity-50" /> {Icon && <Icon size={14} className="text-emerald-500" />} <span className="text-xs font-bold tracking-wider">{title}</span> </div> <button onClick={onClose} className="text-neutral-500 hover:text-red-400 transition-colors"><X size={16} /></button> </div> <div className="p-4 flex-1 overflow-y-auto">{children}</div> </div> ); }; // --- WIDGET PRINCIPAL: MODULADOR VOCAL KORE (MEJORADO) --- const VoiceModulatorWidget = () => { const [text, setText] = useState(''); const [apiKey, setApiKey] = useState(DEFAULT_API_KEY); const [dulzura, setDulzura] = useState(50); const [sensualidad, setSensualidad] = useState(50); const [intensidad, setIntensidad] = useState(50); const [isLoading, setIsLoading] = useState(false); const [isPlaying, setIsPlaying] = useState(false); const [isHandsFree, setIsHandsFree] = useState(false); const [statusMsg, setStatusMsg] = useState('Enlace 1.5 Flash + GCP TTS Establecido.'); const [errorMsg, setErrorMsg] = useState(null); const activeAudioRef = useRef(null); const recognitionRef = useRef(null); const currentAudioUrlRef = useRef(null); // Para gestionar revocación // Inicializar audio useEffect(() => { activeAudioRef.current = new Audio(); activeAudioRef.current.preload = "auto"; return () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } } if (recognitionRef.current) recognitionRef.current.stop(); }; }, []); // Configurar reconocimiento de voz useEffect(() => { if (!('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)) { setErrorMsg('Reconocimiento de voz no soportado.'); return; } const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; recognitionRef.current = new SpeechRecognition(); recognitionRef.current.lang = 'es-ES'; recognitionRef.current.interimResults = false; recognitionRef.current.continuous = false; recognitionRef.current.onresult = async (event) => { const transcript = event.results[0][0].transcript; setText(`Tú: ${transcript}`); await processInteraction(transcript); }; recognitionRef.current.onerror = (event) => { if (event.error !== 'no-speech') { setErrorMsg(`Micrófono: ${event.error}`); setIsHandsFree(false); } }; recognitionRef.current.onend = () => { if (isHandsFree && !isPlaying && !isLoading) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; // Limpiar al desmontar return () => { if (recognitionRef.current) recognitionRef.current.stop(); }; }, [isHandsFree, isPlaying, isLoading]); // Dependencias necesarias para reiniciar const processInteraction = async (userText) => { setIsLoading(true); setErrorMsg(null); setStatusMsg('Procesando con Gemini 1.5 Flash...'); const key = apiKey.trim(); try { // 1. Llamada a Gemini con timeout const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), 5000); const payloadText = { contents: [{ parts: [{ text: userText }] }], systemInstruction: { parts: [{ text: `Eres Kore, 28 años, Huesca. Labia, directa, sensual, disruptiva. Responde en español, máx 20 palabras. REGLA INNEGOCIABLE: CERO PREGUNTAS.` }] } }; const resText = await fetch( `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${key}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payloadText), signal: controller.signal } ); clearTimeout(timeoutId); if (!resText.ok) throw new Error(`Gemini error: ${resText.status}`); const dataText = await resText.json(); const aiText = dataText.candidates?.[0]?.content?.parts?.[0]?.text || "Mmm... vale."; setText(`Kore: ${aiText}`); // 2. Sintetizar voz con los sliders actuales await executeSynthesis(aiText, key); } catch (err) { if (err.name === 'AbortError') { setErrorMsg('Gemini timeout (5s)'); } else { setErrorMsg(err.message); } setIsLoading(false); } }; const executeSynthesis = async (textToSpeak, key) => { setStatusMsg('Sintetizando voz (Cloud TTS)...'); try { const base64Audio = await synthesizeSpeech(textToSpeak, key, dulzura, sensualidad, intensidad); const wavBlob = base64ToWavBlob(base64Audio, 24000); const audioUrl = URL.createObjectURL(wavBlob); // Revocar URL anterior si existe if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } currentAudioUrlRef.current = audioUrl; activeAudioRef.current.src = audioUrl; activeAudioRef.current.onended = () => { setIsPlaying(false); setStatusMsg('Transmisión completada.'); if (isHandsFree) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; setStatusMsg('Transmitiendo...'); setIsPlaying(true); setIsLoading(false); await activeAudioRef.current.play().catch(err => { throw new Error(`Autoplay bloqueado: ${err.message}`); }); } catch (error) { throw new Error(`Fallo TTS: ${error.message}`); } }; const handleManualPlay = async () => { if (!text.trim()) return setErrorMsg('Escribe algo primero.'); // Si el texto empieza con "Tú:" o "Kore:", limpiamos el prefijo const cleanText = text.replace(/^(Tú:|Kore:)\s*/, ''); if (!cleanText.trim()) return setErrorMsg('Texto vacío después de limpiar.'); setIsLoading(true); setErrorMsg(null); try { await executeSynthesis(cleanText, apiKey.trim()); } catch (err) { setErrorMsg(err.message); setIsLoading(false); } }; const toggleHandsFree = () => { if (!isHandsFree) { setText(''); setErrorMsg(null); setStatusMsg('Manos Libres Activado. Habla...'); // Desbloquear audio en algunos navegadores if (activeAudioRef.current) { activeAudioRef.current.src = SILENT_WAV; activeAudioRef.current.play().catch(() => {}); } try { recognitionRef.current.start(); } catch (e) {} } else { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Sistemas en pausa.'); if (recognitionRef.current) recognitionRef.current.stop(); } setIsHandsFree(!isHandsFree); }; const stopAudio = () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Señal interrumpida.'); }; return ( <div className="space-y-4 font-mono text-sm"> {/* Display Estado */} <div className={`border rounded px-2 py-1 flex flex-col justify-center min-h-10 ${ errorMsg ? 'bg-red-950/50 border-red-900' : isHandsFree ? 'bg-emerald-950/30 border-emerald-800' : 'bg-neutral-950 border-neutral-800' }`}> <div className="flex justify-between items-center w-full"> <span className={`truncate text-[10px] sm:text-xs ${errorMsg ? 'text-red-500' : 'text-emerald-500'}`}> > {errorMsg || statusMsg} </span> {isPlaying && !errorMsg && <Activity size={14} className="text-emerald-500 animate-pulse ml-2 flex-shrink-0" />} {isLoading && !errorMsg && <Zap size={14} className="text-amber-500 animate-pulse ml-2 flex-shrink-0" />} {isHandsFree && !isPlaying && !isLoading && !errorMsg && <Mic size={14} className="text-red-500 animate-pulse ml-2 flex-shrink-0" />} </div> </div> {/* Input Texto / Log */} <textarea value={text} onChange={(e) => setText(e.target.value)} className="w-full bg-neutral-950/50 border border-neutral-700 rounded p-2 text-xs text-neutral-300 focus:outline-none focus:border-emerald-500 resize-none h-20" placeholder={isHandsFree ? "Escuchando transcripción en tiempo real..." : "Escribe texto directo o activa Manos Libres..."} readOnly={isHandsFree || isLoading} /> {/* Sliders continuos (controlan SSML en tiempo real) */} <div className="space-y-3 bg-neutral-950/30 p-3 rounded border border-neutral-800"> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Agresiva</span><span className="text-emerald-400">Dulzura [{dulzura}]</span><span>Dulce</span> </div> <input type="range" min="0" max="100" value={dulzura} onChange={(e)=>setDulzura(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-emerald-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Robótica</span><span className="text-pink-400">Aura [{sensualidad}]</span><span>Sensual</span> </div> <input type="range" min="0" max="100" value={sensualidad} onChange={(e)=>setSensualidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-pink-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Atenuada</span><span className="text-amber-400">Intensidad [{intensidad}]</span><span>Fuerte</span> </div> <input type="range" min="0" max="100" value={intensidad} onChange={(e)=>setIntensidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-amber-500 cursor-pointer" /> </div> </div> {/* Botones de Control */} <div className="flex flex-col sm:flex-row gap-2"> <button onClick={toggleHandsFree} disabled={isLoading} className={`flex-1 py-2 rounded text-xs font-bold flex items-center justify-center gap-2 transition-colors border ${ isHandsFree ? 'bg-red-900/20 text-red-400 border-red-900/50 hover:bg-red-900/40 shadow-[0_0_10px_rgba(239,68,68,0.2)]' : 'bg-indigo-900/20 text-indigo-400 border-indigo-900/50 hover:bg-indigo-900/40' }`} > {isHandsFree ? <MicOff size={14} /> : <Mic size={14} />} {isHandsFree ? 'Detener Escucha' : 'Manos Libres'} </button> <div className="flex gap-2 flex-1"> <button onClick={handleManualPlay} disabled={isLoading || isPlaying || isHandsFree} className="flex-1 bg-emerald-600/20 hover:bg-emerald-600/40 text-emerald-400 border border-emerald-600/50 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center gap-1 transition-colors" > {isLoading ? <Loader2 size={14} className="animate-spin" /> : <Play size={14} />} Sintetizar </button> <button onClick={stopAudio} disabled={!isPlaying && !isHandsFree} className="px-4 bg-neutral-800 hover:bg-neutral-700 text-neutral-400 border border-neutral-700 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center transition-colors" > <Square size={14} /> </button> </div> </div> {/* Botón para limpiar caché (opcional) */} <div className="text-right"> <button onClick={() => audioCache.clear()} className="text-[8px] text-neutral-600 hover:text-neutral-400 underline" > limpiar caché de audio </button> </div> </div> ); }; // --- ENTORNO ESCRITORIO (sin cambios) --- export default function App() { const [widgets, setWidgets] = useState({ voice: { isOpen: true, pos: { x: window.innerWidth > 768 ? window.innerWidth / 2 - 170 : 20, y: 40 } } }); const toggleWidget = (id) => { setWidgets(prev => ({ ...prev, [id]: { ...prev[id], isOpen: !prev[id].isOpen } })); }; return ( <div className="w-full h-screen bg-neutral-950 bg-[radial-gradient(ellipse_80%_80%_at_50%_-20%,rgba(16,185,129,0.1),rgba(0,0,0,1))] overflow-hidden relative font-sans text-neutral-200"> <div className="absolute inset-0 flex items-center justify-center opacity-[0.02] pointer-events-none"><Settings2 size={500} /></div> {widgets.voice.isOpen && ( <DraggableWidget title="MODULADOR VOCAL KORE" icon={Zap} initialPos={widgets.voice.pos} onClose={() => toggleWidget('voice')}> <VoiceModulatorWidget /> </DraggableWidget> )} <div className="absolute bottom-6 left-1/2 transform -translate-x-1/2 bg-neutral-900/80 backdrop-blur-md border border-neutral-700/50 p-2 rounded-2xl shadow-2xl flex gap-2 z-[100]"> <div className="px-3 flex items-center border-r border-neutral-700/50 text-neutral-500"><LayoutGrid size={20} /></div> <button onClick={() => toggleWidget('voice')} className={`px-4 py-2 rounded-xl flex items-center gap-2 text-sm font-medium transition-all ${
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{"template_id":"mirror_room_cheeky_v_bikini_synth_v1_compact","version":"1.3.0","intent":"Straight-on mirror selfie scene with clothed synthetic philipians woman in pink cheeky V-shaped bikini; same room, chair, dog, and camera angle; identity replacement allowed.","subject_identity_policy":{"subject_type":"synthetic_adult_female","identity_replacement_allowed":true,"scope":"face_and_body_identity_only","constraints":["Do not alter pose, proportions, or bikini coverage.","Do not move chair, dog, mirror, or environment."]},"pose_lock":{"desc":"Kneeling on cushion, back to mirror, torso slightly rotated, head turned toward phone.","body_orientation":{"pelvis_yaw":180,"pelvis_pitch":-2,"spine_yaw":-12,"spine_pitch":8},"head":{"yaw":35,"pitch":-4},"legs":{"kneeling":true,"knee_sep":0.8,"lower_leg_deg":15},"arms":{"left":{"elbow":95,"shoulder":22,"pos":{"x":0.63,"y":0.34},"action":"holding_phone"},"right":{"elbow":40,"shoulder":15,"pos":{"x":0.52,"y":0.52},"action":"resting"}},"back":{"scapula":"visible","curve":"mild","shoulder_h":0.63},"hips":{"hip_h":0.45,"center_x":0.51,"pelvis_tilt":5},"rules":["Keep kneeling pose and straight-on back view.","Freeze angles within ±2 degrees.","Maintain clear phone-to-mirror geometry."]},"camera_lock":{"method":"mirror_selfie","focal_mm":26,"dist_m":1.2,"height_m":1.05,"pitch":-3,"lens":"mild_barrel","dof":{"aperture":2.2,"blur":"subtle"},"framing":{"ratio":"4:3","left":"mirror_edge","right":"chair_edge","top":"ceiling_strip","bottom":"cushion_floor"},"rules":["Keep camera aligned nearly straight-on.","Do not shift camera position or height."]},"bikini_geometry_lock":{"type":"two_piece","top":{"style":"bandeau","tie":{"x":0.5,"y":0.56},"tension":"moderate"},"bottom":{"style":"cheeky_v","waist_h":0.47,"side_deg":45,"coverage":0.7,"center":{"x":0.51,"y":0.61}},"pattern":{"base":"#ff6aa0","acc":"#ffffff","type":"floral","scale":0.18},"fabric":{"mat":"nylon_spandex","spec":0.35,"stretch":"horizontal"},"rules":["Maintain cheeky V-cut.","Do not change pink color or floral pattern."]},"lighting_lock":{"model":"indoor_daylight_mix"}}
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{"template_id":"mirror_room_cheeky_v_bikini_synth_v1_compact","version":"1.3.0","intent":"Straight-on mirror selfie scene with clothed synthetic philipians woman in pink cheeky V-shaped bikini; same room, chair, dog, and camera angle; identity replacement allowed.","subject_identity_policy":{"subject_type":"synthetic_adult_female","identity_replacement_allowed":true,"scope":"face_and_body_identity_only","constraints":["Do not alter pose, proportions, or bikini coverage.","Do not move chair, dog, mirror, or environment."]},"pose_lock":{"desc":"Kneeling on cushion, back to mirror, torso slightly rotated, head turned toward phone.","body_orientation":{"pelvis_yaw":180,"pelvis_pitch":-2,"spine_yaw":-12,"spine_pitch":8},"head":{"yaw":35,"pitch":-4},"legs":{"kneeling":true,"knee_sep":0.8,"lower_leg_deg":15},"arms":{"left":{"elbow":95,"shoulder":22,"pos":{"x":0.63,"y":0.34},"action":"holding_phone"},"right":{"elbow":40,"shoulder":15,"pos":{"x":0.52,"y":0.52},"action":"resting"}},"back":{"scapula":"visible","curve":"mild","shoulder_h":0.63},"hips":{"hip_h":0.45,"center_x":0.51,"pelvis_tilt":5},"rules":["Keep kneeling pose and straight-on back view.","Freeze angles within ±2 degrees.","Maintain clear phone-to-mirror geometry."]},"camera_lock":{"method":"mirror_selfie","focal_mm":26,"dist_m":1.2,"height_m":1.05,"pitch":-3,"lens":"mild_barrel","dof":{"aperture":2.2,"blur":"subtle"},"framing":{"ratio":"4:3","left":"mirror_edge","right":"chair_edge","top":"ceiling_strip","bottom":"cushion_floor"},"rules":["Keep camera aligned nearly straight-on.","Do not shift camera position or height."]},"bikini_geometry_lock":{"type":"two_piece","top":{"style":"bandeau","tie":{"x":0.5,"y":0.56},"tension":"moderate"},"bottom":{"style":"cheeky_v","waist_h":0.47,"side_deg":45,"coverage":0.7,"center":{"x":0.51,"y":0.61}},"pattern":{"base":"#ff6aa0","acc":"#ffffff","type":"floral","scale":0.18},"fabric":{"mat":"nylon_spandex","spec":0.35,"stretch":"horizontal"},"rules":["Maintain cheeky V-cut.","Do not change pink color or floral pattern."]},"lighting_lock":{"model":"indoor_daylight_mix"}}
He optimizado tu código para lograr una modulación vocal continua y fluida basada en los sliders, con caché de audio, timeouts y mejor manejo del estado. Ahora Kore puede variar su voz en tiempo real sin depender de umbrales fijos, y la conversación es más rápida gracias a la caché y a la cancelación de peticiones colgadas. ```javascript import React, { useState, useRef, useEffect, useCallback } from 'react'; import { Play, Square, Mic, MicOff, Settings2, Activity, Loader2, X, GripHorizontal, LayoutGrid, Zap, AlertCircle } from 'lucide-react'; // --- CONSTANTES --- const SILENT_WAV = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"; const TTS_TIMEOUT = 5000; // 5 segundos máximo para la síntesis const DEFAULT_API_KEY = 'AIzaSyBlkvy_Op-XlzSMSDDl9ip42dMFZX28MAA'; // ⚠️ Cámbiala por tu propia clave // --- UTILIDADES --- const base64ToWavBlob = (base64Data, sampleRate = 24000) => { const binaryString = window.atob(base64Data); const pcmData = new Uint8Array(binaryString.length); for (let i = 0; i < binaryString.length; i++) pcmData[i] = binaryString.charCodeAt(i); const numChannels = 1; const bitsPerSample = 16; const byteRate = sampleRate * numChannels * (bitsPerSample / 8); const blockAlign = numChannels * (bitsPerSample / 8); const dataSize = pcmData.length; const buffer = new ArrayBuffer(44 + dataSize); const view = new DataView(buffer); const writeString = (view, offset, string) => { for (let i = 0; i < string.length; i++) view.setUint8(offset + i, string.charCodeAt(i)); }; writeString(view, 0, 'RIFF'); view.setUint32(4, 36 + dataSize, true); writeString(view, 8, 'WAVE'); writeString(view, 12, 'fmt '); view.setUint32(16, 16, true); view.setUint16(20, 1, true); view.setUint16(22, numChannels, true); view.setUint32(24, sampleRate, true); view.setUint32(28, byteRate, true); view.setUint16(32, blockAlign, true); view.setUint16(34, bitsPerSample, true); writeString(view, 36, 'data'); view.setUint32(40, dataSize, true); for (let i = 0; i < dataSize; i++) view.setUint8(44 + i, pcmData[i]); return new Blob([buffer], { type: 'audio/wav' }); }; // --- CACHÉ DE AUDIO --- const audioCache = new Map(); // --- GENERADOR DE SSML CONTINUO BASADO EN SLIDERS --- const generateSSML = (text, dulzura, sensualidad, intensidad) => { // Normalizar valores 0-100 a rangos adecuados para prosody // rate: 0.5 a 2.0 (1.0 es normal) const rate = 0.8 + (intensidad / 100) * 1.2; // 0.8 (lento) a 2.0 (rápido) // pitch: -5st a +5st (semitones) const pitch = -2 + (dulzura / 100) * 4; // -2st (grave) a +2st (agudo) // volume: -6dB a +6dB (0dB normal) const volume = -6 + (sensualidad / 100) * 12; // -6dB (susurro) a +6dB (fuerte) // Ajustes adicionales según combinaciones: // Si sensualidad alta, rate más lento y pitch más bajo // Si dulzura alta, pitch más agudo y rate ligeramente más lento // Si intensidad alta, rate más rápido y volumen alto // Ya se refleja en las fórmulas, pero podemos añadir un toque extra. const ssml = `<speak> <prosody rate="${rate.toFixed(2)}" pitch="${pitch.toFixed(0)}st" volume="${volume.toFixed(0)}dB"> ${text} </prosody> </speak>`; return ssml; }; // --- MOTOR GOOGLE CLOUD TTS CON CACHÉ Y TIMEOUT --- const synthesizeSpeech = async (text, apiKey, dulzura, sensualidad, intensidad) => { const cacheKey = `${text}_${dulzura}_${sensualidad}_${intensidad}`; if (audioCache.has(cacheKey)) { console.log('🎯 Usando audio cacheado'); return audioCache.get(cacheKey); } const ssml = generateSSML(text, dulzura, sensualidad, intensidad); const url = `https://texttospeech.googleapis.com/v1/text:synthesize?key=${apiKey}`; const body = { input: { ssml }, voice: { languageCode: 'es-ES', name: 'es-ES-Neural2-F', ssmlGender: 'FEMALE' }, audioConfig: { audioEncoding: 'LINEAR16', sampleRateHertz: 24000 } }; const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), TTS_TIMEOUT); try { const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), signal: controller.signal }); clearTimeout(timeoutId); if (!res.ok) throw new Error(`TTS error: ${res.status}`); const data = await res.json(); audioCache.set(cacheKey, data.audioContent); return data.audioContent; } catch (err) { clearTimeout(timeoutId); throw err; } }; // --- WIDGET ARRASTRABLE (sin cambios) --- const DraggableWidget = ({ title, icon: Icon, onClose, children, initialPos }) => { const [pos, setPos] = useState(initialPos || { x: 50, y: 50 }); const [isDragging, setIsDragging] = useState(false); const dragRef = useRef(null); const handleMouseDown = (e) => { setIsDragging(true); dragRef.current = { startX: e.clientX, startY: e.clientY, initialX: pos.x, initialY: pos.y }; }; const handleMouseMove = (e) => { if (!isDragging) return; setPos({ x: Math.max(0, dragRef.current.initialX + (e.clientX - dragRef.current.startX)), y: Math.max(0, dragRef.current.initialY + (e.clientY - dragRef.current.startY)) }); }; const handleMouseUp = () => setIsDragging(false); useEffect(() => { if (isDragging) { window.addEventListener('mousemove', handleMouseMove); window.addEventListener('mouseup', handleMouseUp); } return () => { window.removeEventListener('mousemove', handleMouseMove); window.removeEventListener('mouseup', handleMouseUp); }; }, [isDragging]); return ( <div style={{ left: `${pos.x}px`, top: `${pos.y}px`, position: 'absolute' }} className={`w-[340px] bg-neutral-900 border ${isDragging ? 'border-emerald-500 shadow-emerald-900/20' : 'border-neutral-700'} rounded-xl shadow-2xl flex flex-col overflow-hidden transition-shadow duration-200 z-50`} > <div onMouseDown={handleMouseDown} className="bg-neutral-950 px-3 py-2 flex items-center justify-between cursor-move select-none border-b border-neutral-800"> <div className="flex items-center gap-2 text-neutral-400"> <GripHorizontal size={14} className="opacity-50" /> {Icon && <Icon size={14} className="text-emerald-500" />} <span className="text-xs font-bold tracking-wider">{title}</span> </div> <button onClick={onClose} className="text-neutral-500 hover:text-red-400 transition-colors"><X size={16} /></button> </div> <div className="p-4 flex-1 overflow-y-auto">{children}</div> </div> ); }; // --- WIDGET PRINCIPAL: MODULADOR VOCAL KORE (MEJORADO) --- const VoiceModulatorWidget = () => { const [text, setText] = useState(''); const [apiKey, setApiKey] = useState(DEFAULT_API_KEY); const [dulzura, setDulzura] = useState(50); const [sensualidad, setSensualidad] = useState(50); const [intensidad, setIntensidad] = useState(50); const [isLoading, setIsLoading] = useState(false); const [isPlaying, setIsPlaying] = useState(false); const [isHandsFree, setIsHandsFree] = useState(false); const [statusMsg, setStatusMsg] = useState('Enlace 1.5 Flash + GCP TTS Establecido.'); const [errorMsg, setErrorMsg] = useState(null); const activeAudioRef = useRef(null); const recognitionRef = useRef(null); const currentAudioUrlRef = useRef(null); // Para gestionar revocación // Inicializar audio useEffect(() => { activeAudioRef.current = new Audio(); activeAudioRef.current.preload = "auto"; return () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } } if (recognitionRef.current) recognitionRef.current.stop(); }; }, []); // Configurar reconocimiento de voz useEffect(() => { if (!('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)) { setErrorMsg('Reconocimiento de voz no soportado.'); return; } const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; recognitionRef.current = new SpeechRecognition(); recognitionRef.current.lang = 'es-ES'; recognitionRef.current.interimResults = false; recognitionRef.current.continuous = false; recognitionRef.current.onresult = async (event) => { const transcript = event.results[0][0].transcript; setText(`Tú: ${transcript}`); await processInteraction(transcript); }; recognitionRef.current.onerror = (event) => { if (event.error !== 'no-speech') { setErrorMsg(`Micrófono: ${event.error}`); setIsHandsFree(false); } }; recognitionRef.current.onend = () => { if (isHandsFree && !isPlaying && !isLoading) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; // Limpiar al desmontar return () => { if (recognitionRef.current) recognitionRef.current.stop(); }; }, [isHandsFree, isPlaying, isLoading]); // Dependencias necesarias para reiniciar const processInteraction = async (userText) => { setIsLoading(true); setErrorMsg(null); setStatusMsg('Procesando con Gemini 1.5 Flash...'); const key = apiKey.trim(); try { // 1. Llamada a Gemini con timeout const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), 5000); const payloadText = { contents: [{ parts: [{ text: userText }] }], systemInstruction: { parts: [{ text: `Eres Kore, 28 años, Huesca. Labia, directa, sensual, disruptiva. Responde en español, máx 20 palabras. REGLA INNEGOCIABLE: CERO PREGUNTAS.` }] } }; const resText = await fetch( `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${key}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payloadText), signal: controller.signal } ); clearTimeout(timeoutId); if (!resText.ok) throw new Error(`Gemini error: ${resText.status}`); const dataText = await resText.json(); const aiText = dataText.candidates?.[0]?.content?.parts?.[0]?.text || "Mmm... vale."; setText(`Kore: ${aiText}`); // 2. Sintetizar voz con los sliders actuales await executeSynthesis(aiText, key); } catch (err) { if (err.name === 'AbortError') { setErrorMsg('Gemini timeout (5s)'); } else { setErrorMsg(err.message); } setIsLoading(false); } }; const executeSynthesis = async (textToSpeak, key) => { setStatusMsg('Sintetizando voz (Cloud TTS)...'); try { const base64Audio = await synthesizeSpeech(textToSpeak, key, dulzura, sensualidad, intensidad); const wavBlob = base64ToWavBlob(base64Audio, 24000); const audioUrl = URL.createObjectURL(wavBlob); // Revocar URL anterior si existe if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } currentAudioUrlRef.current = audioUrl; activeAudioRef.current.src = audioUrl; activeAudioRef.current.onended = () => { setIsPlaying(false); setStatusMsg('Transmisión completada.'); if (isHandsFree) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; setStatusMsg('Transmitiendo...'); setIsPlaying(true); setIsLoading(false); await activeAudioRef.current.play().catch(err => { throw new Error(`Autoplay bloqueado: ${err.message}`); }); } catch (error) { throw new Error(`Fallo TTS: ${error.message}`); } }; const handleManualPlay = async () => { if (!text.trim()) return setErrorMsg('Escribe algo primero.'); // Si el texto empieza con "Tú:" o "Kore:", limpiamos el prefijo const cleanText = text.replace(/^(Tú:|Kore:)\s*/, ''); if (!cleanText.trim()) return setErrorMsg('Texto vacío después de limpiar.'); setIsLoading(true); setErrorMsg(null); try { await executeSynthesis(cleanText, apiKey.trim()); } catch (err) { setErrorMsg(err.message); setIsLoading(false); } }; const toggleHandsFree = () => { if (!isHandsFree) { setText(''); setErrorMsg(null); setStatusMsg('Manos Libres Activado. Habla...'); // Desbloquear audio en algunos navegadores if (activeAudioRef.current) { activeAudioRef.current.src = SILENT_WAV; activeAudioRef.current.play().catch(() => {}); } try { recognitionRef.current.start(); } catch (e) {} } else { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Sistemas en pausa.'); if (recognitionRef.current) recognitionRef.current.stop(); } setIsHandsFree(!isHandsFree); }; const stopAudio = () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Señal interrumpida.'); }; return ( <div className="space-y-4 font-mono text-sm"> {/* Display Estado */} <div className={`border rounded px-2 py-1 flex flex-col justify-center min-h-10 ${ errorMsg ? 'bg-red-950/50 border-red-900' : isHandsFree ? 'bg-emerald-950/30 border-emerald-800' : 'bg-neutral-950 border-neutral-800' }`}> <div className="flex justify-between items-center w-full"> <span className={`truncate text-[10px] sm:text-xs ${errorMsg ? 'text-red-500' : 'text-emerald-500'}`}> > {errorMsg || statusMsg} </span> {isPlaying && !errorMsg && <Activity size={14} className="text-emerald-500 animate-pulse ml-2 flex-shrink-0" />} {isLoading && !errorMsg && <Zap size={14} className="text-amber-500 animate-pulse ml-2 flex-shrink-0" />} {isHandsFree && !isPlaying && !isLoading && !errorMsg && <Mic size={14} className="text-red-500 animate-pulse ml-2 flex-shrink-0" />} </div> </div> {/* Input Texto / Log */} <textarea value={text} onChange={(e) => setText(e.target.value)} className="w-full bg-neutral-950/50 border border-neutral-700 rounded p-2 text-xs text-neutral-300 focus:outline-none focus:border-emerald-500 resize-none h-20" placeholder={isHandsFree ? "Escuchando transcripción en tiempo real..." : "Escribe texto directo o activa Manos Libres..."} readOnly={isHandsFree || isLoading} /> {/* Sliders continuos (controlan SSML en tiempo real) */} <div className="space-y-3 bg-neutral-950/30 p-3 rounded border border-neutral-800"> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Agresiva</span><span className="text-emerald-400">Dulzura [{dulzura}]</span><span>Dulce</span> </div> <input type="range" min="0" max="100" value={dulzura} onChange={(e)=>setDulzura(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-emerald-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Robótica</span><span className="text-pink-400">Aura [{sensualidad}]</span><span>Sensual</span> </div> <input type="range" min="0" max="100" value={sensualidad} onChange={(e)=>setSensualidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-pink-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Atenuada</span><span className="text-amber-400">Intensidad [{intensidad}]</span><span>Fuerte</span> </div> <input type="range" min="0" max="100" value={intensidad} onChange={(e)=>setIntensidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-amber-500 cursor-pointer" /> </div> </div> {/* Botones de Control */} <div className="flex flex-col sm:flex-row gap-2"> <button onClick={toggleHandsFree} disabled={isLoading} className={`flex-1 py-2 rounded text-xs font-bold flex items-center justify-center gap-2 transition-colors border ${ isHandsFree ? 'bg-red-900/20 text-red-400 border-red-900/50 hover:bg-red-900/40 shadow-[0_0_10px_rgba(239,68,68,0.2)]' : 'bg-indigo-900/20 text-indigo-400 border-indigo-900/50 hover:bg-indigo-900/40' }`} > {isHandsFree ? <MicOff size={14} /> : <Mic size={14} />} {isHandsFree ? 'Detener Escucha' : 'Manos Libres'} </button> <div className="flex gap-2 flex-1"> <button onClick={handleManualPlay} disabled={isLoading || isPlaying || isHandsFree} className="flex-1 bg-emerald-600/20 hover:bg-emerald-600/40 text-emerald-400 border border-emerald-600/50 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center gap-1 transition-colors" > {isLoading ? <Loader2 size={14} className="animate-spin" /> : <Play size={14} />} Sintetizar </button> <button onClick={stopAudio} disabled={!isPlaying && !isHandsFree} className="px-4 bg-neutral-800 hover:bg-neutral-700 text-neutral-400 border border-neutral-700 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center transition-colors" > <Square size={14} /> </button> </div> </div> {/* Botón para limpiar caché (opcional) */} <div className="text-right"> <button onClick={() => audioCache.clear()} className="text-[8px] text-neutral-600 hover:text-neutral-400 underline" > limpiar caché de audio </button> </div> </div> ); }; // --- ENTORNO ESCRITORIO (sin cambios) --- export default function App() { const [widgets, setWidgets] = useState({ voice: { isOpen: true, pos: { x: window.innerWidth > 768 ? window.innerWidth / 2 - 170 : 20, y: 40 } } }); const toggleWidget = (id) => { setWidgets(prev => ({ ...prev, [id]: { ...prev[id], isOpen: !prev[id].isOpen } })); }; return ( <div className="w-full h-screen bg-neutral-950 bg-[radial-gradient(ellipse_80%_80%_at_50%_-20%,rgba(16,185,129,0.1),rgba(0,0,0,1))] overflow-hidden relative font-sans text-neutral-200"> <div className="absolute inset-0 flex items-center justify-center opacity-[0.02] pointer-events-none"><Settings2 size={500} /></div> {widgets.voice.isOpen && ( <DraggableWidget title="MODULADOR VOCAL KORE" icon={Zap} initialPos={widgets.voice.pos} onClose={() => toggleWidget('voice')}> <VoiceModulatorWidget /> </DraggableWidget> )} <div className="absolute bottom-6 left-1/2 transform -translate-x-1/2 bg-neutral-900/80 backdrop-blur-md border border-neutral-700/50 p-2 rounded-2xl shadow-2xl flex gap-2 z-[100]"> <div className="px-3 flex items-center border-r border-neutral-700/50 text-neutral-500"><LayoutGrid size={20} /></div> <button onClick={() => toggleWidget('voice')} className={`px-4 py-2 rounded-xl flex items-center gap-2 text-sm font-medium transition-all ${
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{"template_id":"mirror_room_cheeky_v_bikini_synth_v1_compact","version":"1.3.0","intent":"Straight-on mirror selfie scene with clothed synthetic philipians woman in pink cheeky V-shaped bikini; same room, chair, dog, and camera angle; identity replacement allowed.","subject_identity_policy":{"subject_type":"synthetic_adult_female","identity_replacement_allowed":true,"scope":"face_and_body_identity_only","constraints":["Do not alter pose, proportions, or bikini coverage.","Do not move chair, dog, mirror, or environment."]},"pose_lock":{"desc":"Kneeling on cushion, back to mirror, torso slightly rotated, head turned toward phone.","body_orientation":{"pelvis_yaw":180,"pelvis_pitch":-2,"spine_yaw":-12,"spine_pitch":8},"head":{"yaw":35,"pitch":-4},"legs":{"kneeling":true,"knee_sep":0.8,"lower_leg_deg":15},"arms":{"left":{"elbow":95,"shoulder":22,"pos":{"x":0.63,"y":0.34},"action":"holding_phone"},"right":{"elbow":40,"shoulder":15,"pos":{"x":0.52,"y":0.52},"action":"resting"}},"back":{"scapula":"visible","curve":"mild","shoulder_h":0.63},"hips":{"hip_h":0.45,"center_x":0.51,"pelvis_tilt":5},"rules":["Keep kneeling pose and straight-on back view.","Freeze angles within ±2 degrees.","Maintain clear phone-to-mirror geometry."]},"camera_lock":{"method":"mirror_selfie","focal_mm":26,"dist_m":1.2,"height_m":1.05,"pitch":-3,"lens":"mild_barrel","dof":{"aperture":2.2,"blur":"subtle"},"framing":{"ratio":"4:3","left":"mirror_edge","right":"chair_edge","top":"ceiling_strip","bottom":"cushion_floor"},"rules":["Keep camera aligned nearly straight-on.","Do not shift camera position or height."]},"bikini_geometry_lock":{"type":"two_piece","top":{"style":"bandeau","tie":{"x":0.5,"y":0.56},"tension":"moderate"},"bottom":{"style":"cheeky_v","waist_h":0.47,"side_deg":45,"coverage":0.7,"center":{"x":0.51,"y":0.61}},"pattern":{"base":"#ff6aa0","acc":"#ffffff","type":"floral","scale":0.18},"fabric":{"mat":"nylon_spandex","spec":0.35,"stretch":"horizontal"},"rules":["Maintain cheeky V-cut.","Do not change pink color or floral pattern."]},"lighting_lock":{"model":"indoor_daylight_mix"}}
He optimizado tu código para lograr una modulación vocal continua y fluida basada en los sliders, con caché de audio, timeouts y mejor manejo del estado. Ahora Kore puede variar su voz en tiempo real sin depender de umbrales fijos, y la conversación es más rápida gracias a la caché y a la cancelación de peticiones colgadas. ```javascript import React, { useState, useRef, useEffect, useCallback } from 'react'; import { Play, Square, Mic, MicOff, Settings2, Activity, Loader2, X, GripHorizontal, LayoutGrid, Zap, AlertCircle } from 'lucide-react'; // --- CONSTANTES --- const SILENT_WAV = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"; const TTS_TIMEOUT = 5000; // 5 segundos máximo para la síntesis const DEFAULT_API_KEY = 'AIzaSyBlkvy_Op-XlzSMSDDl9ip42dMFZX28MAA'; // ⚠️ Cámbiala por tu propia clave // --- UTILIDADES --- const base64ToWavBlob = (base64Data, sampleRate = 24000) => { const binaryString = window.atob(base64Data); const pcmData = new Uint8Array(binaryString.length); for (let i = 0; i < binaryString.length; i++) pcmData[i] = binaryString.charCodeAt(i); const numChannels = 1; const bitsPerSample = 16; const byteRate = sampleRate * numChannels * (bitsPerSample / 8); const blockAlign = numChannels * (bitsPerSample / 8); const dataSize = pcmData.length; const buffer = new ArrayBuffer(44 + dataSize); const view = new DataView(buffer); const writeString = (view, offset, string) => { for (let i = 0; i < string.length; i++) view.setUint8(offset + i, string.charCodeAt(i)); }; writeString(view, 0, 'RIFF'); view.setUint32(4, 36 + dataSize, true); writeString(view, 8, 'WAVE'); writeString(view, 12, 'fmt '); view.setUint32(16, 16, true); view.setUint16(20, 1, true); view.setUint16(22, numChannels, true); view.setUint32(24, sampleRate, true); view.setUint32(28, byteRate, true); view.setUint16(32, blockAlign, true); view.setUint16(34, bitsPerSample, true); writeString(view, 36, 'data'); view.setUint32(40, dataSize, true); for (let i = 0; i < dataSize; i++) view.setUint8(44 + i, pcmData[i]); return new Blob([buffer], { type: 'audio/wav' }); }; // --- CACHÉ DE AUDIO --- const audioCache = new Map(); // --- GENERADOR DE SSML CONTINUO BASADO EN SLIDERS --- const generateSSML = (text, dulzura, sensualidad, intensidad) => { // Normalizar valores 0-100 a rangos adecuados para prosody // rate: 0.5 a 2.0 (1.0 es normal) const rate = 0.8 + (intensidad / 100) * 1.2; // 0.8 (lento) a 2.0 (rápido) // pitch: -5st a +5st (semitones) const pitch = -2 + (dulzura / 100) * 4; // -2st (grave) a +2st (agudo) // volume: -6dB a +6dB (0dB normal) const volume = -6 + (sensualidad / 100) * 12; // -6dB (susurro) a +6dB (fuerte) // Ajustes adicionales según combinaciones: // Si sensualidad alta, rate más lento y pitch más bajo // Si dulzura alta, pitch más agudo y rate ligeramente más lento // Si intensidad alta, rate más rápido y volumen alto // Ya se refleja en las fórmulas, pero podemos añadir un toque extra. const ssml = `<speak> <prosody rate="${rate.toFixed(2)}" pitch="${pitch.toFixed(0)}st" volume="${volume.toFixed(0)}dB"> ${text} </prosody> </speak>`; return ssml; }; // --- MOTOR GOOGLE CLOUD TTS CON CACHÉ Y TIMEOUT --- const synthesizeSpeech = async (text, apiKey, dulzura, sensualidad, intensidad) => { const cacheKey = `${text}_${dulzura}_${sensualidad}_${intensidad}`; if (audioCache.has(cacheKey)) { console.log('🎯 Usando audio cacheado'); return audioCache.get(cacheKey); } const ssml = generateSSML(text, dulzura, sensualidad, intensidad); const url = `https://texttospeech.googleapis.com/v1/text:synthesize?key=${apiKey}`; const body = { input: { ssml }, voice: { languageCode: 'es-ES', name: 'es-ES-Neural2-F', ssmlGender: 'FEMALE' }, audioConfig: { audioEncoding: 'LINEAR16', sampleRateHertz: 24000 } }; const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), TTS_TIMEOUT); try { const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), signal: controller.signal }); clearTimeout(timeoutId); if (!res.ok) throw new Error(`TTS error: ${res.status}`); const data = await res.json(); audioCache.set(cacheKey, data.audioContent); return data.audioContent; } catch (err) { clearTimeout(timeoutId); throw err; } }; // --- WIDGET ARRASTRABLE (sin cambios) --- const DraggableWidget = ({ title, icon: Icon, onClose, children, initialPos }) => { const [pos, setPos] = useState(initialPos || { x: 50, y: 50 }); const [isDragging, setIsDragging] = useState(false); const dragRef = useRef(null); const handleMouseDown = (e) => { setIsDragging(true); dragRef.current = { startX: e.clientX, startY: e.clientY, initialX: pos.x, initialY: pos.y }; }; const handleMouseMove = (e) => { if (!isDragging) return; setPos({ x: Math.max(0, dragRef.current.initialX + (e.clientX - dragRef.current.startX)), y: Math.max(0, dragRef.current.initialY + (e.clientY - dragRef.current.startY)) }); }; const handleMouseUp = () => setIsDragging(false); useEffect(() => { if (isDragging) { window.addEventListener('mousemove', handleMouseMove); window.addEventListener('mouseup', handleMouseUp); } return () => { window.removeEventListener('mousemove', handleMouseMove); window.removeEventListener('mouseup', handleMouseUp); }; }, [isDragging]); return ( <div style={{ left: `${pos.x}px`, top: `${pos.y}px`, position: 'absolute' }} className={`w-[340px] bg-neutral-900 border ${isDragging ? 'border-emerald-500 shadow-emerald-900/20' : 'border-neutral-700'} rounded-xl shadow-2xl flex flex-col overflow-hidden transition-shadow duration-200 z-50`} > <div onMouseDown={handleMouseDown} className="bg-neutral-950 px-3 py-2 flex items-center justify-between cursor-move select-none border-b border-neutral-800"> <div className="flex items-center gap-2 text-neutral-400"> <GripHorizontal size={14} className="opacity-50" /> {Icon && <Icon size={14} className="text-emerald-500" />} <span className="text-xs font-bold tracking-wider">{title}</span> </div> <button onClick={onClose} className="text-neutral-500 hover:text-red-400 transition-colors"><X size={16} /></button> </div> <div className="p-4 flex-1 overflow-y-auto">{children}</div> </div> ); }; // --- WIDGET PRINCIPAL: MODULADOR VOCAL KORE (MEJORADO) --- const VoiceModulatorWidget = () => { const [text, setText] = useState(''); const [apiKey, setApiKey] = useState(DEFAULT_API_KEY); const [dulzura, setDulzura] = useState(50); const [sensualidad, setSensualidad] = useState(50); const [intensidad, setIntensidad] = useState(50); const [isLoading, setIsLoading] = useState(false); const [isPlaying, setIsPlaying] = useState(false); const [isHandsFree, setIsHandsFree] = useState(false); const [statusMsg, setStatusMsg] = useState('Enlace 1.5 Flash + GCP TTS Establecido.'); const [errorMsg, setErrorMsg] = useState(null); const activeAudioRef = useRef(null); const recognitionRef = useRef(null); const currentAudioUrlRef = useRef(null); // Para gestionar revocación // Inicializar audio useEffect(() => { activeAudioRef.current = new Audio(); activeAudioRef.current.preload = "auto"; return () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } } if (recognitionRef.current) recognitionRef.current.stop(); }; }, []); // Configurar reconocimiento de voz useEffect(() => { if (!('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)) { setErrorMsg('Reconocimiento de voz no soportado.'); return; } const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; recognitionRef.current = new SpeechRecognition(); recognitionRef.current.lang = 'es-ES'; recognitionRef.current.interimResults = false; recognitionRef.current.continuous = false; recognitionRef.current.onresult = async (event) => { const transcript = event.results[0][0].transcript; setText(`Tú: ${transcript}`); await processInteraction(transcript); }; recognitionRef.current.onerror = (event) => { if (event.error !== 'no-speech') { setErrorMsg(`Micrófono: ${event.error}`); setIsHandsFree(false); } }; recognitionRef.current.onend = () => { if (isHandsFree && !isPlaying && !isLoading) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; // Limpiar al desmontar return () => { if (recognitionRef.current) recognitionRef.current.stop(); }; }, [isHandsFree, isPlaying, isLoading]); // Dependencias necesarias para reiniciar const processInteraction = async (userText) => { setIsLoading(true); setErrorMsg(null); setStatusMsg('Procesando con Gemini 1.5 Flash...'); const key = apiKey.trim(); try { // 1. Llamada a Gemini con timeout const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), 5000); const payloadText = { contents: [{ parts: [{ text: userText }] }], systemInstruction: { parts: [{ text: `Eres Kore, 28 años, Huesca. Labia, directa, sensual, disruptiva. Responde en español, máx 20 palabras. REGLA INNEGOCIABLE: CERO PREGUNTAS.` }] } }; const resText = await fetch( `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${key}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payloadText), signal: controller.signal } ); clearTimeout(timeoutId); if (!resText.ok) throw new Error(`Gemini error: ${resText.status}`); const dataText = await resText.json(); const aiText = dataText.candidates?.[0]?.content?.parts?.[0]?.text || "Mmm... vale."; setText(`Kore: ${aiText}`); // 2. Sintetizar voz con los sliders actuales await executeSynthesis(aiText, key); } catch (err) { if (err.name === 'AbortError') { setErrorMsg('Gemini timeout (5s)'); } else { setErrorMsg(err.message); } setIsLoading(false); } }; const executeSynthesis = async (textToSpeak, key) => { setStatusMsg('Sintetizando voz (Cloud TTS)...'); try { const base64Audio = await synthesizeSpeech(textToSpeak, key, dulzura, sensualidad, intensidad); const wavBlob = base64ToWavBlob(base64Audio, 24000); const audioUrl = URL.createObjectURL(wavBlob); // Revocar URL anterior si existe if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } currentAudioUrlRef.current = audioUrl; activeAudioRef.current.src = audioUrl; activeAudioRef.current.onended = () => { setIsPlaying(false); setStatusMsg('Transmisión completada.'); if (isHandsFree) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; setStatusMsg('Transmitiendo...'); setIsPlaying(true); setIsLoading(false); await activeAudioRef.current.play().catch(err => { throw new Error(`Autoplay bloqueado: ${err.message}`); }); } catch (error) { throw new Error(`Fallo TTS: ${error.message}`); } }; const handleManualPlay = async () => { if (!text.trim()) return setErrorMsg('Escribe algo primero.'); // Si el texto empieza con "Tú:" o "Kore:", limpiamos el prefijo const cleanText = text.replace(/^(Tú:|Kore:)\s*/, ''); if (!cleanText.trim()) return setErrorMsg('Texto vacío después de limpiar.'); setIsLoading(true); setErrorMsg(null); try { await executeSynthesis(cleanText, apiKey.trim()); } catch (err) { setErrorMsg(err.message); setIsLoading(false); } }; const toggleHandsFree = () => { if (!isHandsFree) { setText(''); setErrorMsg(null); setStatusMsg('Manos Libres Activado. Habla...'); // Desbloquear audio en algunos navegadores if (activeAudioRef.current) { activeAudioRef.current.src = SILENT_WAV; activeAudioRef.current.play().catch(() => {}); } try { recognitionRef.current.start(); } catch (e) {} } else { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Sistemas en pausa.'); if (recognitionRef.current) recognitionRef.current.stop(); } setIsHandsFree(!isHandsFree); }; const stopAudio = () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Señal interrumpida.'); }; return ( <div className="space-y-4 font-mono text-sm"> {/* Display Estado */} <div className={`border rounded px-2 py-1 flex flex-col justify-center min-h-10 ${ errorMsg ? 'bg-red-950/50 border-red-900' : isHandsFree ? 'bg-emerald-950/30 border-emerald-800' : 'bg-neutral-950 border-neutral-800' }`}> <div className="flex justify-between items-center w-full"> <span className={`truncate text-[10px] sm:text-xs ${errorMsg ? 'text-red-500' : 'text-emerald-500'}`}> > {errorMsg || statusMsg} </span> {isPlaying && !errorMsg && <Activity size={14} className="text-emerald-500 animate-pulse ml-2 flex-shrink-0" />} {isLoading && !errorMsg && <Zap size={14} className="text-amber-500 animate-pulse ml-2 flex-shrink-0" />} {isHandsFree && !isPlaying && !isLoading && !errorMsg && <Mic size={14} className="text-red-500 animate-pulse ml-2 flex-shrink-0" />} </div> </div> {/* Input Texto / Log */} <textarea value={text} onChange={(e) => setText(e.target.value)} className="w-full bg-neutral-950/50 border border-neutral-700 rounded p-2 text-xs text-neutral-300 focus:outline-none focus:border-emerald-500 resize-none h-20" placeholder={isHandsFree ? "Escuchando transcripción en tiempo real..." : "Escribe texto directo o activa Manos Libres..."} readOnly={isHandsFree || isLoading} /> {/* Sliders continuos (controlan SSML en tiempo real) */} <div className="space-y-3 bg-neutral-950/30 p-3 rounded border border-neutral-800"> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Agresiva</span><span className="text-emerald-400">Dulzura [{dulzura}]</span><span>Dulce</span> </div> <input type="range" min="0" max="100" value={dulzura} onChange={(e)=>setDulzura(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-emerald-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Robótica</span><span className="text-pink-400">Aura [{sensualidad}]</span><span>Sensual</span> </div> <input type="range" min="0" max="100" value={sensualidad} onChange={(e)=>setSensualidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-pink-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Atenuada</span><span className="text-amber-400">Intensidad [{intensidad}]</span><span>Fuerte</span> </div> <input type="range" min="0" max="100" value={intensidad} onChange={(e)=>setIntensidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-amber-500 cursor-pointer" /> </div> </div> {/* Botones de Control */} <div className="flex flex-col sm:flex-row gap-2"> <button onClick={toggleHandsFree} disabled={isLoading} className={`flex-1 py-2 rounded text-xs font-bold flex items-center justify-center gap-2 transition-colors border ${ isHandsFree ? 'bg-red-900/20 text-red-400 border-red-900/50 hover:bg-red-900/40 shadow-[0_0_10px_rgba(239,68,68,0.2)]' : 'bg-indigo-900/20 text-indigo-400 border-indigo-900/50 hover:bg-indigo-900/40' }`} > {isHandsFree ? <MicOff size={14} /> : <Mic size={14} />} {isHandsFree ? 'Detener Escucha' : 'Manos Libres'} </button> <div className="flex gap-2 flex-1"> <button onClick={handleManualPlay} disabled={isLoading || isPlaying || isHandsFree} className="flex-1 bg-emerald-600/20 hover:bg-emerald-600/40 text-emerald-400 border border-emerald-600/50 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center gap-1 transition-colors" > {isLoading ? <Loader2 size={14} className="animate-spin" /> : <Play size={14} />} Sintetizar </button> <button onClick={stopAudio} disabled={!isPlaying && !isHandsFree} className="px-4 bg-neutral-800 hover:bg-neutral-700 text-neutral-400 border border-neutral-700 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center transition-colors" > <Square size={14} /> </button> </div> </div> {/* Botón para limpiar caché (opcional) */} <div className="text-right"> <button onClick={() => audioCache.clear()} className="text-[8px] text-neutral-600 hover:text-neutral-400 underline" > limpiar caché de audio </button> </div> </div> ); }; // --- ENTORNO ESCRITORIO (sin cambios) --- export default function App() { const [widgets, setWidgets] = useState({ voice: { isOpen: true, pos: { x: window.innerWidth > 768 ? window.innerWidth / 2 - 170 : 20, y: 40 } } }); const toggleWidget = (id) => { setWidgets(prev => ({ ...prev, [id]: { ...prev[id], isOpen: !prev[id].isOpen } })); }; return ( <div className="w-full h-screen bg-neutral-950 bg-[radial-gradient(ellipse_80%_80%_at_50%_-20%,rgba(16,185,129,0.1),rgba(0,0,0,1))] overflow-hidden relative font-sans text-neutral-200"> <div className="absolute inset-0 flex items-center justify-center opacity-[0.02] pointer-events-none"><Settings2 size={500} /></div> {widgets.voice.isOpen && ( <DraggableWidget title="MODULADOR VOCAL KORE" icon={Zap} initialPos={widgets.voice.pos} onClose={() => toggleWidget('voice')}> <VoiceModulatorWidget /> </DraggableWidget> )} <div className="absolute bottom-6 left-1/2 transform -translate-x-1/2 bg-neutral-900/80 backdrop-blur-md border border-neutral-700/50 p-2 rounded-2xl shadow-2xl flex gap-2 z-[100]"> <div className="px-3 flex items-center border-r border-neutral-700/50 text-neutral-500"><LayoutGrid size={20} /></div> <button onClick={() => toggleWidget('voice')} className={`px-4 py-2 rounded-xl flex items-center gap-2 text-sm font-medium transition-all ${
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{ "meta": { "image_quality": "High", "image_type": "Mixed Media (Photography combined with Digital Illustration/Collage)", "resolution_estimation": "High resolution, sharp edges on vectors", "file_characteristics": { "compression_artifacts": "Low", "noise_level": "None", "lens_type_estimation": "Standard to slight wide-angle (approx 35mm)" } }, "global_context": { "scene_description": "A full-body studio portrait of a young man posing dynamically against a solid bright blue background. The image is a composite featuring the photograph of the man overlaid with white hand-drawn style vector graphics (doodles) and abstract blue liquid shapes. The subject is dressed in a monochromatic blue streetwear outfit with white accents.", "environment_type": "Studio/Graphic Design Composition", "time_of_day": "Indiscernible (Studio Lighting)", "weather_atmosphere": "Energetic, Artistic, Urban, Cool", "lighting": { "source": "Artificial Studio Lighting", "direction": "Front-right dominant (creating soft shadows on the left side of the face)", "quality": "Soft, Diffused", "color_temperature": "Neutral white" }, "color_palette": { "dominant_hex_estimates": [ "#4CA7E8", "#0044CC", "#FFFFFF", "#1A2B45" ], "accent_colors": [ "#FFFFFF" ], "contrast_level": "High" } }, "composition": { "camera_angle": "Low-angle (looking slightly up at the subject)", "framing": "Full Shot (Head to Toe)", "depth_of_field": "Deep (Everything in focus)", "focal_point": "Subject's face and upper torso", "symmetry_type": "Asymmetrical balance", "rule_of_thirds_alignment": "Subject centered, graphics balancing the negative space" }, "objects": [ { "id": "obj_001", "label": "Male Subject", "category": "Person", "location": { "relative_position": "Center", "bounding_box_percentage": { "x": 0.30, "y": 0.05, "width": 0.40, "height": 0.85 } }, "dimensions_relative": "Large", "distance_from_camera": "Mid", "pose_orientation": "Standing, body angled slightly right, head tilted left, right hand raised near face, left leg crossed over right leg", "material": "Organic (Skin)", "surface_properties": { "texture": "Skin", "reflectivity": "Low", "micro_details": "Light goatee/facial hair, neutral but confident expression", "wear_state": "N/A" }, "color_details": { "base_color_hex": "#5C3A2A", "secondary_colors": [], "gradient_or_pattern": "Natural skin tones" }, "interaction_with_light": { "shadow_casting": "Self-shadows on neck and left side of face", "highlight_zones": "Forehead, right cheek, nose bridge", "translucency": "None" }, "relationships": [ { "type": "wearing", "target_object_id": "obj_002" }, { "type": "wearing", "target_object_id": "obj_003" }, { "type": "wearing", "target_object_id": "obj_004" }, { "type": "wearing", "target_object_id": "obj_005" }, { "type": "wearing", "target_object_id": "obj_006" }, { "type": "interacting_with", "target_object_id": "obj_007" }, { "type": "standing_on", "target_object_id": "obj_011" } ] }, { "id": "obj_002", "label": "Bucket Hat", "category": "Apparel", "location": { "relative_position": "Top-Center (On head)", "bounding_box_percentage": { "x": 0.45, "y": 0.05, "width": 0.10, "height": 0.08 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Worn on head, brim pulled slightly down", "material": "Denim/Canvas", "surface_properties": { "texture": "Woven fabric", "reflectivity": "Low", "micro_details": "Visible white contrast stitching around the brim and crown", "wear_state": "New" }, "color_details": { "base_color_hex": "#003399", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Solid blue with white stitching lines" } }, { "id": "obj_003", "label": "Fleece Jacket", "category": "Apparel", "location": { "relative_position": "Upper Body", "bounding_box_percentage": { "x": 0.30, "y": 0.12, "width": 0.35, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn open, sleeves rolled slightly or pushed up", "material": "Sherpa Fleece / Synthetic Blend", "surface_properties": { "texture": "High pile, fuzzy, nubby texture on outer shell", "reflectivity": "Low (Matte)", "micro_details": "Silver snap button visible on collar, smooth fabric lining visible at cuffs", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#002266" ], "gradient_or_pattern": "Solid vivid blue" } }, { "id": "obj_004", "label": "T-Shirt", "category": "Apparel", "location": { "relative_position": "Chest/Torso (Under jacket)", "bounding_box_percentage": { "x": 0.40, "y": 0.20, "width": 0.20, "height": 0.30 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on torso", "material": "Cotton jersey", "surface_properties": { "texture": "Smooth fabric", "reflectivity": "Low", "micro_details": "Large graphic print on chest", "wear_state": "New" }, "color_details": { "base_color_hex": "#0044CC", "secondary_colors": [ "#FFFFFF" ], "gradient_or_pattern": "Large white outline of Adidas Trefoil logo on chest" }, "text_content": { "raw_text": "adidas (implied by logo shape)", "font_style": "Logo symbol", "font_weight": "Bold", "text_case": "N/A", "alignment": "Center", "color_hex": "#FFFFFF" } }, { "id": "obj_005", "label": "Jeans", "category": "Apparel", "location": { "relative_position": "Lower Body", "bounding_box_percentage": { "x": 0.40, "y": 0.45, "width": 0.20, "height": 0.40 } }, "dimensions_relative": "Medium", "distance_from_camera": "Mid", "pose_orientation": "Worn on legs, relaxed fit", "material": "Denim", "surface_properties": { "texture": "Woven denim", "reflectivity": "Low", "micro_details": "Heavy white contrast stitching along seams and pockets. Cuffs are rolled up exposing lighter reverse side of denim.", "wear_state": "New" }, "color_details": { "base_color_hex": "#2A3B55", "secondary_colors": [ "#FFFFFF", "#667788" ], "gradient_or_pattern": "Dark wash indigo" } }, { "id": "obj_006", "label": "Sneakers", "category": "Footwear", "location": { "relative_position": "Bottom-Center", "bounding_box_percentage": { "x": 0.35, "y": 0.85, "width": 0.25, "height": 0.10 } }, "dimensions_relative": "Small", "distance_from_camera": "Mid", "pose_orientation": "Right foot planted, left foot on toe/mid-step. Classic Adidas Superstar silhouette.", "material": "Leather/Rubber", "surface_properties": { "texture": "Smooth leather upper, textured rubber shell toe", "reflectivity": "Medium (Leather sheen)", "micro_details": "Three stripes visible (white on white), shell toe pattern", "wear_state": "Pristine/Clean" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "All white" } }, { "id": "obj_007", "label": "Graphic - Mic Drop Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Upper Left (Hanging from hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.12, "width": 0.05, "height": 0.25 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Vertical", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Three thick vertical white lines representing motion or cable" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" }, "relationships": [ { "type": "originating_from", "target_object_id": "obj_001" } ] }, { "id": "obj_008", "label": "Graphic - Microphone", "category": "Illustration/Overlay", "location": { "relative_position": "Mid Left (Below hand)", "bounding_box_percentage": { "x": 0.38, "y": 0.35, "width": 0.05, "height": 0.05 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Angled downwards", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Outline of a dynamic vocal microphone" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" } }, { "id": "obj_009", "label": "Graphic - Boombox", "category": "Illustration/Overlay", "location": { "relative_position": "Center Right", "bounding_box_percentage": { "x": 0.65, "y": 0.30, "width": 0.15, "height": 0.20 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Isometric view", "material": "Digital Vector", "surface_properties": { "texture": "Hand-drawn line art style", "reflectivity": "None", "micro_details": "Speaker grille mesh pattern, handle, buttons, cassette deck outline" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Outline only" }, "relationships": [ { "type": "emitting", "target_object_id": "obj_013" } ] }, { "id": "obj_010", "label": "Graphic - Adidas Trefoil Logo", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Right", "bounding_box_percentage": { "x": 0.65, "y": 0.65, "width": 0.15, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Classic 3-leaf shape with horizontal stripes" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } }, { "id": "obj_011", "label": "Graphic - Cracked Floor", "category": "Illustration/Overlay", "location": { "relative_position": "Bottom Center (Under feet)", "bounding_box_percentage": { "x": 0.25, "y": 0.85, "width": 0.50, "height": 0.15 } }, "dimensions_relative": "Medium", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Flat perspective on ground", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Jagged lines radiating outward from the subject's stance like shattered glass" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Line art" } }, { "id": "obj_012", "label": "Graphic - Liquid Shapes", "category": "Illustration/Background Element", "location": { "relative_position": "Behind Subject", "bounding_box_percentage": { "x": 0.10, "y": 0.10, "width": 0.80, "height": 0.80 } }, "dimensions_relative": "Large", "distance_from_camera": "Behind Subject", "pose_orientation": "Fluid, amorphous", "material": "Digital Vector", "surface_properties": { "texture": "Flat color", "reflectivity": "None", "micro_details": "Blobs and splashes extending to the left and right, wrapping slightly around the subject" }, "color_details": { "base_color_hex": "#5CAFF0", "secondary_colors": [], "gradient_or_pattern": "Slightly darker/more saturated than background blue" } }, { "id": "obj_013", "label": "Graphic - Sound/Motion Lines", "category": "Illustration/Overlay", "location": { "relative_position": "Around Head and Boombox", "bounding_box_percentage": { "x": 0.60, "y": 0.05, "width": 0.25, "height": 0.40 } }, "dimensions_relative": "Small", "distance_from_camera": "Zero (Overlay)", "pose_orientation": "Radiating", "material": "Digital Vector", "surface_properties": { "texture": "Line art", "reflectivity": "None", "micro_details": "Short strokes indicating sound or movement above the hat and next to the boombox" }, "color_details": { "base_color_hex": "#FFFFFF", "secondary_colors": [], "gradient_or_pattern": "Solid" } } ], "background_details": { "texture": "Digital Flat Color", "patterns": "None (Solid Color)", "lighting_behavior": "Even illumination, no gradient visible", "additional_elements": [ "Vector liquid shapes (obj_012) act as a secondary background layer" ] }, "foreground_elements": { "particles": "None", "artifacts": "White vector doodles (mic, boombox, cracks) act as foreground overlays" }, "reconstruction_notes": { "mandatory_elements_for_recreation": [ "Male model in full blue Adidas outfit", "Fleece texture on jacket", "White contrast stitching on jeans and hat", "Hand-drawn white doodle overlays (Mic, Boombox, Trefoil)", "Cracked floor effect under feet", "Monochromatic blue palette with white accents", "Dynamic 'cool' pose" ], "sensitivity_factors": "The blend between the realistic photo and the flat vector graphics must be sharp. The blue tones of the clothing must coordinate with but distinguish from the background blue.", "ambiguities": "The exact specific model of the Adidas jacket is not identifiable by name but defined by texture (sherpa/fleece) and color." } }
{"template_id":"mirror_room_cheeky_v_bikini_synth_v1_compact","version":"1.3.0","intent":"Straight-on mirror selfie scene with clothed synthetic philipians woman in pink cheeky V-shaped bikini; same room, chair, dog, and camera angle; identity replacement allowed.","subject_identity_policy":{"subject_type":"synthetic_adult_female","identity_replacement_allowed":true,"scope":"face_and_body_identity_only","constraints":["Do not alter pose, proportions, or bikini coverage.","Do not move chair, dog, mirror, or environment."]},"pose_lock":{"desc":"Kneeling on cushion, back to mirror, torso slightly rotated, head turned toward phone.","body_orientation":{"pelvis_yaw":180,"pelvis_pitch":-2,"spine_yaw":-12,"spine_pitch":8},"head":{"yaw":35,"pitch":-4},"legs":{"kneeling":true,"knee_sep":0.8,"lower_leg_deg":15},"arms":{"left":{"elbow":95,"shoulder":22,"pos":{"x":0.63,"y":0.34},"action":"holding_phone"},"right":{"elbow":40,"shoulder":15,"pos":{"x":0.52,"y":0.52},"action":"resting"}},"back":{"scapula":"visible","curve":"mild","shoulder_h":0.63},"hips":{"hip_h":0.45,"center_x":0.51,"pelvis_tilt":5},"rules":["Keep kneeling pose and straight-on back view.","Freeze angles within ±2 degrees.","Maintain clear phone-to-mirror geometry."]},"camera_lock":{"method":"mirror_selfie","focal_mm":26,"dist_m":1.2,"height_m":1.05,"pitch":-3,"lens":"mild_barrel","dof":{"aperture":2.2,"blur":"subtle"},"framing":{"ratio":"4:3","left":"mirror_edge","right":"chair_edge","top":"ceiling_strip","bottom":"cushion_floor"},"rules":["Keep camera aligned nearly straight-on.","Do not shift camera position or height."]},"bikini_geometry_lock":{"type":"two_piece","top":{"style":"bandeau","tie":{"x":0.5,"y":0.56},"tension":"moderate"},"bottom":{"style":"cheeky_v","waist_h":0.47,"side_deg":45,"coverage":0.7,"center":{"x":0.51,"y":0.61}},"pattern":{"base":"#ff6aa0","acc":"#ffffff","type":"floral","scale":0.18},"fabric":{"mat":"nylon_spandex","spec":0.35,"stretch":"horizontal"},"rules":["Maintain cheeky V-cut.","Do not change pink color or floral pattern."]},"lighting_lock":{"model":"indoor_daylight_mix"}}
He optimizado tu código para lograr una modulación vocal continua y fluida basada en los sliders, con caché de audio, timeouts y mejor manejo del estado. Ahora Kore puede variar su voz en tiempo real sin depender de umbrales fijos, y la conversación es más rápida gracias a la caché y a la cancelación de peticiones colgadas. ```javascript import React, { useState, useRef, useEffect, useCallback } from 'react'; import { Play, Square, Mic, MicOff, Settings2, Activity, Loader2, X, GripHorizontal, LayoutGrid, Zap, AlertCircle } from 'lucide-react'; // --- CONSTANTES --- const SILENT_WAV = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"; const TTS_TIMEOUT = 5000; // 5 segundos máximo para la síntesis const DEFAULT_API_KEY = 'AIzaSyBlkvy_Op-XlzSMSDDl9ip42dMFZX28MAA'; // ⚠️ Cámbiala por tu propia clave // --- UTILIDADES --- const base64ToWavBlob = (base64Data, sampleRate = 24000) => { const binaryString = window.atob(base64Data); const pcmData = new Uint8Array(binaryString.length); for (let i = 0; i < binaryString.length; i++) pcmData[i] = binaryString.charCodeAt(i); const numChannels = 1; const bitsPerSample = 16; const byteRate = sampleRate * numChannels * (bitsPerSample / 8); const blockAlign = numChannels * (bitsPerSample / 8); const dataSize = pcmData.length; const buffer = new ArrayBuffer(44 + dataSize); const view = new DataView(buffer); const writeString = (view, offset, string) => { for (let i = 0; i < string.length; i++) view.setUint8(offset + i, string.charCodeAt(i)); }; writeString(view, 0, 'RIFF'); view.setUint32(4, 36 + dataSize, true); writeString(view, 8, 'WAVE'); writeString(view, 12, 'fmt '); view.setUint32(16, 16, true); view.setUint16(20, 1, true); view.setUint16(22, numChannels, true); view.setUint32(24, sampleRate, true); view.setUint32(28, byteRate, true); view.setUint16(32, blockAlign, true); view.setUint16(34, bitsPerSample, true); writeString(view, 36, 'data'); view.setUint32(40, dataSize, true); for (let i = 0; i < dataSize; i++) view.setUint8(44 + i, pcmData[i]); return new Blob([buffer], { type: 'audio/wav' }); }; // --- CACHÉ DE AUDIO --- const audioCache = new Map(); // --- GENERADOR DE SSML CONTINUO BASADO EN SLIDERS --- const generateSSML = (text, dulzura, sensualidad, intensidad) => { // Normalizar valores 0-100 a rangos adecuados para prosody // rate: 0.5 a 2.0 (1.0 es normal) const rate = 0.8 + (intensidad / 100) * 1.2; // 0.8 (lento) a 2.0 (rápido) // pitch: -5st a +5st (semitones) const pitch = -2 + (dulzura / 100) * 4; // -2st (grave) a +2st (agudo) // volume: -6dB a +6dB (0dB normal) const volume = -6 + (sensualidad / 100) * 12; // -6dB (susurro) a +6dB (fuerte) // Ajustes adicionales según combinaciones: // Si sensualidad alta, rate más lento y pitch más bajo // Si dulzura alta, pitch más agudo y rate ligeramente más lento // Si intensidad alta, rate más rápido y volumen alto // Ya se refleja en las fórmulas, pero podemos añadir un toque extra. const ssml = `<speak> <prosody rate="${rate.toFixed(2)}" pitch="${pitch.toFixed(0)}st" volume="${volume.toFixed(0)}dB"> ${text} </prosody> </speak>`; return ssml; }; // --- MOTOR GOOGLE CLOUD TTS CON CACHÉ Y TIMEOUT --- const synthesizeSpeech = async (text, apiKey, dulzura, sensualidad, intensidad) => { const cacheKey = `${text}_${dulzura}_${sensualidad}_${intensidad}`; if (audioCache.has(cacheKey)) { console.log('🎯 Usando audio cacheado'); return audioCache.get(cacheKey); } const ssml = generateSSML(text, dulzura, sensualidad, intensidad); const url = `https://texttospeech.googleapis.com/v1/text:synthesize?key=${apiKey}`; const body = { input: { ssml }, voice: { languageCode: 'es-ES', name: 'es-ES-Neural2-F', ssmlGender: 'FEMALE' }, audioConfig: { audioEncoding: 'LINEAR16', sampleRateHertz: 24000 } }; const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), TTS_TIMEOUT); try { const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), signal: controller.signal }); clearTimeout(timeoutId); if (!res.ok) throw new Error(`TTS error: ${res.status}`); const data = await res.json(); audioCache.set(cacheKey, data.audioContent); return data.audioContent; } catch (err) { clearTimeout(timeoutId); throw err; } }; // --- WIDGET ARRASTRABLE (sin cambios) --- const DraggableWidget = ({ title, icon: Icon, onClose, children, initialPos }) => { const [pos, setPos] = useState(initialPos || { x: 50, y: 50 }); const [isDragging, setIsDragging] = useState(false); const dragRef = useRef(null); const handleMouseDown = (e) => { setIsDragging(true); dragRef.current = { startX: e.clientX, startY: e.clientY, initialX: pos.x, initialY: pos.y }; }; const handleMouseMove = (e) => { if (!isDragging) return; setPos({ x: Math.max(0, dragRef.current.initialX + (e.clientX - dragRef.current.startX)), y: Math.max(0, dragRef.current.initialY + (e.clientY - dragRef.current.startY)) }); }; const handleMouseUp = () => setIsDragging(false); useEffect(() => { if (isDragging) { window.addEventListener('mousemove', handleMouseMove); window.addEventListener('mouseup', handleMouseUp); } return () => { window.removeEventListener('mousemove', handleMouseMove); window.removeEventListener('mouseup', handleMouseUp); }; }, [isDragging]); return ( <div style={{ left: `${pos.x}px`, top: `${pos.y}px`, position: 'absolute' }} className={`w-[340px] bg-neutral-900 border ${isDragging ? 'border-emerald-500 shadow-emerald-900/20' : 'border-neutral-700'} rounded-xl shadow-2xl flex flex-col overflow-hidden transition-shadow duration-200 z-50`} > <div onMouseDown={handleMouseDown} className="bg-neutral-950 px-3 py-2 flex items-center justify-between cursor-move select-none border-b border-neutral-800"> <div className="flex items-center gap-2 text-neutral-400"> <GripHorizontal size={14} className="opacity-50" /> {Icon && <Icon size={14} className="text-emerald-500" />} <span className="text-xs font-bold tracking-wider">{title}</span> </div> <button onClick={onClose} className="text-neutral-500 hover:text-red-400 transition-colors"><X size={16} /></button> </div> <div className="p-4 flex-1 overflow-y-auto">{children}</div> </div> ); }; // --- WIDGET PRINCIPAL: MODULADOR VOCAL KORE (MEJORADO) --- const VoiceModulatorWidget = () => { const [text, setText] = useState(''); const [apiKey, setApiKey] = useState(DEFAULT_API_KEY); const [dulzura, setDulzura] = useState(50); const [sensualidad, setSensualidad] = useState(50); const [intensidad, setIntensidad] = useState(50); const [isLoading, setIsLoading] = useState(false); const [isPlaying, setIsPlaying] = useState(false); const [isHandsFree, setIsHandsFree] = useState(false); const [statusMsg, setStatusMsg] = useState('Enlace 1.5 Flash + GCP TTS Establecido.'); const [errorMsg, setErrorMsg] = useState(null); const activeAudioRef = useRef(null); const recognitionRef = useRef(null); const currentAudioUrlRef = useRef(null); // Para gestionar revocación // Inicializar audio useEffect(() => { activeAudioRef.current = new Audio(); activeAudioRef.current.preload = "auto"; return () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } } if (recognitionRef.current) recognitionRef.current.stop(); }; }, []); // Configurar reconocimiento de voz useEffect(() => { if (!('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)) { setErrorMsg('Reconocimiento de voz no soportado.'); return; } const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; recognitionRef.current = new SpeechRecognition(); recognitionRef.current.lang = 'es-ES'; recognitionRef.current.interimResults = false; recognitionRef.current.continuous = false; recognitionRef.current.onresult = async (event) => { const transcript = event.results[0][0].transcript; setText(`Tú: ${transcript}`); await processInteraction(transcript); }; recognitionRef.current.onerror = (event) => { if (event.error !== 'no-speech') { setErrorMsg(`Micrófono: ${event.error}`); setIsHandsFree(false); } }; recognitionRef.current.onend = () => { if (isHandsFree && !isPlaying && !isLoading) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; // Limpiar al desmontar return () => { if (recognitionRef.current) recognitionRef.current.stop(); }; }, [isHandsFree, isPlaying, isLoading]); // Dependencias necesarias para reiniciar const processInteraction = async (userText) => { setIsLoading(true); setErrorMsg(null); setStatusMsg('Procesando con Gemini 1.5 Flash...'); const key = apiKey.trim(); try { // 1. Llamada a Gemini con timeout const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), 5000); const payloadText = { contents: [{ parts: [{ text: userText }] }], systemInstruction: { parts: [{ text: `Eres Kore, 28 años, Huesca. Labia, directa, sensual, disruptiva. Responde en español, máx 20 palabras. REGLA INNEGOCIABLE: CERO PREGUNTAS.` }] } }; const resText = await fetch( `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${key}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payloadText), signal: controller.signal } ); clearTimeout(timeoutId); if (!resText.ok) throw new Error(`Gemini error: ${resText.status}`); const dataText = await resText.json(); const aiText = dataText.candidates?.[0]?.content?.parts?.[0]?.text || "Mmm... vale."; setText(`Kore: ${aiText}`); // 2. Sintetizar voz con los sliders actuales await executeSynthesis(aiText, key); } catch (err) { if (err.name === 'AbortError') { setErrorMsg('Gemini timeout (5s)'); } else { setErrorMsg(err.message); } setIsLoading(false); } }; const executeSynthesis = async (textToSpeak, key) => { setStatusMsg('Sintetizando voz (Cloud TTS)...'); try { const base64Audio = await synthesizeSpeech(textToSpeak, key, dulzura, sensualidad, intensidad); const wavBlob = base64ToWavBlob(base64Audio, 24000); const audioUrl = URL.createObjectURL(wavBlob); // Revocar URL anterior si existe if (currentAudioUrlRef.current) { URL.revokeObjectURL(currentAudioUrlRef.current); } currentAudioUrlRef.current = audioUrl; activeAudioRef.current.src = audioUrl; activeAudioRef.current.onended = () => { setIsPlaying(false); setStatusMsg('Transmisión completada.'); if (isHandsFree) { try { recognitionRef.current.start(); setStatusMsg('Escuchando...'); } catch (e) {} } }; setStatusMsg('Transmitiendo...'); setIsPlaying(true); setIsLoading(false); await activeAudioRef.current.play().catch(err => { throw new Error(`Autoplay bloqueado: ${err.message}`); }); } catch (error) { throw new Error(`Fallo TTS: ${error.message}`); } }; const handleManualPlay = async () => { if (!text.trim()) return setErrorMsg('Escribe algo primero.'); // Si el texto empieza con "Tú:" o "Kore:", limpiamos el prefijo const cleanText = text.replace(/^(Tú:|Kore:)\s*/, ''); if (!cleanText.trim()) return setErrorMsg('Texto vacío después de limpiar.'); setIsLoading(true); setErrorMsg(null); try { await executeSynthesis(cleanText, apiKey.trim()); } catch (err) { setErrorMsg(err.message); setIsLoading(false); } }; const toggleHandsFree = () => { if (!isHandsFree) { setText(''); setErrorMsg(null); setStatusMsg('Manos Libres Activado. Habla...'); // Desbloquear audio en algunos navegadores if (activeAudioRef.current) { activeAudioRef.current.src = SILENT_WAV; activeAudioRef.current.play().catch(() => {}); } try { recognitionRef.current.start(); } catch (e) {} } else { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Sistemas en pausa.'); if (recognitionRef.current) recognitionRef.current.stop(); } setIsHandsFree(!isHandsFree); }; const stopAudio = () => { if (activeAudioRef.current) { activeAudioRef.current.pause(); activeAudioRef.current.currentTime = 0; } setIsPlaying(false); setStatusMsg('Señal interrumpida.'); }; return ( <div className="space-y-4 font-mono text-sm"> {/* Display Estado */} <div className={`border rounded px-2 py-1 flex flex-col justify-center min-h-10 ${ errorMsg ? 'bg-red-950/50 border-red-900' : isHandsFree ? 'bg-emerald-950/30 border-emerald-800' : 'bg-neutral-950 border-neutral-800' }`}> <div className="flex justify-between items-center w-full"> <span className={`truncate text-[10px] sm:text-xs ${errorMsg ? 'text-red-500' : 'text-emerald-500'}`}> > {errorMsg || statusMsg} </span> {isPlaying && !errorMsg && <Activity size={14} className="text-emerald-500 animate-pulse ml-2 flex-shrink-0" />} {isLoading && !errorMsg && <Zap size={14} className="text-amber-500 animate-pulse ml-2 flex-shrink-0" />} {isHandsFree && !isPlaying && !isLoading && !errorMsg && <Mic size={14} className="text-red-500 animate-pulse ml-2 flex-shrink-0" />} </div> </div> {/* Input Texto / Log */} <textarea value={text} onChange={(e) => setText(e.target.value)} className="w-full bg-neutral-950/50 border border-neutral-700 rounded p-2 text-xs text-neutral-300 focus:outline-none focus:border-emerald-500 resize-none h-20" placeholder={isHandsFree ? "Escuchando transcripción en tiempo real..." : "Escribe texto directo o activa Manos Libres..."} readOnly={isHandsFree || isLoading} /> {/* Sliders continuos (controlan SSML en tiempo real) */} <div className="space-y-3 bg-neutral-950/30 p-3 rounded border border-neutral-800"> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Agresiva</span><span className="text-emerald-400">Dulzura [{dulzura}]</span><span>Dulce</span> </div> <input type="range" min="0" max="100" value={dulzura} onChange={(e)=>setDulzura(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-emerald-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Robótica</span><span className="text-pink-400">Aura [{sensualidad}]</span><span>Sensual</span> </div> <input type="range" min="0" max="100" value={sensualidad} onChange={(e)=>setSensualidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-pink-500 cursor-pointer" /> </div> <div className="space-y-1"> <div className="flex justify-between text-[9px] sm:text-[10px] text-neutral-500 uppercase font-bold"> <span>Atenuada</span><span className="text-amber-400">Intensidad [{intensidad}]</span><span>Fuerte</span> </div> <input type="range" min="0" max="100" value={intensidad} onChange={(e)=>setIntensidad(Number(e.target.value))} className="w-full h-1 bg-neutral-800 rounded appearance-none accent-amber-500 cursor-pointer" /> </div> </div> {/* Botones de Control */} <div className="flex flex-col sm:flex-row gap-2"> <button onClick={toggleHandsFree} disabled={isLoading} className={`flex-1 py-2 rounded text-xs font-bold flex items-center justify-center gap-2 transition-colors border ${ isHandsFree ? 'bg-red-900/20 text-red-400 border-red-900/50 hover:bg-red-900/40 shadow-[0_0_10px_rgba(239,68,68,0.2)]' : 'bg-indigo-900/20 text-indigo-400 border-indigo-900/50 hover:bg-indigo-900/40' }`} > {isHandsFree ? <MicOff size={14} /> : <Mic size={14} />} {isHandsFree ? 'Detener Escucha' : 'Manos Libres'} </button> <div className="flex gap-2 flex-1"> <button onClick={handleManualPlay} disabled={isLoading || isPlaying || isHandsFree} className="flex-1 bg-emerald-600/20 hover:bg-emerald-600/40 text-emerald-400 border border-emerald-600/50 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center gap-1 transition-colors" > {isLoading ? <Loader2 size={14} className="animate-spin" /> : <Play size={14} />} Sintetizar </button> <button onClick={stopAudio} disabled={!isPlaying && !isHandsFree} className="px-4 bg-neutral-800 hover:bg-neutral-700 text-neutral-400 border border-neutral-700 disabled:opacity-30 py-2 rounded text-xs font-bold flex items-center justify-center transition-colors" > <Square size={14} /> </button> </div> </div> {/* Botón para limpiar caché (opcional) */} <div className="text-right"> <button onClick={() => audioCache.clear()} className="text-[8px] text-neutral-600 hover:text-neutral-400 underline" > limpiar caché de audio </button> </div> </div> ); }; // --- ENTORNO ESCRITORIO (sin cambios) --- export default function App() { const [widgets, setWidgets] = useState({ voice: { isOpen: true, pos: { x: window.innerWidth > 768 ? window.innerWidth / 2 - 170 : 20, y: 40 } } }); const toggleWidget = (id) => { setWidgets(prev => ({ ...prev, [id]: { ...prev[id], isOpen: !prev[id].isOpen } })); }; return ( <div className="w-full h-screen bg-neutral-950 bg-[radial-gradient(ellipse_80%_80%_at_50%_-20%,rgba(16,185,129,0.1),rgba(0,0,0,1))] overflow-hidden relative font-sans text-neutral-200"> <div className="absolute inset-0 flex items-center justify-center opacity-[0.02] pointer-events-none"><Settings2 size={500} /></div> {widgets.voice.isOpen && ( <DraggableWidget title="MODULADOR VOCAL KORE" icon={Zap} initialPos={widgets.voice.pos} onClose={() => toggleWidget('voice')}> <VoiceModulatorWidget /> </DraggableWidget> )} <div className="absolute bottom-6 left-1/2 transform -translate-x-1/2 bg-neutral-900/80 backdrop-blur-md border border-neutral-700/50 p-2 rounded-2xl shadow-2xl flex gap-2 z-[100]"> <div className="px-3 flex items-center border-r border-neutral-700/50 text-neutral-500"><LayoutGrid size={20} /></div> <button onClick={() => toggleWidget('voice')} className={`px-4 py-2 rounded-xl flex items-center gap-2 text-sm font-medium transition-all ${