# How to Avoid Common Pitfalls When Generating UI Screenshot Prompts

> Avoid common pitfalls in UI screenshot prompt generation. Learn to lock platform, aspect ratio, layout, text, and overlays to prevent AI hallucination and design errors. Get accurate UI visuals.

- Repository: [苍何/awesome-gpt-image-2](https://github.com/freestylefly/awesome-gpt-image-2)
- Tags: tutorial
- Published: 2026-09-05

---

**To generate high-fidelity UI screenshots with large language models, you must explicitly lock the platform, aspect ratio, layout hierarchy, exact text strings, and UI overlay order to prevent hallucination and incoherent design mashups.**

Crafting effective prompts for UI screenshot generation requires precise atomic specifications to counteract model hallucination. The `freestylefly/awesome-gpt-image-2` repository provides strict templates in [`docs/templates.md`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/docs/templates.md) that demonstrate how vague instructions lead to distorted layouts and placeholder text. Understanding these common pitfalls ensures your generated screenshots maintain platform-specific fidelity and readable content.

## Why Precise Constraints Matter for UI Screenshot Generation

Large language models default to generic phone-screen layouts when generating UI screenshots, often blending incompatible platform elements like Twitter verification badges with Douyin interfaces. Without explicit constraints, models produce overlapping UI blocks, unreadable placeholder text, and distorted aspect ratios. As noted in the repository's avoid-pitfalls guide (lines 85-92): *"不要给模糊指令：明确‘平台 + 比例 + 布局’，否则模型会像个实习生一样乱排版"* (Don't give vague instructions: explicitly define 'platform + ratio + layout', otherwise the model will typeset randomly like an intern).

## Six Critical Pitfalls When Generating UI Screenshot Prompts

### 1. Vague Platform and Aspect Ratio Specifications

Failing to specify `iOS`, `Android`, or `Web` alongside exact ratios like `9:16` or `16:9` causes the model to default to generic layouts. This often results in hybrid interfaces that mix design languages from different ecosystems. According to the templates in [`docs/templates.md`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/docs/templates.md), you must explicitly state the platform and ratio at the prompt's start, such as `iOS 9:16` or `Web 16:9`, to anchor the composition.

### 2. Unclear UI Hierarchy and Layout Direction

Omitting layout structures like "top-nav," "card-based feed," or "bottom tab bar" leads to random placeholder placement and overlapping blocks. The model fills the canvas chaotically when hierarchy is undefined. The **UI Screenshot** templates (lines 59-63) demonstrate specifying exact layer positions: `top_left` for status bars and `bottom_right` for input boxes, creating a clear information architecture.

### 3. Missing or Ambiguous Text Specifications

Using phrases like "show some text" without providing exact Chinese or English characters triggers the model's "text-vanishing" bug, producing gibberish or placeholder symbols. The **强制文字锁定** (mandatory text lock) rule (lines 86-90) mandates stating: *"文字必须准确显示指定的中文，禁止乱码和占位文本"* (The text must accurately display the specified Chinese characters, prohibiting garbled code and placeholder text). Always list exact strings in your prompt payload.

### 4. Mixing Platform-Specific UI Cues

Requesting elements like Twitter's blue verification checkmark inside a Douyin livestream layout creates incoherent mashups. Each platform has distinct visual signatures—X (Twitter) uses quote-retweet distinctions, Douyin displays music discs and like animations, and Xiaohongshu features dual-column waterfall layouts. Apply the **平台特征锁定** (platform feature lock) clause (lines 88-90) to isolate these cues: *"X（Twitter）有蓝勾认证、转发/引用区分；抖音有音乐碟片和点赞动画；小红书有双列瀑布流特征"*.

### 5. Neglecting UI Overlay Order

Failing to specify where status bars, comment feeds, or product cards appear results in overlays obscuring primary content. The model may place critical UI elements behind overlays without explicit depth instructions. The *UI 截图生成模板* defines each layer's position explicitly—`top-left` for system status, `bottom-right` for interaction inputs—ensuring proper visual stacking order.

### 6. Skipping Aspect Ratio Locks for Non-Phone Screens

Applying default phone ratios (9:16) to car displays or smart-home panels distorts the intended interface. The **"中空界面比例锁定"** (hollow interface ratio lock) requires mentioning exact ratios like `21:9` for automotive displays immediately after the platform identifier. This prevents the model from forcing mobile layouts onto specialized hardware interfaces.

## The JSON-Progressive Template Structure

The most reliable method for avoiding these pitfalls uses the **JSON-progressive template** (lines 24-46 in [`docs/templates.md`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/docs/templates.md)). This structured approach forces the model to emit a validated object before rendering, ensuring all constraints are satisfied programmatically.

