slice icon Context Slice

Emoji Style System

Custom emojis are generated through three orthogonal style dimensions: platform aesthetic, art style, and color palette. Each dimension is independent—combine them freely, though some combinations work better than others.

Style Dimensions

Platform Style

Platform style defines the "character" of the emoji—its shapes, proportions, and personality. These are inspired by major emoji implementations but are not exact copies.

Value Prompt Language
apple "Apple-style emoji aesthetic: rounded forms, subtle 3D depth with soft gradients, friendly expression, warm shadows, polished and premium feel, iOS emoji inspiration"
google "Google Noto-style emoji: flat design, blob-like organic shapes, playful and approachable, bold colors, circular face proportions, Android emoji inspiration"
microsoft "Microsoft Fluent-style emoji: flat geometric design, clean edges, modern minimalist aesthetic, 3D elements with soft lighting, Windows emoji inspiration"
twitter "Twitter/X Twemoji-style: flat vector design, circular faces, clean outlines, simple geometric shapes, consistent stroke weights, open-source emoji aesthetic"
samsung "Samsung-style emoji: glossy 3D rendering, high contrast, exaggerated expressions, shiny reflective surfaces, vibrant saturated colors"
whatsapp "WhatsApp-style emoji: 3D rendered, soft gradients, friendly rounded shapes, warm yellow tones for faces, approachable expressions"

Art Style

Art style defines the rendering technique, independent of platform character.

Value Prompt Language
3d_glossy "3D rendered with glossy finish, specular highlights, lit from above-left, subtle shadows, dimensional depth, shiny reflective surfaces"
3d_matte "3D rendered with matte finish, soft diffuse lighting, no harsh reflections, subtle ambient occlusion, clay-like surface quality"
flat "Flat 2D design, no gradients, solid color fills, clean vector edges, no shadows or depth, modern minimalist rendering"
soft_gradient "Soft gradient shading, subtle color transitions, gentle shadows, smooth blended edges, polished but not glossy"
pixel "Pixel art style, grid-aligned forms, limited color palette, retro 16-bit aesthetic, visible individual pixels, no anti-aliasing"
sketch "Hand-drawn sketch style, visible brush strokes, imperfect organic lines, charming wobble, illustration feel, slightly rough edges"
watercolor "Watercolor painting style, soft color bleeds, organic texture, artistic imperfection, translucent layered colors"

Color Palette

Color palette controls the overall color treatment.

Value Prompt Language
standard "Standard vibrant emoji colors: bright saturated yellow for faces (#FFCC00), vivid reds (#FF3B30), classic emoji color conventions"
pastel "Pastel color palette: soft muted tones, reduced saturation, Instagram-aesthetic colors, gentle and calming, light values"
vivid "Extra vivid colors: maximum saturation, punchy contrast, eye-catching brightness, bold color choices"
monochrome "Monochrome palette: single hue with value variations, grayscale option, limited color expression, elegant simplicity"
neon "Neon color palette: electric bright colors, high contrast, glowing appearance, cyberpunk aesthetic, bold against dark"
earth "Earth tone palette: natural colors, browns, greens, warm oranges, organic and grounded feel, muted naturals"
custom User specifies exact colors to use—incorporate their color values into the prompt

Prompt Construction

Base Template

Every emoji prompt follows this structure:

[Platform description] emoji of [subject with expression/pose]. [Art style rendering].
[Color palette]. Single emoji character, centered composition on transparent background,
designed for messaging apps, high detail, clean edges.

Subject Guidelines

The subject should be specific about:

  • What it is (object, face, animal, symbol)
  • Expression for faces (happy, sad, thinking, surprised, winking)
  • Pose/action if relevant (waving, dancing, sleeping)
  • Key details that define it (chef hat on cat, sunglasses on sun)

Good subjects: "smiling cat wearing a tiny chef hat", "thinking face with raised eyebrow", "sparkly pink heart with stars around it"
Vague subjects: "cat", "face", "heart" (ask for clarification)

Combining Dimensions

Most combinations work well. Flag these potentially contradictory pairs:

Combination Issue Resolution
pixel + 3d_glossy Pixel art is inherently flat Suggest pixel + flat or drop pixel for 3D
sketch + samsung Samsung style is highly polished Use sketch art style but reduce Samsung glossiness
flat + 3d_glossy Direct contradiction Ask user which they prefer
watercolor + any platform Platform styles assume digital rendering Watercolor overrides platform, note artistic interpretation

When user requests contradictory styles, explain the conflict and suggest the closest viable alternative.

Complete Prompt Examples

Apple + 3D Glossy + Standard:

"Apple-style emoji aesthetic: rounded forms, subtle 3D depth with soft gradients, friendly expression, warm shadows, polished and premium feel. Emoji of a smiling cat wearing a tiny chef hat. 3D rendered with glossy finish, specular highlights, lit from above-left, subtle shadows, dimensional depth. Standard vibrant emoji colors. Single emoji character, centered composition on transparent background, designed for messaging apps, high detail, clean edges."

Google + Flat + Pastel:

"Google Noto-style emoji: flat design, blob-like organic shapes, playful and approachable, bold colors, circular face proportions. Emoji of a sleeping moon face with closed eyes and peaceful expression. Flat 2D design, no gradients, solid color fills, clean vector edges. Pastel color palette: soft muted tones, reduced saturation, gentle colors. Single emoji character, centered composition on transparent background, designed for messaging apps, high detail, clean edges."

Twitter + Pixel + Neon:

"Twitter/X Twemoji-style: flat vector design, circular faces, clean outlines. Emoji of a lightning bolt with electric sparks. Pixel art style, grid-aligned forms, limited color palette, retro 16-bit aesthetic, visible pixels. Neon color palette: electric bright colors, high contrast, glowing appearance. Single emoji character, centered composition on transparent background, designed for messaging apps."

Default Style

When no style is configured and user doesn't specify preferences, use these sensible defaults:

  • Platform: apple (most widely recognized)
  • Art style: soft_gradient (versatile, professional)
  • Palette: standard (familiar emoji colors)

Style Guide Storage

User preferences are stored in stateDomain Preferences with domain emoji_generation:

emoji_generation:
  platform: apple
  art_style: soft_gradient
  palette: standard
  custom_colors: null  # or ["#FF5733", "#3366FF"] if palette is custom

Tasks read this state, merge with any per-request overrides, then construct the prompt.