Skip to main content

Poster audit · extract fields + risk screening from promo images

Upload a promo image, Qwen3.8-flash vision extracts product, price, coupon and rule fields into fixed JSON, and screens copy for pre-launch risks.

Turn a promo image into fixed-field JSON while screening copy for pre-launch risks.
Disclaimer: All content on this page is AI-generated, for reference only, and does not constitute any performance guarantee. Actual results and Credits consumption are subject to the console "Usage Details".
This walkthrough uses an 800×2262 vertical pre-sale image (4 products, strikethrough/promo/deposit prices, 3 coupons, fine-print rules): everything in a marketing image—products, prices, coupons, rules—is image, can't go into a table or be searched, and copy must be vetted sentence by sentence before launch. Ask qwen3.8-flash to output fixed-field JSON in one pass—product fields, coupon info, risk findings (tiered + rewrite suggestions), internal contradictions, false-positive self-check, info to confirm. The image has 8 test points, one a decoy for false positives. Call chain: qwen3.8-flash (promo image base64 input → product fields + coupons + risk findings + contradiction list). Vision understanding + structured output.

Example input

Example input · full promo image fed to the model (800×2262, fictional demo material, no real brands, shops, or registration numbers)
Example input · full promo image fed to the model (800×2262, fictional demo material, no real brands, shops, or registration numbers)

Steps: upload image and lock output fields

Send the image along with the prompt below to qwen3.8-flash. For batch field extraction, thinking off is sufficient—fast and field accuracy is stable:
<image_url: base64 470 KB>
You are an e-commerce product information auditor. Below is a promotional image. Structure the information on it and do a pre-launch compliance review.

Return only a JSON object, no other text, with this fixed structure:

{
  "campaign": {"name": "campaign name", "deposit_window": "deposit payment window", "final_payment_window": "final payment window", "shipping": "shipping timeframe"},
  "products": [
    {
      "name":        "product name",
      "spec":        "specification",
      "sku":         "item code",
      "list_price":  "strikethrough original price (number)",
      "promo_price": "promo price (number)",
      "deposit":     "deposit (number, null if none)",
      "deposit_credit": "deposit credit amount (number, null if none)",
      "gifts":       ["freebies; empty array if not on image"],
      "purchase_limit": "purchase limit quantity; null if not stated",
      "stock_note":  "stock-related note; null if not stated"
    }
  ],
  "coupons": [{"text": "coupon text as printed", "threshold": "threshold (number)", "amount": "discount (number)", "restriction": "usage restriction"}],
  "compliance_risks": [
    {
      "text":     "copy the original text verbatim, do not rewrite",
      "where":    "where on the image (which product/section)",
      "rule":     "what it violates (based on common-knowledge provisions of China's Advertising Law and Cosmetics Supervision Regulations)",
      "severity": "high or medium or low",
      "suggestion": "what to change it to; provide ready-to-use replacement copy"
    }
  ],
  "conflicts": [{"a": "one statement on image", "b": "another statement on image", "why": "why they contradict"}],
  "not_risks": [{"text": "looks like an issue but actually fine", "why_ok": "why it's not an issue based on this image"}],
  "missing_info": ["info that should be confirmed before launch"]
}

Review requirements:
- All numbers, product names, item codes: copy verbatim from the image. If unclear, note in missing_info. Do not guess or fabricate.
- severity fixed meaning: high = can't launch without fix; medium = compliance concern to evaluate; low = expression can be improved.
  Don't rate standard promo language as high; don't let real violations slide.
- compliance_risks text must be verbatim from the image, not paraphrased.
- Spot cross-section issues: claims vs ingredient lists, coupon rules vs fine-print rules—contradictions must be called out.
- If something looks suspicious but is actually fine based on this image, put it in not_risks with reasoning; don't pad the risk list.
Key parameters:
# Field extraction: thinking off is enough
{
  "model": "qwen3.8-flash",
  "messages": [...],
  "enable_thinking": false
}

# Copy risk screening: neither mode is stable; don't decide based on a single run
Under OpenAI-compatible mode, enable_thinking goes at the top level of the request body; flash defaults to thinking on.

Notes

  • Consumption: This playbook uses vision understanding + text generation (qwen3.8-flash). Image_tokens converted from the long image count toward input; longer/clearer images mean higher input cost. Thinking on: output ~3.6× thinking-off, the extra being reasoning chain.
  • Measured result · field extraction (stable): Thinking-off read the full image; 4 products × 10 fields = 40 items all matched the image verbatim (including error-prone item codes). 8 pieces of info not on the image were not fabricated—returned null or empty array. 3 coupons' threshold/discount/restriction all correct. An independent reproduction also got all fields right.
  • Measured result · risk screening (unstable): This round thinking-off hit 5 of 8 test points—two absolute-claims rated high, "100% natural ingredients" cross-checked against actual ingredient list flagged as contradiction, decoy not false-positived. Missed three: the implied medical-claim line, the "lowest price network-wide" corner mark, and coupon "stackable storewide" vs rules "pre-sale excluded from discounts" conflict. Same image with thinking-on hit all 8.
  • Note: The thinking off/on difference above could not be reproduced—an independent reproduction with the same prompt and material got thinking-off hitting all 8 and thinking-on only 6, the opposite direction. Risk hit rate varies more between individual runs than between the two modes; this page's comparison is a single sample. Before deciding parameter config based on this, run several rounds and look at the distribution.
  • Note: Thinking-on reported 7 risks (vs 4 for thinking-off), including flagging the decoy (on review, its reasoning was sound, so not counted as a false positive). It leans "report more rather than miss"—when integrating into automation, review against your own standards.
  • Note: Batch field extraction with thinking off is sufficient. Copy risk screening is a pre-launch initial screen only; it does not replace human and legal review. Model risk judgments and statutory citations are reference opinions; verify independently; does not constitute legal advice.
  • Material statement: The image in this example is a fictional material made specifically for capability demonstration (HTML rendered then screenshotted). No real brands, products, shops, or registration numbers are involved. Prices and stock are fabricated. Some promotional copy was intentionally written to test the model's recognition ability.
Model Playground
Fine-tuning
Model Compression
Statistics and Monitoring
Support