{"id":1249,"date":"2025-07-13T19:29:17","date_gmt":"2025-07-13T19:29:17","guid":{"rendered":"https:\/\/bawabatak.com\/ai-prompt\/?p=1249"},"modified":"2025-07-13T19:34:45","modified_gmt":"2025-07-13T19:34:45","slug":"cinematic-bmw-m-series-in-rainy-urban-alley","status":"publish","type":"post","link":"https:\/\/bawabatak.com\/ai-prompt\/cinematic-bmw-m-series-in-rainy-urban-alley\/","title":{"rendered":"Cinematic BMW M-Series in Rainy Urban Alley"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1250 size-full\" src=\"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate.png?resize=1019%2C679&#038;ssl=1\" alt=\"\" width=\"1019\" height=\"679\" srcset=\"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate.png?w=1019&amp;ssl=1 1019w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate.png?resize=300%2C200&amp;ssl=1 300w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate.png?resize=768%2C512&amp;ssl=1 768w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate.png?resize=150%2C100&amp;ssl=1 150w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n\n\n<div class=\"ai-prompt-container\" style=\"\n    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);\n    border-radius: 15px;\n    padding: 30px;\n    margin: 20px 0;\n    border: 1px solid #333;\n    box-shadow: 0 10px 30px rgba(0, 168, 255, 0.1);\n    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n    position: relative;\n\">\n    <div class=\"prompt-header\" style=\"\n        display: flex;\n        align-items: center;\n        margin-bottom: 20px;\n        border-bottom: 2px solid #00A8FF;\n        padding-bottom: 15px;\n    \">\n        <div class=\"prompt-icon\" style=\"\n            background: linear-gradient(45deg, #00A8FF, #0080CC);\n            width: 50px;\n            height: 50px;\n            border-radius: 12px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            margin-right: 15px;\n            box-shadow: 0 5px 15px rgba(0, 168, 255, 0.3);\n        \">\n            <span style=\"color: white; font-size: 24px; font-weight: bold;\">\u2728<\/span>\n        <\/div>\n        <div>\n            <h3 style=\"\n                color: #fff;\n                margin: 0;\n                font-size: 24px;\n                font-weight: 600;\n            \">Cinematic Alley Car Shot<\/h3>\n            <p style=\"\n                color: #00A8FF;\n                margin: 5px 0 0 0;\n                font-size: 14px;\n                font-weight: 500;\n            \">AI Image Generation Prompt<\/p>\n        <\/div>\n    <\/div>\n\n    <div class=\"instructions-section\" style=\"\n        background: rgba(0, 168, 255, 0.05);\n        border-radius: 10px;\n        padding: 20px;\n        margin-bottom: 25px;\n        border-left: 4px solid #00A8FF;\n    \">\n        <h4 style=\"color: #00A8FF; margin: 0 0 15px 0; font-size: 18px; font-weight: 600;\">\ud83d\udccb How to Use:<\/h4>\n        <ol style=\"color: #e0e0e0; line-height: 1.6; margin: 0; padding-left: 20px;\">\n            <li style=\"margin-bottom: 8px;\">Open ChatGPT<\/li>\n            <li style=\"margin-bottom: 8px;\">Copy and paste the prompt below<\/li>\n        <\/ol>\n    <\/div>\n\n    <div class=\"prompt-content\" style=\"\n        background: rgba(0, 168, 255, 0.05);\n        border-left: 4px solid #00A8FF;\n        padding: 20px;\n        border-radius: 8px;\n        margin-bottom: 25px;\n    \">\n        <div class=\"prompt-text\" style=\"\n            color: #e0e0e0;\n            line-height: 1.6;\n            font-size: 16px;\n            white-space: pre-wrap;\n            word-wrap: break-word;\n        \" id=\"promptText\">A <span class=\"editable-word\" data-key=\"photo_style\">cinematic, hyper-realistic vertical photograph<\/span> of a <span class=\"editable-word\" data-key=\"car_color\">silver<\/span> <span class=\"editable-word\" data-key=\"car_model\">BMW M-series sports car<\/span> parked in the <span class=\"editable-word\" data-key=\"car_position\">center of a narrow, rain-soaked concrete alley<\/span>. The car is <span class=\"editable-word\" data-key=\"car_condition\">wet, with visible raindrops on its sleek metallic body<\/span>. Its <span class=\"editable-word\" data-key=\"headlight_state\">LED headlights are turned on<\/span>, casting <span class=\"editable-word\" data-key=\"headlight_effect\">soft, moody reflections on the glossy pavement<\/span>. The front license plate of the car clearly displays the text \u201c<span class=\"editable-word\" data-key=\"license_plate_text\">bawabatak<\/span>\u201d in <span class=\"editable-word\" data-key=\"license_plate_font\">bold, clean, sans-serif font<\/span>, centered on a <span class=\"editable-word\" data-key=\"license_plate_color\">white plate<\/span>. The background features a <span class=\"editable-word\" data-key=\"background_building\">tall, modern, minimalist apartment building with contrasting facades \u2014 one dark (black or dark gray) and one white \u2014 featuring balconies and rectangular windows<\/span>. One small window emits a <span class=\"editable-word\" data-key=\"window_light_color\">warm yellow light<\/span>. The sky is <span class=\"editable-word\" data-key=\"sky_condition\">misty pale blue<\/span>, and the lighting is <span class=\"editable-word\" data-key=\"lighting_quality\">soft and overcast<\/span>, evoking a <span class=\"editable-word\" data-key=\"atmosphere_vibe\">cold, cinematic atmosphere<\/span>. The image uses a <span class=\"editable-word\" data-key=\"color_grading\">desaturated teal and blue color grading<\/span>, with <span class=\"editable-word\" data-key=\"focus_style\">sharp focus on the car and subtle depth of field<\/span>. The <span class=\"editable-word\" data-key=\"camera_angle\">camera angle is slightly low<\/span>. Format: <span class=\"editable-word\" data-key=\"format_type\">vertical portrait<\/span>, <span class=\"editable-word\" data-key=\"style_keywords_1\">hyper-realistic<\/span>, <span class=\"editable-word\" data-key=\"style_keywords_2\">cinematic mood<\/span>, <span class=\"editable-word\" data-key=\"style_keywords_3\">urban<\/span>, <span class=\"editable-word\" data-key=\"no_other_text\">no visible text elsewhere<\/span>.<\/div>\n    <\/div>\n\n    <div class=\"prompt-actions\" style=\"\n        display: flex;\n        gap: 15px;\n        align-items: center;\n        flex-wrap: wrap;\n        position: relative;\n    \">\n        <button onclick=\"copyPrompt()\" id=\"copyButton\" style=\"\n            background: linear-gradient(45deg, #00A8FF, #0080CC);\n            color: white;\n            border: none;\n            padding: 12px 25px;\n            border-radius: 25px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            box-shadow: 0 5px 15px rgba(0, 168, 255, 0.3);\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            position: relative;\n            overflow: hidden;\n        \" onmouseover=\"this.style.transform='translateY(-2px)'; this.style.boxShadow='0 8px 25px rgba(0, 168, 255, 0.4)'\"\n            onmouseout=\"this.style.transform='translateY(0)'; this.style.boxShadow='0 5px 15px rgba(0, 168, 255, 0.3)'\">\n            <span id=\"copyIcon\">\ud83d\udccb<\/span>\n            <span id=\"copyText\">Copy Prompt<\/span>\n        <\/button>\n\n        <a href=\"https:\/\/chat.openai.com\/\" target=\"_blank\" style=\"\n            background: linear-gradient(45deg, #10A37F, #0D8A6B);\n            color: white;\n            text-decoration: none;\n            padding: 12px 25px;\n            border-radius: 25px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            box-shadow: 0 5px 15px rgba(16, 163, 127, 0.3);\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n        \" onmouseover=\"this.style.transform=&#039;translateY(-2px)&#039;; this.style.boxShadow=&#039;0 8px 25px rgba(16, 163, 127, 0.4)&#039;\" onmouseout=\"this.style.transform=&#039;translateY(0)&#039;; this.style.boxShadow=&#039;0 5px 15px rgba(16, 163, 127, 0.3)&#039;\" rel=\"noopener\">\n            <span>\ud83d\ude80<\/span>\n            Try in ChatGPT\n        <\/a>\n\n        <button onclick=\"toggleCustomizer()\" id=\"customizeButton\" style=\"\n            background: rgba(255, 193, 7, 0.1);\n            color: #FFC107;\n            border: 2px solid #FFC107;\n            padding: 10px 20px;\n            border-radius: 25px;\n            font-size: 16px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        \" onmouseover=\"this.style.background='rgba(255, 193, 7, 0.2)'\"\n            onmouseout=\"this.style.background='rgba(255, 193, 7, 0.1)'\">\n            <span>\u2699\ufe0f<\/span>\n            <span id=\"customizeText\">Customize<\/span>\n        <\/button>\n    <\/div>\n\n    <div id=\"customizerPanel\" style=\"\n        display: none;\n        background: rgba(0, 168, 255, 0.05);\n        border: 1px solid #00A8FF;\n        border-radius: 12px;\n        padding: 25px;\n        margin-top: 25px;\n        backdrop-filter: blur(10px);\n    \">\n        <div style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;\">\n            <h4 style=\"color: #00A8FF; margin: 0; font-size: 18px; font-weight: 600; display: flex; align-items: center; gap: 10px;\">\n                <span>\ud83c\udfaf<\/span> Customize Your Prompt\n            <\/h4>\n            <button onclick=\"resetToDefaults()\" id=\"resetButton\" style=\"\n                background: rgba(220, 53, 69, 0.1);\n                color: #dc3545;\n                border: 2px solid #dc3545;\n                padding: 8px 16px;\n                border-radius: 20px;\n                font-size: 14px;\n                font-weight: 600;\n                cursor: pointer;\n                transition: all 0.3s ease;\n                display: flex;\n                align-items: center;\n                gap: 6px;\n            \" onmouseover=\"this.style.background='rgba(220, 53, 69, 0.2)'\"\n                onmouseout=\"this.style.background='rgba(220, 53, 69, 0.1)'\">\n                <span>\ud83d\udd04<\/span>\n                Reset\n            <\/button>\n        <\/div>\n\n        <div class=\"customizer-grid\" style=\"\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n            gap: 20px;\n            margin-bottom: 25px;\n        \">\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udcf7 Photo Style:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('photo_style', 'cinematic, hyper-realistic vertical photograph')\" data-active=\"true\">Cinematic, Hyper-realistic Vertical Photograph<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('photo_style', 'gritty, realistic street photography')\">Gritty, Realistic Street Photography<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('photo_style', 'stylized digital art')\">Stylized Digital Art<\/button>\n                <\/div>\n                <input type=\"text\" id=\"photo_style-custom\" placeholder=\"Or enter custom photo style...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\ude97 Car Color:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_color', 'silver')\" data-active=\"true\">Silver<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_color', 'matte black')\">Matte Black<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_color', 'deep blue')\">Deep Blue<\/button>\n                <\/div>\n                <input type=\"text\" id=\"car_color-custom\" placeholder=\"Or enter custom car color...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udfce\ufe0f Car Model:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_model', 'BMW M-series sports car')\" data-active=\"true\">BMW M-series Sports Car<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_model', 'classic muscle car')\">Classic Muscle Car<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_model', 'futuristic electric supercar')\">Futuristic Electric Supercar<\/button>\n                <\/div>\n                <input type=\"text\" id=\"car_model-custom\" placeholder=\"Or enter custom car model...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udccd Car Position:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_position', 'center of a narrow, rain-soaked concrete alley')\" data-active=\"true\">Center of Narrow, Rain-soaked Concrete Alley<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_position', 'edge of a bustling city street')\">Edge of Bustling City Street<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_position', 'under a neon-lit archway')\">Under Neon-lit Archway<\/button>\n                <\/div>\n                <input type=\"text\" id=\"car_position-custom\" placeholder=\"Or enter custom car position...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udca7 Car Condition:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_condition', 'wet, with visible raindrops on its sleek metallic body')\" data-active=\"true\">Wet, with Visible Raindrops<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_condition', 'dry and pristine')\">Dry and Pristine<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('car_condition', 'splashed with mud')\">Splashed with Mud<\/button>\n                <\/div>\n                <input type=\"text\" id=\"car_condition-custom\" placeholder=\"Or enter custom car condition...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udca1 Headlight State:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('headlight_state', 'LED headlights are turned on')\" data-active=\"true\">LED Headlights On<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('headlight_state', 'headlights are off')\">Headlights Off<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('headlight_state', 'taillights are glowing')\">Taillights Glowing<\/button>\n                <\/div>\n                <input type=\"text\" id=\"headlight_state-custom\" placeholder=\"Or enter custom headlight state...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\u2728 Headlight Effect:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('headlight_effect', 'soft, moody reflections on the glossy pavement')\" data-active=\"true\">Soft, Moody Reflections on Pavement<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('headlight_effect', 'sharp, bright beams cutting through the darkness')\">Sharp, Bright Beams<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('headlight_effect', 'subtle glow illuminating the immediate area')\">Subtle Glow<\/button>\n                <\/div>\n                <input type=\"text\" id=\"headlight_effect-custom\" placeholder=\"Or enter custom headlight effect...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\ude97 License Plate Text:<\/label>\n                <input type=\"text\" id=\"license_plate_text-custom\" placeholder=\"e.g., FAST CAR, NEW YORK\" value=\"bawabatak\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udd70\ufe0f License Plate Font:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('license_plate_font', 'bold, clean, sans-serif font')\" data-active=\"true\">Bold, Clean, Sans-serif Font<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('license_plate_font', 'classic serif font')\">Classic Serif Font<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('license_plate_font', 'futuristic glowing text')\">Futuristic Glowing Text<\/button>\n                <\/div>\n                <input type=\"text\" id=\"license_plate_font-custom\" placeholder=\"Or enter custom font style...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\u26aa License Plate Color:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('license_plate_color', 'white plate')\" data-active=\"true\">White Plate<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('license_plate_color', 'black plate')\">Black Plate<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('license_plate_color', 'dark gray plate')\">Dark Gray Plate<\/button>\n                <\/div>\n                <input type=\"text\" id=\"license_plate_color-custom\" placeholder=\"Or enter custom plate color...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udfe2 Background Building:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('background_building', 'tall, modern, minimalist apartment building with contrasting facades \u2014 one dark (black or dark gray) and one white \u2014 featuring balconies and rectangular windows')\" data-active=\"true\">Tall, Modern, Minimalist Apartment Building with Contrasting Facades<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('background_building', 'gritty brick wall with graffiti')\">Gritty Brick Wall with Graffiti<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('background_building', 'classic European architecture')\">Classic European Architecture<\/button>\n                <\/div>\n                <input type=\"text\" id=\"background_building-custom\" placeholder=\"Or enter custom background building...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udca1 Window Light Color:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('window_light_color', 'warm yellow light')\" data-active=\"true\">Warm Yellow Light<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('window_light_color', 'cool blue light')\">Cool Blue Light<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('window_light_color', 'no visible light')\">No Visible Light<\/button>\n                <\/div>\n                <input type=\"text\" id=\"window_light_color-custom\" placeholder=\"Or enter custom window light color...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\u2601\ufe0f Sky Condition:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('sky_condition', 'misty pale blue')\" data-active=\"true\">Misty Pale Blue<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('sky_condition', 'dark and stormy')\">Dark and Stormy<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('sky_condition', 'clear and starry')\">Clear and Starry<\/button>\n                <\/div>\n                <input type=\"text\" id=\"sky_condition-custom\" placeholder=\"Or enter custom sky condition...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udca1 Lighting Quality:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('lighting_quality', 'soft and overcast')\" data-active=\"true\">Soft and Overcast<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('lighting_quality', 'harsh and direct')\">Harsh and Direct<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('lighting_quality', 'dramatic chiaroscuro')\">Dramatic Chiaroscuro<\/button>\n                <\/div>\n                <input type=\"text\" id=\"lighting_quality-custom\" placeholder=\"Or enter custom lighting quality...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\u2744\ufe0f Atmosphere Vibe:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('atmosphere_vibe', 'cold, cinematic atmosphere')\" data-active=\"true\">Cold, Cinematic Atmosphere<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('atmosphere_vibe', 'warm, inviting ambiance')\">Warm, Inviting Ambiance<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('atmosphere_vibe', 'gritty, urban realism')\">Gritty, Urban Realism<\/button>\n                <\/div>\n                <input type=\"text\" id=\"atmosphere_vibe-custom\" placeholder=\"Or enter custom atmosphere vibe...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udfa8 Color Grading:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('color_grading', 'desaturated teal and blue color grading')\" data-active=\"true\">Desaturated Teal and Blue<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('color_grading', 'warm golden hour tones')\">Warm Golden Hour Tones<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('color_grading', 'high contrast black and white')\">High Contrast Black and White<\/button>\n                <\/div>\n                <input type=\"text\" id=\"color_grading-custom\" placeholder=\"Or enter custom color grading...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udfaf Focus Style:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('focus_style', 'sharp focus on the car and subtle depth of field')\" data-active=\"true\">Sharp Focus on Car, Subtle Depth of Field<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('focus_style', 'shallow depth of field, blurred background')\">Shallow Depth of Field, Blurred Background<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('focus_style', 'wide depth of field, everything in focus')\">Wide Depth of Field, Everything in Focus<\/button>\n                <\/div>\n                <input type=\"text\" id=\"focus_style-custom\" placeholder=\"Or enter custom focus style...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udfa5 Camera Angle:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('camera_angle', 'camera angle is slightly low')\" data-active=\"true\">Slightly Low Camera Angle<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('camera_angle', 'eye-level perspective')\">Eye-level Perspective<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('camera_angle', 'high-angle shot looking down')\">High-angle Shot Looking Down<\/button>\n                <\/div>\n                <input type=\"text\" id=\"camera_angle-custom\" placeholder=\"Or enter custom camera angle...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udcd0 Format Type:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('format_type', 'vertical portrait')\" data-active=\"true\">Vertical Portrait<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('format_type', 'horizontal landscape')\">Horizontal Landscape<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('format_type', 'square')\">Square<\/button>\n                <\/div>\n                <input type=\"text\" id=\"format_type-custom\" placeholder=\"Or enter custom format type...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\u2728 Style Keywords 1:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('style_keywords_1', 'hyper-realistic')\" data-active=\"true\">Hyper-realistic<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('style_keywords_1', 'photorealistic')\">Photorealistic<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('style_keywords_1', 'stylized')\">Stylized<\/button>\n                <\/div>\n                <input type=\"text\" id=\"style_keywords_1-custom\" placeholder=\"Or enter custom style keyword...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udfac Style Keywords 2:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('style_keywords_2', 'cinematic mood')\" data-active=\"true\">Cinematic Mood<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('style_keywords_2', 'dramatic atmosphere')\">Dramatic Atmosphere<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('style_keywords_2', 'documentary feel')\">Documentary Feel<\/button>\n                <\/div>\n                <input type=\"text\" id=\"style_keywords_2-custom\" placeholder=\"Or enter custom style keyword...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83c\udfd9\ufe0f Style Keywords 3:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('style_keywords_3', 'urban')\" data-active=\"true\">Urban<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('style_keywords_3', 'gritty')\">Gritty<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('style_keywords_3', 'futuristic')\">Futuristic<\/button>\n                <\/div>\n                <input type=\"text\" id=\"style_keywords_3-custom\" placeholder=\"Or enter custom style keyword...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n            <div class=\"customizer-item\">\n                <label style=\"color: #00A8FF; font-weight: 600; margin-bottom: 8px; display: block;\">\ud83d\udeab Other Text:<\/label>\n                <div style=\"display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap;\">\n                    <button class=\"preset-btn\" onclick=\"applyPreset('no_other_text', 'no visible text elsewhere')\" data-active=\"true\">No visible text elsewhere<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('no_other_text', 'minimal text elements on signs')\">Minimal text on signs<\/button>\n                    <button class=\"preset-btn\" onclick=\"applyPreset('no_other_text', 'subtle brand logos on buildings')\">Subtle brand logos on buildings<\/button>\n                <\/div>\n                <input type=\"text\" id=\"no_other_text-custom\" placeholder=\"Or enter custom setting for other text...\" style=\"\n                    width: 100%;\n                    background: rgba(255, 255, 255, 0.1);\n                    border: 1px solid #333;\n                    border-radius: 8px;\n                    padding: 10px;\n                    color: #e0e0e0;\n                    font-size: 14px;\n                \">\n            <\/div>\n\n        <\/div>\n\n        <div style=\"display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;\">\n            <button onclick=\"applyCustomChanges()\" id=\"applyButton\" style=\"\n                background: linear-gradient(45deg, #FFC107, #FF9800);\n                color: #1a1a1a;\n                border: none;\n                padding: 12px 30px;\n                border-radius: 25px;\n                font-size: 16px;\n                font-weight: 700;\n                cursor: pointer;\n                transition: all 0.3s ease;\n                box-shadow: 0 5px 15px rgba(255, 193, 7, 0.3);\n                display: inline-flex;\n                align-items: center;\n                gap: 8px;\n            \" onmouseover=\"this.style.transform='translateY(-2px)'; this.style.boxShadow='0 8px 25px rgba(255, 193, 7, 0.4)'\"\n                onmouseout=\"this.style.transform='translateY(0)'; this.style.boxShadow='0 5px 15px rgba(255, 193, 7, 0.3)'\">\n                <span>\ud83d\ude80<\/span>\n                Apply Changes\n            <\/button>\n        <\/div>\n    <\/div>\n\n    <div class=\"tips-section\" style=\"\n        background: rgba(255, 193, 7, 0.1);\n        border-left: 4px solid #FFC107;\n        border-radius: 8px;\n        padding: 20px;\n        margin-top: 25px;\n    \">\n        <h4 style=\"color: #FFC107; margin: 0 0 15px 0; font-size: 16px; font-weight: 600;\">\ud83d\udca1 Pro Tips:<\/h4>\n        <ul style=\"color: #e0e0e0; line-height: 1.6; margin: 0; padding-left: 20px;\">\n            <li style=\"margin-bottom: 8px;\">The <span style=\"color: #00A8FF; font-weight: 600;\">highlighted words<\/span> in the prompt above can be customized<\/li>\n            <li style=\"margin-bottom: 8px;\">Use the <span style=\"color: #FFC107; font-weight: 600;\">Customize button<\/span> to modify different elements<\/li>\n            <li style=\"margin-bottom: 8px;\">Click <span style=\"color: #dc3545; font-weight: 600;\">Reset<\/span> to restore original prompt<\/li>\n            <li style=\"margin-bottom: 8px;\">Try different combinations for unique artistic effects<\/li>\n        <\/ul>\n    <\/div>\n<\/div>\n\n<style>\n@keyframes bounceScale {\n    0% { transform: scale(1); }\n    25% { transform: scale(0.95); }\n    50% { transform: scale(1.1); }\n    75% { transform: scale(0.98); }\n    100% { transform: scale(1); }\n}\n\n@keyframes slideDown {\n    0% { opacity: 0; transform: translateY(-20px); max-height: 0; }\n    100% { opacity: 1; transform: translateY(0); max-height: 1400px; } \/* Increased max-height *\/\n}\n\n@keyframes slideUp {\n    0% { opacity: 1; transform: translateY(0); max-height: 1400px; } \/* Increased max-height *\/\n    100% { opacity: 0; transform: translateY(-20px); max-height: 0; }\n}\n\n@keyframes resetPulse {\n    0%, 100% { transform: scale(1); }\n    50% { transform: scale(1.05); }\n}\n\n\/* Base style for editable words - transparent by default, no special hover *\/\n.editable-word {\n    background: transparent;\n    color: inherit; \/* Inherit color from parent (.prompt-text) so it's readable *\/\n    padding: 2px 6px;\n    border-radius: 4px;\n    font-weight: 600; \/* Keep bold for distinction *\/\n    cursor: pointer;\n    transition: none; \/* Ensure no transitions on hover or initial state *\/\n    display: inline-block;\n}\n\n\/* Ensure no changes on hover *\/\n.editable-word:hover {\n    background: transparent;\n    color: inherit;\n    transform: none; \/* No scale or other transforms *\/\n}\n\n\/* Class for dynamically applied highlight when a word is modified *\/\n.modified-highlight {\n    background: rgba(0, 168, 255, 0.2); \/* Subtle transparent blue *\/\n    color: white; \/* Make text white for better contrast with highlight *\/\n}\n\n\n.preset-btn {\n    background: rgba(255, 255, 255, 0.1);\n    color: #e0e0e0;\n    border: 1px solid #333;\n    padding: 6px 12px;\n    border-radius: 15px;\n    font-size: 12px;\n    font-weight: 500;\n    cursor: pointer;\n    transition: all 0.3s ease;\n}\n\n.preset-btn:hover {\n    background: rgba(0, 168, 255, 0.2);\n    border-color: #00A8FF;\n    color: #00A8FF;\n}\n\n.preset-btn[data-active=\"true\"] {\n    background: linear-gradient(45deg, #00A8FF, #0080CC);\n    color: white;\n    border-color: #00A8FF;\n}\n\n.customizer-show {\n    display: block !important;\n    animation: slideDown 0.5s ease-out !important;\n}\n\n.customizer-hide {\n    animation: slideUp 0.3s ease-in !important;\n}\n\n.ai-prompt-container button:active {\n    transform: scale(0.98) !important;\n}\n\n.copy-button-success {\n    background: linear-gradient(45deg, #4CAF50, #45a049) !important;\n    animation: bounceScale 0.6s ease-in-out !important;\n    box-shadow: 0 8px 25px rgba(76, 175, 80, 0.4) !important;\n}\n\n.reset-button-success {\n    background: linear-gradient(45deg, #4CAF50, #45a049) !important;\n    color: white !important;\n    border-color: #4CAF50 !important;\n    animation: resetPulse 0.6s ease-in-out !important;\n}\n\n@media (max-width: 768px) {\n    .ai-prompt-container {\n        padding: 20px !important;\n        margin: 15px 0 !important;\n    }\n\n    .prompt-actions {\n        flex-direction: column !important;\n        align-items: stretch !important;\n    }\n\n    .prompt-actions button,\n    .prompt-actions a {\n        width: 100% !important;\n        justify-content: center !important;\n    }\n\n    .customizer-grid {\n        grid-template-columns: 1fr !important;\n    }\n\n    .preset-btn {\n        font-size: 11px !important;\n        padding: 5px 10px !important;\n    }\n\n    #customizerPanel > div:first-child {\n        flex-direction: column !important;\n        align-items: flex-start !important;\n        gap: 15px !important;\n    }\n\n    #resetButton {\n        align-self: flex-end !important;\n    }\n}\n<\/style>\n\n<script>\n\/\/ Default values\nconst defaultValues = {\n    photo_style: 'cinematic, hyper-realistic vertical photograph',\n    car_color: 'silver',\n    car_model: 'BMW M-series sports car',\n    car_position: 'center of a narrow, rain-soaked concrete alley',\n    car_condition: 'wet, with visible raindrops on its sleek metallic body',\n    headlight_state: 'LED headlights are turned on',\n    headlight_effect: 'soft, moody reflections on the glossy pavement',\n    license_plate_text: 'bawabatak',\n    license_plate_font: 'bold, clean, sans-serif font',\n    license_plate_color: 'white plate',\n    background_building: 'tall, modern, minimalist apartment building with contrasting facades \u2014 one dark (black or dark gray) and one white \u2014 featuring balconies and rectangular windows',\n    window_light_color: 'warm yellow light',\n    sky_condition: 'misty pale blue',\n    lighting_quality: 'soft and overcast',\n    atmosphere_vibe: 'cold, cinematic atmosphere',\n    color_grading: 'desaturated teal and blue color grading',\n    focus_style: 'sharp focus on the car and subtle depth of field',\n    camera_angle: 'camera angle is slightly low',\n    format_type: 'vertical portrait',\n    style_keywords_1: 'hyper-realistic',\n    style_keywords_2: 'cinematic mood',\n    style_keywords_3: 'urban',\n    no_other_text: 'no visible text elsewhere'\n};\n\n\/\/ Current values (will be modified by user actions)\nlet currentValues = {...defaultValues};\n\nfunction copyPrompt() {\n    const promptText = document.getElementById('promptText').innerText;\n    const copyButton = document.getElementById('copyButton');\n    const copyIcon = document.getElementById('copyIcon');\n    const copyText = document.getElementById('copyText');\n\n    copyButton.classList.add('copy-button-success');\n    copyIcon.textContent = '\u2705';\n    copyText.textContent = 'Copied!';\n\n    if (navigator.clipboard && window.isSecureContext) {\n        navigator.clipboard.writeText(promptText).then(function() {\n            \/\/ Success\n        }).catch(function(err) {\n            fallbackCopyTextToClipboard(promptText);\n        });\n    } else {\n        fallbackCopyTextToClipboard(promptText);\n    }\n\n    setTimeout(() => {\n        copyButton.classList.remove('copy-button-success');\n        copyIcon.textContent = '\ud83d\udccb';\n        copyText.textContent = 'Copy Prompt';\n    }, 2000);\n}\n\nfunction fallbackCopyTextToClipboard(text) {\n    const textArea = document.createElement(\"textarea\");\n    textArea.value = text;\n    textArea.style.top = \"0\";\n    textArea.style.left = \"0\";\n    textArea.style.position = \"fixed\";\n\n    document.body.appendChild(textArea);\n    textArea.focus();\n    textArea.select();\n\n    try {\n        document.execCommand('copy');\n    } catch (err) {\n        console.error('Fallback: Oops, unable to copy', err);\n    }\n\n    document.body.removeChild(textArea);\n}\n\nfunction toggleCustomizer() {\n    const panel = document.getElementById('customizerPanel');\n    const button = document.getElementById('customizeButton');\n    const buttonText = document.getElementById('customizeText');\n\n    if (panel.style.display === 'none' || panel.style.display === '') {\n        panel.classList.add('customizer-show');\n        panel.style.display = 'block';\n        buttonText.textContent = 'Close';\n        button.style.background = 'rgba(255, 193, 7, 0.2)';\n    } else {\n        panel.classList.remove('customizer-show');\n        panel.classList.add('customizer-hide');\n        buttonText.textContent = 'Customize';\n        button.style.background = 'rgba(255, 193, 7, 0.1)';\n\n        setTimeout(() => {\n            panel.style.display = 'none';\n            panel.classList.remove('customizer-hide');\n        }, 300);\n    }\n}\n\nfunction findButtonsForCustomizer(key) {\n    const customInput = document.getElementById(`${key}-custom`);\n    if (!customInput) return [];\n\n    let currentElement = customInput.parentElement;\n    const buttons = currentElement.querySelectorAll('.preset-btn');\n    return Array.from(buttons);\n}\n\nfunction applyPreset(key, value) {\n    currentValues[key] = value;\n\n    \/\/ Update active button\n    const buttons = findButtonsForCustomizer(key);\n    buttons.forEach(btn => {\n        btn.removeAttribute('data-active');\n        if (btn.onclick.toString().includes(`'${value}'`)) {\n            btn.setAttribute('data-active', 'true');\n        }\n    });\n\n    \/\/ Clear custom input\n    const customInput = document.getElementById(`${key}-custom`);\n    if (customInput) customInput.value = '';\n\n    updatePrompt(); \/\/ Re-render prompt to apply highlight if value is different from default\n}\n\nfunction applyCustomChanges() {\n    \/\/ Get custom values from inputs\n    Object.keys(defaultValues).forEach(key => {\n        const customInput = document.getElementById(`${key}-custom`);\n        if (customInput && customInput.value.trim()) {\n            currentValues[key] = customInput.value.trim();\n\n            \/\/ Remove active state from preset buttons as custom input overrides\n            const buttons = findButtonsForCustomizer(key);\n            buttons.forEach(btn => btn.removeAttribute('data-active'));\n        }\n    });\n\n    updatePrompt(); \/\/ Re-render prompt to apply highlights based on new custom values\n\n    \/\/ Show success feedback\n    const applyButton = document.getElementById('applyButton');\n    const originalText = applyButton.innerHTML;\n    applyButton.innerHTML = '<span>\u2705<\/span> Applied!';\n    applyButton.style.background = 'linear-gradient(45deg, #4CAF50, #45a049)';\n\n    setTimeout(() => {\n        applyButton.innerHTML = originalText;\n        applyButton.style.background = 'linear-gradient(45deg, #FFC107, #FF9800)';\n    }, 2000);\n}\n\nfunction resetToDefaults() {\n    \/\/ Reset values to defaults\n    currentValues = JSON.parse(JSON.stringify(defaultValues)); \/\/ Deep copy\n\n    \/\/ Clear all custom inputs\n    Object.keys(defaultValues).forEach(key => {\n        const input = document.getElementById(`${key}-custom`);\n        if (input) input.value = '';\n    });\n\n    \/\/ Reset ALL preset buttons first\n    document.querySelectorAll('.preset-btn').forEach(btn => {\n        btn.removeAttribute('data-active');\n    });\n\n    \/\/ Activate default buttons for each category based on defaultValues\n    const defaultButtonMappings = [\n        { key: 'photo_style', value: 'cinematic, hyper-realistic vertical photograph', buttonText: 'Cinematic, Hyper-realistic Vertical Photograph' },\n        { key: 'car_color', value: 'silver', buttonText: 'Silver' },\n        { key: 'car_model', value: 'BMW M-series sports car', buttonText: 'BMW M-series Sports Car' },\n        { key: 'car_position', value: 'center of a narrow, rain-soaked concrete alley', buttonText: 'Center of Narrow, Rain-soaked Concrete Alley' },\n        { key: 'car_condition', value: 'wet, with visible raindrops on its sleek metallic body', buttonText: 'Wet, with Visible Raindrops' },\n        { key: 'headlight_state', value: 'LED headlights are turned on', buttonText: 'LED Headlights On' },\n        { key: 'headlight_effect', value: 'soft, moody reflections on the glossy pavement', buttonText: 'Soft, Moody Reflections on Pavement' },\n        { key: 'license_plate_text', value: 'bawabatak', buttonText: 'bawabatak' },\n        { key: 'license_plate_font', value: 'bold, clean, sans-serif font', buttonText: 'Bold, Clean, Sans-serif Font' },\n        { key: 'license_plate_color', value: 'white plate', buttonText: 'White Plate' },\n        { key: 'background_building', value: 'tall, modern, minimalist apartment building with contrasting facades \u2014 one dark (black or dark gray) and one white \u2014 featuring balconies and rectangular windows', buttonText: 'Tall, Modern, Minimalist Apartment Building with Contrasting Facades' },\n        { key: 'window_light_color', value: 'warm yellow light', buttonText: 'Warm Yellow Light' },\n        { key: 'sky_condition', value: 'misty pale blue', buttonText: 'Misty Pale Blue' },\n        { key: 'lighting_quality', value: 'soft and overcast', buttonText: 'Soft and Overcast' },\n        { key: 'atmosphere_vibe', value: 'cold, cinematic atmosphere', buttonText: 'Cold, Cinematic Atmosphere' },\n        { key: 'color_grading', value: 'desaturated teal and blue color grading', buttonText: 'Desaturated Teal and Blue' },\n        { key: 'focus_style', value: 'sharp focus on the car and subtle depth of field', buttonText: 'Sharp Focus on Car, Subtle Depth of Field' },\n        { key: 'camera_angle', value: 'camera angle is slightly low', buttonText: 'Slightly Low Camera Angle' },\n        { key: 'format_type', value: 'vertical portrait', buttonText: 'Vertical Portrait' },\n        { key: 'style_keywords_1', value: 'hyper-realistic', buttonText: 'Hyper-realistic' },\n        { key: 'style_keywords_2', value: 'cinematic mood', buttonText: 'Cinematic Mood' },\n        { key: 'style_keywords_3', value: 'urban', buttonText: 'Urban' },\n        { key: 'no_other_text', value: 'no visible text elsewhere', buttonText: 'No visible text elsewhere' }\n    ];\n\n    defaultButtonMappings.forEach(({ key, value, buttonText }) => {\n        const buttons = findButtonsForCustomizer(key);\n        buttons.forEach(btn => {\n            if (btn.textContent.trim() === buttonText) {\n                btn.setAttribute('data-active', 'true');\n            }\n        });\n    });\n\n    \/\/ Handle license_plate_text specifically as it doesn't have preset buttons but needs its default value\n    document.getElementById('license_plate_text-custom').value = defaultValues['license_plate_text'];\n\n    \/\/ Force update the prompt to remove all highlights\n    updatePrompt();\n\n    \/\/ Show success feedback on reset button\n    const resetButton = document.getElementById('resetButton');\n    const originalText = resetButton.innerHTML;\n    resetButton.classList.add('reset-button-success');\n    resetButton.innerHTML = '<span>\u2705<\/span> Reset!';\n\n    setTimeout(() => {\n        resetButton.classList.remove('reset-button-success');\n        resetButton.innerHTML = originalText;\n    }, 2000);\n}\n\n\/\/ Function to dynamically update the prompt string with conditional highlighting\nfunction updatePrompt() {\n    const promptElement = document.getElementById('promptText');\n\n    \/\/ Helper to generate a span with conditional highlighting\n    const createEditableSpan = (key) => {\n        const isModified = currentValues[key] !== defaultValues[key];\n        const highlightClass = isModified ? ' modified-highlight' : '';\n        return `<span class=\"editable-word${highlightClass}\" data-key=\"${key}\">${currentValues[key]}<\/span>`;\n    };\n\n    \/\/ Construct the prompt string based on current values and original phrasing\n    const template = `A ${createEditableSpan('photo_style')} of a ${createEditableSpan('car_color')} ${createEditableSpan('car_model')} parked in the ${createEditableSpan('car_position')}. The car is ${createEditableSpan('car_condition')}. Its ${createEditableSpan('headlight_state')}, casting ${createEditableSpan('headlight_effect')}. The front license plate of the car clearly displays the text \u201c<span class=\"editable-word\" data-key=\"license_plate_text\">${currentValues['license_plate_text']}<\/span>\u201d in ${createEditableSpan('license_plate_font')}, centered on a ${createEditableSpan('license_plate_color')}. The background features a ${createEditableSpan('background_building')}. One small window emits a ${createEditableSpan('window_light_color')}. The sky is ${createEditableSpan('sky_condition')}, and the lighting is ${createEditableSpan('lighting_quality')}, evoking a ${createEditableSpan('atmosphere_vibe')}. The image uses a ${createEditableSpan('color_grading')}, with ${createEditableSpan('focus_style')}. The ${createEditableSpan('camera_angle')}. Format: ${createEditableSpan('format_type')}, ${createEditableSpan('style_keywords_1')}, ${createEditableSpan('style_keywords_2')}, ${createEditableSpan('style_keywords_3')}, ${createEditableSpan('no_other_text')}.`;\n\n    promptElement.innerHTML = template;\n}\n\n\/\/ Initialize the prompt and customizer buttons on load\ndocument.addEventListener('DOMContentLoaded', () => {\n    updatePrompt(); \/\/ Render the initial prompt\n    \/\/ Set initial active state for default preset buttons\n    Object.keys(defaultValues).forEach(key => {\n        if (key !== 'license_plate_text') { \/\/ license_plate_text is handled by input value, not preset buttons\n            const buttons = findButtonsForCustomizer(key);\n            buttons.forEach(btn => {\n                if (btn.onclick.toString().includes(`'${defaultValues[key]}'`)) {\n                    btn.setAttribute('data-active', 'true');\n                }\n            });\n        }\n    });\n});\n<\/script>\n\n\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1251 size-full\" src=\"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate-CHATGPT-PROMPT.png?resize=1080%2C1350&#038;ssl=1\" alt=\"\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate-CHATGPT-PROMPT.png?w=1080&amp;ssl=1 1080w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate-CHATGPT-PROMPT.png?resize=240%2C300&amp;ssl=1 240w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate-CHATGPT-PROMPT.png?resize=819%2C1024&amp;ssl=1 819w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate-CHATGPT-PROMPT.png?resize=768%2C960&amp;ssl=1 768w, https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate-CHATGPT-PROMPT.png?resize=150%2C188&amp;ssl=1 150w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>","protected":false},"excerpt":{"rendered":"<p>\u2728 Cinematic Alley Car Shot AI Image Generation Prompt \ud83d\udccb How to Use: Open ChatGPT Copy and paste the prompt below A cinematic, hyper-realistic vertical photograph of a silver BMW M-series sports car parked in the center of a narrow, rain-soaked concrete alley. The car is wet, with visible raindrops on its sleek metallic body. &hellip;<\/p>\n","protected":false},"author":1,"featured_media":1251,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[35,89],"tags":[151,160,147,150,152,157,63,148,159,149,158,154,155,156,153],"class_list":["post-1249","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-image","category-digital-art","tag-bawabatak-license-plate","tag-ai-auto-prompt","tag-bmw-m-series","tag-cinematic-car-photography","tag-depth-of-field","tag-glossy-alley","tag-hyper-realistic-render","tag-led-headlights","tag-misty-sky","tag-modern-apartments","tag-moody-urban","tag-teal-blue-color-grade","tag-urban-rain-scene","tag-vertical-format","tag-wet-asphalt"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/bawabatak.com\/ai-prompt\/wp-content\/uploads\/2025\/07\/Cinematic-BMW-MSeries-in-Rainy-Urban-Alley-with-Bawabatak-Plate-CHATGPT-PROMPT.png?fit=1080%2C1350&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/posts\/1249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/comments?post=1249"}],"version-history":[{"count":1,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/posts\/1249\/revisions"}],"predecessor-version":[{"id":1252,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/posts\/1249\/revisions\/1252"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/media\/1251"}],"wp:attachment":[{"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/media?parent=1249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/categories?post=1249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bawabatak.com\/ai-prompt\/wp-json\/wp\/v2\/tags?post=1249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}