Bad prompts fail because they lack specificity:

```text
生成一张社交平台的截图，比例 9:16，里面有人在直播，文字要好看。

```

*Problems:* No platform specified, no exact text provided, ambiguous layout, missing UI layer definitions.

Effective prompts lock every variable:

```json
{
  "type": "UI Screenshot",
  "platform": "Douyin",
  "aspect_ratio": "9:16",
  "layout": "Card‑based feed with bottom tab bar",
  "style": {
    "theme": "Dark Mode",
    "primary_color": "Neon Green",
    "typography": "Clean sans‑serif"
  },
  "content": {
    "header": "Today's Live",
    "host": {
      "avatar": "young female with pink hair",
      "name": "Liu Yifei",
      "verified": true
    },
    "live_stats": {
      "viewers": "12345",
      "likes": "6789",
      "comments": "321"
    },
    "comment_sample": "欢迎大家今晚来聊！"
  },
  "ui_overlays": {
    "top_left": "time • battery • signal",
    "bottom_right": "input box + send icon"
  },
  "constraints": "文字必须准确显示指定的中文，比例固定，保持高保真 UI"
}

```

This structure satisfies all six pitfalls: platform (`Douyin`) and ratio (`9:16`) are locked, layout is explicit (`Card-based feed`), text is exact (`欢迎大家今晚来聊！`), platform features are isolated (Douyin verification), overlay order is defined (`top_left`, `bottom_right`), and the constraint clause enforces text fidelity.

## Integration With the Awesome GPT Image 2 Framework

The `freestylefly/awesome-gpt-image-2` repository implements these safeguards across three key components:

- **[`docs/templates.md`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/docs/templates.md)** contains the human-readable **避坑指南** (pitfall avoidance guide, lines 85-92) summarizing the critical rules: explicitly define platform + ratio + layout, enforce text readability, and distinguish platform features.

- **[`data/style-library.json`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/data/style-library.json)** (entry `ui-screenshot-system`, ID 225) provides the machine-readable schema that powers agent skills, matching the JSON-template structure for programmatic validation.

- **[`agents/skills/gpt-image-2-style-library/SKILL.md`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/agents/skills/gpt-image-2-style-library/SKILL.md)** exposes the UI style library to Claude Code and Codex agents, incorporating validation steps that check for mandatory text locks and platform specificity before generation.

- **[`src/main.jsx`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/src/main.jsx)** serves as the front-end rendering layer for visual verification of prompt outcomes, allowing you to confirm that overlay orders and text placements match the structured input.

## Summary

- **Lock platform and aspect ratio immediately** (e.g., `iOS 9:16`, `Web 16:9`) to prevent generic layout defaults.
- **State layout hierarchy explicitly** using terms like "top-nav" or "card-based feed" to avoid overlapping UI blocks.
- **Apply mandatory text locking** (强制文字锁定) with exact character strings to eliminate placeholder gibberish.
- **Isolate platform features** (平台特征锁定) to prevent mixing Twitter verification badges with Douyin interfaces.
- **Define UI overlay positions** (`top_left`, `bottom_right`) to maintain proper visual stacking order.
- **Use JSON-progressive templates** for programmatic validation of all constraints before image generation.

## Frequently Asked Questions

### What is the "强制文字锁定" rule in UI screenshot generation?

The **强制文字锁定** (mandatory text lock) rule requires explicitly stating the exact Chinese or English characters that must appear in the screenshot, accompanied by the constraint: *"文字必须准确显示指定的中文，禁止乱码和占位文本"*. This prevents the model from generating placeholder gibberish or dropping required text, as documented in lines 86-90 of [`docs/templates.md`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/docs/templates.md).

### How do I prevent platform mixing in generated screenshots?

Prevent platform mixing by implementing **平台特征锁定** (platform feature lock), which explicitly isolates platform-specific UI cues. For example, specify that X (Twitter) uses blue checkmarks and quote-retweet distinctions, Douyin displays music discs and like animations, and Xiaohongshu features dual-column waterfall layouts (lines 88-90 in the template documentation).

### Why does the JSON structure improve prompt reliability?

The JSON-progressive template (lines 24-46) forces the model to output a structured object that can be validated programmatically before rendering. This ensures all required fields—platform, aspect ratio, layout, exact text, and overlay positions—are present and correctly formatted, eliminating the ambiguity that causes hallucinations in free-text prompts.

### Where can I find the complete UI screenshot template documentation?

Complete documentation resides in [`docs/templates.md`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/docs/templates.md) (section **UI & 界面**) within the `freestylefly/awesome-gpt-image-2` repository. This file contains the structured templates, the avoid-pitfalls guide (lines 85-92), and specific layout definitions (lines 59-63) for generating high-fidelity screenshots.