# What Are the 10 GPT-Image2 Scene Tags? A Complete Technical Reference

> Discover the 10 GPT-Image2 scene tags used for categorizing image prompts. Learn how Creative, Tech, Commerce, and more enable UI filtering in this technical reference.

- Repository: [苍何/awesome-gpt-image-2](https://github.com/freestylefly/awesome-gpt-image-2)
- Tags: api-reference
- Published: 2026-08-30

---

**GPT-Image2 defines 10 IO scene tags—Creative, Tech, Commerce, Education, Social, Fashion, Food, Travel, Story, and History—in the [`data/style-library.json`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/data/style-library.json) file to categorize image generation prompts and enable UI filtering.**

The `freestylefly/awesome-gpt-image-2` repository uses these scene tags as a fixed taxonomy for organizing generative AI workflows. Each tag maps to a specific visual domain and includes multilingual metadata, allowing the application to filter templates and guide prompt construction according to the `scene` field defined in the style library.

## The 10 GPT-Image2 Scene Tags Defined

The scene tags reside in the **`scenes`** array within [`data/style-library.json`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/data/style-library.json) (lines 211–221). Each entry contains an `id`, human-readable `value`, multilingual `title` objects, and optional `keywords` for searchability.

| ID | Value | English Title | Chinese Title | Keywords |
|---|---|---|---|---|
| `creative` | Creative | Creative | 创意 | — |
| `tech` | Tech | Tech | 科技 | ai, rag, tech, data, 技术, 数据 |
| `commerce` | Commerce | Commerce | 商业 | product, brand, ad, campaign, 商品, 商业, 广告 |
| `education` | Education | Education | 教育 | guide, atlas, science, learning, 学习, 科普 |
| `social` | Social | Social | 社媒 | social, x, wechat, 朋友圈, 社媒 |
| `fashion` | Fashion | Fashion | 时尚 | fashion, clothing, portrait, 服饰, 写真 |
| `food` | Food | Food | 食品饮品 | food, drink, coffee, tea, 餐厅, 咖啡, 茶 |
| `travel` | Travel | Travel | 旅行 | city, map, street, 城市, 地图, 街头 |
| `story` | Story | Story | 叙事 | story, scene, world, 故事, 场景 |
| `history` | History | History | 历史 | history, dynasty, ancient, 历史, 古希腊, 唐 |

These values serve as the controlled vocabulary for the `scene` parameter across the application.

## Scene Tag Structure in data/style-library.json

According to the source code, the scene definitions follow a strict JSON schema. The `scenes` array contains objects with the following properties:

- **`id`**: Unique identifier (lowercase, no spaces)
- **`value`**: Display name (Pascal case)
- **`title`**: Nested object with `en` and `zh` localizations
- **`keywords`**: Array of associated terms for search optimization

The array is located at lines 211–221 in [`data/style-library.json`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/data/style-library.json), immediately following the style definitions and preceding the skill categories.

## Implementing Scene Tags in the UI

The React frontend consumes these tags to filter the case gallery. In [`src/main.jsx`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/src/main.jsx) (lines 93–99), the application initializes a `scene` state variable that filters the displayed templates based on the user's selection:

```javascript
// From src/main.jsx (simplified context)
const [scene, setScene] = useState('all');

// Filter logic applying scene tags
const filteredCases = cases.filter(caseItem => 
  scene === 'all' || caseItem.scenes.includes(scene)
);

```

This implementation ensures that only templates matching the selected **GPT-Image2 scene tag** appear in the interface, maintaining consistency with the taxonomy defined in the style library.

## Using Scene Tags in Prompt Templates

When constructing a template, you reference scene tags in the `scenes` array field. Templates can specify one or multiple tags to indicate their applicable domains.

```json
{
  "title": "Scene Storytelling",
  "scenes": ["Story", "Social"],
  "description": "Storyboards, worldbuilding, narrative scenes, and emotional pacing."
}

```

For direct API-style usage, include the scene in your payload:

```json
{
  "template": "scene-storytelling",
  "scene": "Travel",
  "style": "Illustration",
  "prompt": "A bustling night market in Bangkok, neon signs, street food stalls, crowds, cinematic lighting."
}

```

## Accessing Scene Tags Programmatically

To retrieve the scene tag definitions dynamically from the repository structure, use the following Node.js implementation:

```javascript
import fs from 'fs';
import path from 'path';

const libraryPath = path.resolve(
  __dirname,
  '..',
  'data',
  'style-library.json'
);
const library = JSON.parse(fs.readFileSync(libraryPath, 'utf8'));

const sceneTags = library.scenes.map(s => ({
  id: s.id,
  value: s.value,
  titleEN: s.title.en,
  titleZH: s.title.zh,
  keywords: s.keywords
}));

console.log('GPT-Image2 scene tags:', sceneTags);

```

This script parses [`data/style-library.json`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/data/style-library.json) and extracts the complete scene taxonomy, including multilingual titles and keywords, for integration into external tools or documentation generators like `scripts/generate-style-skill.mjs` (lines 104–118).

## Summary

- **GPT-Image2** uses exactly **10 scene tags**: Creative, Tech, Commerce, Education, Social, Fashion, Food, Travel, Story, and History.
- Tags are defined in **[`data/style-library.json`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/data/style-library.json)** at lines 211–221, with each entry containing `id`, `value`, multilingual `title`, and `keywords`.
- The UI filters templates by scene in **[`src/main.jsx`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/src/main.jsx)** (lines 93–99) using the `scene` state variable.
- Templates specify applicable scenes via the `scenes` array field, enabling categorical organization of generation workflows.
- The **`scripts/generate-style-skill.mjs`** utility references these tags for automated documentation generation.

## Frequently Asked Questions

### What are the 10 scene tags used in GPT-Image2?

The 10 scene tags are **Creative**, **Tech**, **Commerce**, **Education**, **Social**, **Fashion**, **Food**, **Travel**, **Story**, and **History**. Each tag represents a distinct visual domain with associated keywords and bilingual titles (English and Chinese) stored in the [`data/style-library.json`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/data/style-library.json) file.

### Where are GPT-Image2 scene tags defined in the source code?

Scene tags are defined in the **[`data/style-library.json`](https://github.com/freestylefly/awesome-gpt-image-2/blob/main/data/style-library.json)** file at lines 211–221 within the `scenes` array. This central configuration file serves as the single source of truth for the taxonomy used throughout the `freestylefly/awesome-gpt-image-2` repository.

### How do I use scene tags when creating a prompt template?

Include the desired scene values in the template's `scenes` array field as strings matching the `value` property (e.g., `"Travel"` or `"Tech"`). The UI filters available templates based on these values, and the generation pipeline uses them to contextualize the visual output according to the selected domain.

### Can I use multiple scene tags for a single template?

Yes. The `scenes` field accepts an array of strings, allowing a single template to belong to multiple categories simultaneously. For example, a template might include `["Story", "Social"]` to indicate it works for both narrative storytelling and social media content creation.