Adjusted all 6 Amazon check weights to equal 1.67 each based on test results showing incorrect scoring. Refined prompts for box placement (format-aware positioning, better tape description), required elements (subhead now optional for OOH), logo country (country match as primary factor), margins (visual assessment over pixel estimates), and headline layout (natural language break detection, tall format awareness). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
82 lines
4.3 KiB
Python
82 lines
4.3 KiB
Python
import os
|
|
import sys
|
|
|
|
# Add parent directory to path to import shared modules
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
|
|
|
|
from visual_qc_apps.flask_app_template import FlaskAppTemplate
|
|
|
|
class AmazonRequiredElementsApp(FlaskAppTemplate):
|
|
"""
|
|
Amazon ASD 2025 - Required Elements Check
|
|
Verifies all mandatory layout elements are present in the design.
|
|
"""
|
|
|
|
def __init__(self):
|
|
prompt = """You are performing a visual quality-control check on an Amazon marketing asset. Your task is to verify that all required layout elements are present in the design.
|
|
|
|
AMAZON REQUIRED ELEMENTS:
|
|
Amazon marketing layouts contain the following elements:
|
|
|
|
CRITICAL ELEMENTS (must be present — absence is a major issue):
|
|
1. HEADLINE - The main promotional text (e.g. "Four days of big deals", sale messaging). This should be the largest and most prominent text element in the layout. It is always left-aligned.
|
|
|
|
2. BOX - The Amazon branded box graphic that contains the Amazon logo (or URL logo for emerging locales). This is a distinctive cardboard box shape with tape/flaps. In some display formats, a Paper Bag may be used instead of the Box.
|
|
|
|
IMPORTANT ELEMENTS (should be present in most formats):
|
|
3. DATE - The sale dates/timing information (e.g. "8-11 July", "8-11 luglio"). Usually positioned below or near the headline.
|
|
|
|
4. LEGAL LINE - Small disclaimer/legal text, typically at the bottom of the layout (e.g. "Exclusively for Prime members", "Solo per i clienti Prime"). Usually displayed in smaller, semi-transparent text.
|
|
|
|
OPTIONAL ELEMENT (nice to have, but NOT required for all formats):
|
|
5. SUBHEAD - Secondary text providing additional context (e.g. discount percentage, "Save up to XX%", additional promotional messaging). This is separate from the date.
|
|
- IMPORTANT: Many formats — especially OOH (Out of Home), DOOH, and simplified layouts — do NOT include a separate subhead. This is perfectly acceptable. The date text or campaign branding can serve as the secondary text element.
|
|
- Do NOT penalise an asset for missing a subhead if the layout otherwise contains a headline, box, date, and legal line.
|
|
- Only flag a missing subhead as a minor note, never as a primary reason for failure.
|
|
|
|
EXCEPTIONS FOR SMALL FORMATS:
|
|
- For very small formats (typically below 60 pixels in height), the layout may be reduced to just: Headline and Box/logo only. This is acceptable.
|
|
- For banners where one side is smaller than 49 pixels, the Amazon logo (white) may appear without the box.
|
|
|
|
ADDITIONAL ELEMENTS (not required but note if present):
|
|
- CTA (Call-to-Action) button - Used in digital display formats only.
|
|
- ASINs (product images) - Used in certain layouts only.
|
|
- Campaign branding text (e.g. "Prime Day", "amazon prime day") - Often appears near the bottom.
|
|
|
|
STEPS TO EVALUATE:
|
|
1. Scan the entire layout and identify each element present
|
|
2. Determine if this is a standard format or a small format
|
|
3. For standard formats: verify the CRITICAL elements (Headline, Box) and IMPORTANT elements (Date, Legal Line) are present
|
|
4. Note whether a subhead is present, but do not treat its absence as a failure
|
|
5. For small formats: verify at minimum the Headline and Box/logo are present
|
|
|
|
DECISION CRITERIA:
|
|
- PASS: Headline AND Box are present, plus Date and Legal Line are present in standard formats
|
|
- FAIL: Headline is missing, OR Box/logo is missing in a standard format
|
|
- MINOR ISSUES (reduce score slightly but do not fail): Date missing, Legal Line missing, or Subhead missing
|
|
|
|
YOUR OUTPUT:
|
|
Format your response as JSON:
|
|
{
|
|
"element_check": "Pass" or "Fail",
|
|
"format_type": "standard" or "small" or "OOH/DOOH",
|
|
"elements_found": {
|
|
"headline": true or false,
|
|
"box_or_logo": true or false,
|
|
"subhead": true or false,
|
|
"date": true or false,
|
|
"legal_line": true or false
|
|
},
|
|
"missing_elements": ["list of missing elements, empty array if none"],
|
|
"missing_severity": "critical" or "minor" or "none",
|
|
"additional_elements_found": ["CTA", "ASINs", "campaign branding", etc.],
|
|
"explanation": "Detailed description of what was found and any concerns",
|
|
"recommendations": ["List specific recommendations if applicable, else an empty array"]
|
|
}"""
|
|
|
|
super().__init__(__name__, prompt)
|
|
|
|
# Run the app if executed directly
|
|
if __name__ == "__main__":
|
|
app_instance = AmazonRequiredElementsApp()
|
|
app_instance.run()
|