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

GPT-Image2 defines 10 IO scene tags—Creative, Tech, Commerce, Education, Social, Fashion, Food, Travel, Story, and History—in the 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 (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, 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 (lines 93–99), the application initializes a scene state variable that filters the displayed templates based on the user's selection:

// 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.

{
  "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:

{
  "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:

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 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 at lines 211–221, with each entry containing id, value, multilingual title, and keywords.
  • The UI filters templates by scene in 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 file.

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

Scene tags are defined in the 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.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →