Complete Guide to the 20 Visual Styles Defined in the GPT Image Style Library
The awesome‑gpt‑image‑2 repository maintains 19 active visual styles in data/style-library.json, reserving the 20th slot for future expansion to ensure backward compatibility.
The freestylefly/awesome‑gpt‑image‑2 project centralizes artistic direction through a JSON‑based style catalog. Located at data/style-library.json, this configuration enumerates every visual style the generation system supports, from 3D renders to classical illustrations. Understanding these visual styles defined in the style library is essential for constructing API requests and templates that trigger precise aesthetic behavior.
Structure of the Style Library
Each entry occupies the styles array (lines 1891‑2090 of data/style-library.json) and contains four standardized fields:
id: The canonical lowercase identifier used in API requests and template bindingsvalue: Human‑readable English description (e.g.,"Character","Photography")title: Multilingual display text, typically Simplified Chinese (e.g.,"角色","摄影")keywords: Optional array of trigger terms that the prompt engine injects to refine generation quality
The Complete Reference of Visual Styles
The library currently defines 19 active aesthetics. The 20th position remains intentionally empty to accommodate future additions without breaking existing integrations or identifier sequences.
3D and Technical Visualization
- 3D (
id: "3d"): Targets toy‑like renders and plastic aesthetics. Keywords:3d,toy,render,玩具. - UI (
id: "ui"): Optimized for interface screenshots and dashboard mockups. Keywords:ui,interface,dashboard,界面,截图. - Architecture (
id: "architecture"): Structured for building and spatial design renders. No keywords defined. - Realistic (
id: "realistic"): Photographic fidelity and camera‑like output. Keywords:photo,realistic,camera,写真,写实.
Commercial and Marketing Assets
- Brand (
id: "brand"): Logo and identity systems. Keywords:brand,logo,identity,品牌,标志. - Product (
id: "product"): Single‑item focus with packaging context. Keywords:product,packaging,商品,包装. - Products (
id: "products"): Plural variant for multi‑item compositions. No keywords defined. - Poster (
id: "poster"): Print‑ready layouts with typography emphasis. Keywords:poster,cover,typography,海报,封面.
Character and Narrative Art
- Character (
id: "character"): Single avatar or posed figure. Keywords:character,avatar,pose,角色,人物. - Characters (
id: "characters"): Group compositions or multiple figures. No keywords defined. - Illustration (
id: "illustration"): Painted and watercolor aesthetics. Keywords:illustration,painting,watercolor,插画,绘画. - Classical (
id: "classical"): Historical dynasty and heritage styles. Keywords:classical,dynasty,history,古风,历史.
Information and Document Design
- Charts (
id: "charts"): Data visualization and graph formats. No keywords defined. - Documents (
id: "documents"): Formal layout and paper aesthetics. No keywords defined. - Infographic (
id: "infographic"): Diagrammatic and explanatory visuals. Keywords:infographic,diagram,信息图,图解. - History (
id: "history"): Historical documentation style. No keywords defined.
Photography and Environment
- Photography (
id: "photography"): Lens‑based capture aesthetics. No keywords defined. - Scenes (
id: "scenes"): Environmental and background‑focused generation. No keywords defined.
Miscellaneous and Reserved
- Other (
id: "other"): Catch‑all category labeled "Other Use Cases". No keywords defined. - Reserved: The 20th array slot is intentionally null to allow seamless expansion of the visual styles defined in the style library without reordering existing indices.
How Visual Styles Drive Image Generation
The style library integrates with three core subsystems to enforce consistent artistic direction across the pipeline.
API Request Processing
When calling POST /api/generate-image, clients include a style field that maps directly to these IDs. The backend validates the identifier against data/style-library.json and injects the associated keywords array into the generation prompt to steer the diffusion model.
Template Binding
Templates in the system reference style arrays to declare compatible aesthetics. For example, a "UI Screenshot System" template declares "styles": ["ui"], allowing the engine to automatically append the Chinese title 界面 into localized prompt constructions when rendering for specific markets.
Frontend Population
The React component src/main.jsx loads the style list at runtime to populate the style picker dropdown in the user interface. This ensures the displayed options always remain synchronized with the canonical source definitions, preventing drift between the API contract and client‑side presentation.
Working with the Style Library in Code
Accessing style metadata programmatically requires parsing the central JSON file.
// Server-side lookup in Node.js
import styleLibrary from "./data/style-library.json";
function getStyleInfo(styleId) {
return styleLibrary.styles.find(s => s.id === styleId);
}
// Usage example
const uiStyle = getStyleInfo("ui");
console.log(uiStyle.title); // Outputs: "界面"
console.log(uiStyle.keywords); // ["ui", "interface", "dashboard", "界面", "截图"]
When constructing generation requests, reference the style id exactly as defined in the library:
// Client-side request construction
const requestBody = {
prompt: "A sleek dashboard for a fintech app",
style: "ui", // Must match the id field exactly
scene: "tech",
tags: ["Dashboard", "Screenshot"]
};
fetch("/api/generate-image", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(requestBody)
});
Templates declare their supported styles through ID string arrays:
{
"id": "ui-screenshot-system",
"styles": ["ui"],
"scenes": ["Tech", "Social"]
}
Key Files and Architecture
Understanding the style library ecosystem requires familiarity with these source files:
data/style-library.json: The canonical definition containing all 20 style slots (lines 1891‑2090)src/main.jsx: Frontend component that hydrates the style selector from the JSONapi/generate-image.js: API endpoint consuming thestyleparameter and resolving it against the libraryscripts/generate-style-skill.mjs: Deployment utility that packages style definitions into production skill bundles
Summary
- The awesome‑gpt‑image‑2 repository maintains 19 active visual styles in a reserved 20‑slot architecture
- Style definitions live in
data/style-library.jsonwith multilingual support and keyword arrays - Each style contains
id,value,title, and optionalkeywordsfields for prompt enhancement - The system uses these definitions for API validation, template binding, and UI population
- Reserved capacity prevents breaking changes when expanding the visual styles defined in the style library
Frequently Asked Questions
How many active visual styles are currently defined in the style library?
There are 19 active visual styles currently defined, with the 20th slot reserved for future expansion. This reserved capacity ensures that adding new aesthetics does not break existing template references or API integrations that rely on fixed array indices.
What is the exact file path for the style library configuration?
The canonical definitions reside in data/style-library.json at the repository root, specifically within the styles array spanning lines 1891‑2090. This single source of truth is imported by src/main.jsx for the frontend and api/generate-image.js for backend validation.
How do keywords enhance the visual styles?
Each style optionally includes a keywords array (e.g., realistic includes photo, camera, 写真) that the prompt engine automatically appends to generation requests. These terms act as semantic anchors that steer the AI toward the correct artistic interpretation without requiring users to manually write detailed aesthetic descriptors.
Can I reference multiple styles in a single template?
Yes. Templates can declare an array of style IDs in their styles field to indicate compatibility across multiple aesthetics. However, individual generation requests submitted to POST /api/generate-image typically accept a single style parameter per image, with the template system in src/main.jsx handling the mapping between template declarations and canonical library entries.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →