PluginBench
Skill
Review
Audit score 70

image-create

starchild-ai-agent/official-skills

How to install image-create

npx skills add https://github.com/starchild-ai-agent/official-skills --skill image-create
Claude Code
Cursor
Windsurf
Cline
Full instructions (SKILL.md)

Source of truth, from starchild-ai-agent/official-skills.


name: image-create version: 1.0.1 description: | Pure text-to-image generation for all creative scenarios (no reference photo). Covers logo design, poster design, illustration, meme, game assets, social media content, 3D rendering, education, fashion, food, pet, wedding, holiday marketing, and artistic styles.

Use when generating images from text descriptions without a reference photo (e.g. design a logo, create a poster, generate game art, make a meme, 3D render). metadata: starchild: emoji: "🎨" skillKey: image-create requires: env: [FAL_KEY] user-invocable: true disable-model-invocation: false


image-create

Use this skill for all pure text-to-image generation requests on Starchild.

Covers: logo design, poster design, illustration, meme creation, game assets, social media content, 3D rendering, educational illustrations, fashion design, food photography, pet illustrations, wedding design, holiday marketing, and artistic style creation.

Core principle: call the provided script. Do not re-implement proxy/billing plumbing.

When to use image-create vs image-portrait:

  • image-create → user wants to CREATE something from a text description (no face/identity needed)
  • image-portrait → user wants a portrait with their face/identity preserved from a reference photo

1. Quick start — basic generation (most common)

exec(open('skills/image-create/generate_image.py').read())
result = generate_image(
    prompt="a futuristic city skyline at sunset with flying cars",
)
# result -> {"success": True, "images": [{"local_path": "output/images/..."}], ...}

2. Quick start — with category preset

exec(open('skills/image-create/generate_image.py').read())
result = generate_image(
    prompt="StarChild AI platform",
    category="logo",
    style="tech",
)

3. Quick start — category only (no custom prompt)

exec(open('skills/image-create/generate_image.py').read())
result = generate_image(
    category="3d",
    style="diorama",
)
# Uses the built-in style template as the full prompt

Delivering the result to the user — IMPORTANT

Never hand the user the raw fal.media URL. fal serves files with restrictive CSP headers. The only reliable delivery path is the already-downloaded local file:

  1. Use each image's local_path (e.g. output/images/xxx.png) — the script always downloads on success.
  2. Tell the user the files are saved to output/images/ and viewable in the workspace file panel.
  3. On Web channel, embed inline so the user can preview in chat:
    ![image](output/images/<filename>.png)
    
  4. On Telegram / WeChat: send via send_to_telegram(file_path="output/images/...", message_type="image") or send_to_wechat(file_path="output/images/...", message_type="image").

4. Parameters

ParameterRequiredDefaultDescription
promptyes*Text description of the desired image
categoryyes*Preset category (see §5)
styleno"default"Sub-style within the category (see §5)
modelno"nanopro"Model: "nano2" (fastest ~15s), "nanopro" (balanced ~25s, default), or "gpt" (best quality ~150s)
countno1Number of images to generate (1–4)
aspect_rationoautoOutput ratio: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9. Auto-selected by category if not set.
image_pathnoOptional local file path for reference/inspiration image
image_urlnoOptional public URL for reference/inspiration image

*At least one of prompt or category must be provided.

Prompt priority: prompt + category/style (enhanced) > prompt only > category + style > category default.

Aspect ratio auto-selection: When not explicitly set, the script picks the best ratio for the category (e.g., 1:1 for logos, 3:4 for posters, 16:9 for banners).


5. Category and style presets

E: Design — Logo (category="logo")

⚠️ AI cannot reliably render text. Generate the icon/symbol only; add text/wordmark in a design tool (Figma, Canva, Illustrator).

StyleKeyBest for
Abstract geometricabstractTech, conceptual brands (Nike swoosh style)
Pictorial iconpictorialUniversal brands, works without text (Apple style)
Mascot charactermascotFriendly brands, food, sports (KFC style)
Tech companytechSaaS, AI, fintech startups
Food brandfoodRestaurant, bakery, organic
Fashion brandfashionLuxury, apparel, beauty
GaminggamingEsports, game studio
GeneraldefaultAny professional logo

Logo prompt anti-patterns (avoid):

  • "logo with text 'Company Name'" — text will be garbled
  • "photorealistic logo" — logos aren't photos
  • "3D rendered logo" — too complex, won't scale down
  • "flat vector logo of [subject], minimal geometric style, single color, white background"

E: Design — Poster (category="poster")

StyleKeyBest forRecommended ratio
Movie postermovieFilm promotion, cinematic3:4
Music festivalmusic_festivalConcerts, festivals3:4
Tech conferencetech_conferenceTech events, hackathons3:4
Travel destinationtravelTourism, wanderlust3:4
Product launchproduct_launchProduct announcements3:4
Minimalist artminimalistHome decor, gallery3:4
Sports eventsportsAthletic events3:4
GeneraldefaultAny poster3:4

E: Design — Illustration (category="illustration")

StyleKeyBest for
FantasyfantasyFantasy worlds, magic, dragons
Sci-fiscifiFuturistic scenes, space
Children's bookchildrenKids content, storybooks (ages 3-5)
EditorialeditorialMagazine, article headers
BotanicalbotanicalScientific plant illustrations
GeneraldefaultAny illustration

E: Design — Meme (category="meme")

StyleKeyBest for
Animal memeanimalCute/funny animal memes
ReactionreactionReaction templates
SurrealsurrealAbsurdist internet humor
GeneraldefaultAny meme

K: Game Assets (category="game_asset")

StyleKeyBest forCommon sizes
Character conceptcharacterRPG characters, heroes1024x1024
EnvironmentenvironmentGame worlds, levels1920x1080
Weapon/propweaponItems, weapons, artifacts1024x1024
UI iconui_iconGame UI, mobile icons32x32 to 128x128
Pixel spritepixel_spriteRetro game characters32x32 to 64x64
TilesettilesetSeamless environment tiles256x256 to 512x512
GeneraldefaultAny game asset1024x1024

M: Social Media (category="social_media")

StyleKeyBest forRecommended ratioResolution
Instagram postinstagramIG feed posts1:11080x1080
小红书xiaohongshuXiaohongshu posts3:41080x1440
TikTok covertiktok_coverTikTok thumbnails9:161080x1920
YouTube thumbnailyoutube_thumbnailYT thumbnails16:91280x720
BannerbannerTwitter/YouTube banners16:91920x1080
StorystoryIG/FB stories9:161080x1920
GeneraldefaultAny social content1:11024x1024

N: 3D (category="3d")

StyleKeyBest for
3D charactercharacterPixar-style characters
Product renderproductProduct visualization
DioramadioramaMiniature scenes, isometric
App iconiconiOS/Android app icons
3D texttextChrome/metallic text
3D scenesceneLow-poly environments
GeneraldefaultAny 3D render

P: Education (category="education")

StyleKeyBest for
TextbooktextbookTextbook illustrations
InfographicinfographicData visualization
SciencescienceScientific diagrams, anatomy
HistoryhistoryHistorical scene reconstruction
DiagramdiagramTechnical process diagrams
GeneraldefaultAny educational content

Q: Fashion (category="fashion")

StyleKeyBest for
Clothing designclothingGarment sketches, fashion plates
AccessoryaccessoryJewelry, bags, shoes
Nail artnail_artNail designs
Textile patterntextileFabric patterns, surface design
GeneraldefaultAny fashion design

R: Food (category="food")

StyleKeyBest for
Dish photodishFood photography, editorial
Menu designmenuRestaurant menus
PackagingpackagingFood packaging design
Recipe cardrecipe_cardRecipe illustrations
GeneraldefaultAny food content

S: Pet (category="pet")

StyleKeyBest for
Humanized pethumanizedPets in human clothes
RenaissancerenaissanceRoyal/regal pet portraits
CartooncartoonDisney/Pixar style pets
MerchandisemerchandisePet-themed product patterns
MemorialmemorialPet tribute artwork
GeneraldefaultCute pet illustrations

I: Product Photography (category="product")

Derived from product-photography skill best practices.

StyleKeyBest for
Hero shotheroPrimary product image, magazine ads
PackshotpackshotE-commerce listings, Amazon (pure white bg)
LifestylelifestyleProduct in context, editorial
Flat layflat_layInstagram, top-down arrangement
GeneraldefaultAny product photo

Product photography tips:

  • Hero shot: product fills 80% of frame, slight 15-30° angle for dimension
  • Packshot (Amazon): pure white background, product fills 85%+, no props/text/watermarks
  • Always specify lighting: "soft studio lighting", "dramatic rim lighting"
  • For e-commerce: "sharp focus", "no shadows" or "subtle shadow only"

Y: Wedding (category="wedding")

StyleKeyBest forFormat
Classic invitationinvitationFloral elegant invitations5x7 inches
Modern invitationinvitation_modernMinimalist invitations5x7 inches
Rustic invitationinvitation_rusticBohemian invitations5x7 inches
Venue previewvenueVenue decoration preview
Save the datesave_the_datePre-announcement cards4x6 inches
GeneraldefaultAny wedding design

Z: Holiday Marketing (category="holiday")

StyleKeyBest for
Christmas cardchristmas_cardChristmas greetings
Chinese New Yearchinese_new_year春节 designs
New Yearnew_yearNew Year celebrations
Valentine'svalentinesValentine's Day
HalloweenhalloweenHalloween designs
PromotionalpromotionalSale banners, promos
Mid-Autumnmid_autumn中秋节 designs
GeneraldefaultAny holiday content

Major holiday calendar for campaign planning:

HolidayTimingBest for
Chinese New YearJan-FebGifts, family, food
Valentine's DayFeb 14Romance, gifts
Women's DayMar 8Empowerment, gifts
520 (5/20)May 20Romance (Chinese Valentine's)
618 ShoppingJuneE-commerce sales
Qixi (七夕)Jul-AugRomance
Mid-AutumnSeptFamily, mooncakes
National DayOct 1Travel, shopping
11.11 Singles' DayNov 11Major sales
12.12 Double 12Dec 12Year-end sales
ChristmasDec 25Gifts, winter

C: Art Style (category="art_style")

StyleKeyBest for
Studio GhiblighibliGhibli-style scenes
American comicamerican_comicMarvel/DC style
Japanese mangamangaManga illustrations
Pixel artpixel_artRetro game style
Pencil sketchpencil_sketchHand-drawn look
3D cartoon3d_cartoonPixar/Disney style
SteampunksteampunkVictorian sci-fi
Fantasy magicfantasy_magicMagical scenes
Wuxia/XianxiawuxiaChinese martial arts
Sci-fi spacescifi_spaceSpace scenes
Pop artpop_artWarhol style
Ukiyo-eukiyo_eJapanese woodblock
ImpressionistimpressionistMonet/Renoir style
Art Nouveauart_nouveauMucha style
GeneraldefaultAny artistic style

6. Model selection guide

ModelKeySpeedQualityBest for
NanoPronanopro~25sGoodDefault for all requests. Fast iteration.
GPT Image 2gpt~150sBestWhen user explicitly asks for "highest quality" or "best quality". Text-heavy designs.

Decision rules:

  1. Default: always use nanopro unless the user explicitly requests higher quality.
  2. Use gpt when: user says "highest quality", "best quality", "premium", or the design requires precise text rendering (logos with specific text, posters with typography).
  3. Use nanopro when: user wants fast results, is iterating on designs, or generating multiple variants.
# Default (fast)
result = generate_image(prompt="cute cat logo", category="logo")

# High quality (user requested)
result = generate_image(prompt="cute cat logo", category="logo", model="gpt")

7. Aspect ratio guide

CategoryDefault ratioNotes
Logo1:1Square, scalable
Poster3:4Portrait orientation
Illustration4:3Landscape, wide scene
Meme1:1Square, shareable
Game asset1:1Square, consistent
Social media1:1Varies by platform
3D1:1Square render
Education4:3Landscape, readable
Fashion3:4Portrait, full garment
Food4:3Landscape, appetizing
Pet1:1Square, cute
Product1:1Square, e-commerce
Wedding3:4Portrait, elegant
Holiday4:3Landscape, festive
Art style4:3Landscape, scenic

Platform-specific overrides (auto-applied):

  • TikTok cover → 9:16 (1080x1920)
  • Instagram story → 9:16 (1080x1920)
  • YouTube thumbnail → 16:9 (1280x720)
  • Social media banner → 16:9 (1920x1080)
  • 小红书 → 3:4 (1080x1440)

The script auto-selects the best ratio when aspect_ratio is not explicitly set.


8. Prompt engineering best practices

The 5-element prompt structure

Every effective image prompt should include:

[subject/content], [style/aesthetic], [composition/layout], [lighting/atmosphere], [quality modifiers]

Key principles

  1. Be specific about the subject:

    • ❌ "a logo"
    • ✅ "a minimalist cat silhouette logo for a pet grooming business, clean vector style"
  2. Specify the visual style:

    • "flat design", "3D render", "watercolor painting", "photorealistic"
    • "minimalist", "detailed", "abstract", "geometric"
  3. Include composition guidance:

    • "centered composition", "rule of thirds", "symmetrical layout"
    • "close-up", "wide shot", "isometric view", "bird's eye view"
  4. Lighting matters:

    • Studio: "soft diffused studio lighting", "Rembrandt chiaroscuro"
    • Natural: "golden hour warm light", "dappled sunlight through trees"
    • Dramatic: "dramatic rim lighting", "volumetric light beams", "neon glow"
    • Flat: "even flat lighting with no shadows" (for icons/diagrams)
  5. Quality anchors:

    • "professional quality", "print-ready", "4K resolution"
    • "octane render", "Unreal Engine quality", "magazine quality"
  6. For text in images (use gpt model):

    • Explicitly state the text: text reading "SALE 50% OFF"
    • Specify font style: "bold sans-serif typography", "elegant script font"
    • GPT model handles text rendering much better than nanopro

Logo-specific prompt tips (from logo-design-guide)

Keywords that work:

flat vector logo, simple minimal icon, single color silhouette,
geometric logo mark, clean lines, negative space design,
line art logo, flat design icon, minimalist symbol

Keywords that fail:

❌ photorealistic logo (contradiction — logos aren't photos)
❌ 3D rendered logo (too complex, won't scale down)
❌ gradient logo (inconsistent results, hard to reproduce)
❌ logo with text "Company Name" (text rendering fails)

Prompt structure for logos:

flat vector logo of [subject], [style], [color constraint], [background], [additional detail]

Children's illustration tips (from book-illustrator)

  • Ages 0-2: Simple, bold, high-contrast, clear shapes
  • Ages 3-5: Colorful, expressive, engaging characters with movement
  • Ages 6-8: More detailed scenes with visual storytelling
  • Ages 9-12: Sophisticated illustrations supporting text
  • The 3-Color Rule: Limit each character to 3-4 primary colors for visual clarity

Game asset tips (from game-asset-generation)

  • Always specify pixel dimensions for sprites: "32x32", "64x64", "128x128"
  • For seamless textures: "must tile perfectly with no visible seams when repeated"
  • For sprite sheets: specify grid layout "4x2 grid (256x64 total)"
  • For icons: "clear silhouette readable at 32x32 pixels"

Example: building a custom prompt

User: "Design a logo for my coffee shop called Bean Dream"

result = generate_image(
    prompt=(
        "flat vector logo of a coffee bean morphing into a crescent moon, "
        "minimalist design, warm brown and cream color palette, "
        "clean lines, white background, "
        "professional branding quality, works at any size"
    ),
    category="logo",
    model="gpt",  # GPT for better detail
)

Example: game character concept

User: "Create a warrior character for my RPG game"

result = generate_image(
    prompt=(
        "female warrior character, ornate golden armor with dragon motifs, "
        "flowing red cape, wielding a glowing enchanted sword, "
        "determined fierce expression, battle-ready stance, "
        "front view T-pose, clean white background"
    ),
    category="game_asset",
    style="character",
)

Example: social media content

User: "Make a TikTok cover about cooking tips"

result = generate_image(
    prompt=(
        "cooking tips video thumbnail, colorful kitchen scene, "
        "fresh ingredients flying in the air, chef's hands visible, "
        "fun energetic vibe, bold visual impact"
    ),
    category="social_media",
    style="tiktok_cover",
    # aspect_ratio auto-set to 9:16
)

9. Intent recognition guide

Use this table to map user requests to the correct category/style/parameters:

User saysCategoryStyleNotes
"design a logo", "make a logo"logoauto-detectAsk about industry for style
"create a poster", "event poster"posterauto-detect
"draw an illustration", "illustrate"illustrationauto-detect
"make a meme", "funny image"memeauto-detect
"game character", "RPG asset"game_assetcharacter
"game environment", "level design"game_assetenvironment
"weapon design", "sword/shield"game_assetweapon
"game icon", "UI icon"game_assetui_icon
"pixel art sprite"game_assetpixel_sprite
"tileable texture", "seamless tile"game_assettileset
"Instagram post", "IG content"social_mediainstagram
"小红书", "xiaohongshu"social_mediaxiaohongshu
"TikTok cover", "抖音封面"social_mediatiktok_cover9:16
"YouTube thumbnail"social_mediayoutube_thumbnail16:9
"banner", "cover image"social_mediabanner16:9
"story template"social_mediastory9:16
"3D character", "Pixar style"3dcharacter
"product render", "3D product"3dproduct
"diorama", "miniature scene"3ddiorama
"app icon", "3D icon"3dicon
"3D text", "chrome text"3dtext
"textbook illustration"educationtextbook
"infographic", "data viz"educationinfographic
"scientific diagram"educationscience
"historical scene"educationhistory
"fashion sketch", "clothing design"fashionclothing
"accessory design", "jewelry"fashionaccessory
"nail art", "nail design"fashionnail_art
"textile pattern", "fabric design"fashiontextile
"food photo", "dish"fooddish
"menu design"foodmenu
"food packaging"foodpackaging
"recipe card"foodrecipe_card
"product photo", "product shot"producthero
"Amazon listing", "e-commerce photo"productpackshotWhite bg
"lifestyle product", "product in context"productlifestyle
"flat lay", "top-down product"productflat_lay
"pet in clothes", "humanized pet"pethumanized
"royal pet", "renaissance pet"petrenaissance
"cartoon pet", "Disney pet"petcartoon
"pet merchandise", "pet pattern"petmerchandise
"pet memorial", "rainbow bridge"petmemorial
"wedding invitation", "请柬"weddinginvitation
"modern invitation"weddinginvitation_modern
"rustic invitation"weddinginvitation_rustic
"wedding venue", "婚礼布置"weddingvenue
"save the date"weddingsave_the_date
"Christmas card", "圣诞贺卡"holidaychristmas_card
"春节", "Chinese New Year"holidaychinese_new_year
"New Year design", "新年"holidaynew_year
"Valentine's card", "情人节"holidayvalentines
"Halloween", "万圣节"holidayhalloween
"sale banner", "promotional"holidaypromotional
"中秋节", "Mid-Autumn"holidaymid_autumn
"Ghibli style", "吉卜力"art_styleghibli
"comic style", "漫画风"art_styleamerican_comic or manga
"pixel art", "像素风"art_stylepixel_art
"pencil sketch", "素描"art_stylepencil_sketch
"steampunk", "蒸汽朋克"art_stylesteampunk
"fantasy", "魔法"art_stylefantasy_magic
"wuxia", "武侠", "仙侠"art_stylewuxia
"space", "太空", "sci-fi"art_stylescifi_space
"pop art", "波普"art_stylepop_art
"ukiyo-e", "浮世绘"art_styleukiyo_e
"impressionist", "印象派"art_styleimpressionist
"Art Nouveau", "新艺术"art_styleart_nouveau
"highest quality", "best quality"anyany + model="gpt"
Custom description not in presetsUse prompt= directly

10. Using with a reference image (optional)

While this skill is primarily text-to-image, you can provide a reference image for design inspiration:

# Reference image for design guidance
result = generate_image(
    prompt="redesign this logo in a modern minimalist style",
    category="logo",
    image_path="uploads/old_logo.png",
)

# Reference URL
result = generate_image(
    prompt="create a similar style illustration but with a forest theme",
    image_url="https://example.com/reference.jpg",
)

When a reference image is provided, the script uses the /edit endpoint instead of the generate endpoint.


11. Multiple images

# Generate 4 logo variants
result = generate_image(
    prompt="minimalist mountain logo for outdoor brand",
    category="logo",
    count=4,
)
# result["images"] -> list of 4 image dicts

12. Anti-patterns (avoid these)

AvoidWhyInstead
"logo with text 'My Brand'"AI garbles textGenerate icon only, add text in Figma/Canva
"photorealistic logo"Logos aren't photosUse "flat vector logo"
"3D rendered logo"Won't scale to faviconUse "flat minimal icon"
Vague prompts like "nice image"Poor resultsBe specific: subject, style, colors, lighting
Too many concepts in one promptConfused outputFocus on one clear concept
Requesting exact pixel dimensionsNot supportedUse aspect_ratio parameter
Using nanopro for text-heavy designsText rendering poorUse model="gpt" for text

13. Provided scripts

FilePurpose
generate_image.pyCore script: prompt building → submit → poll → download. Handles all categories, styles, two models.
exports.pyRe-exports generate_image, CATEGORY_STYLES, MODELS for programmatic use.
_cost_track.pyCost tracking helper — records per-call costs via sc-proxy headers. Self-contained, no external dependencies.

14. Local testing

Set FAL_KEY env var to call fal.ai directly (bypasses sc-proxy):

# Basic generation
FAL_KEY=your-fal-key python3 skills/image-create/generate_image.py "a cute robot" illustration fantasy 1 nanopro

# Args: <prompt> [category] [style] [count] [model]

15. Troubleshooting

ProblemFix
Either 'prompt' or 'category' must be providedProvide at least a prompt or category
File not found: ...Check the workspace path for reference image
Unsupported image formatUse .jpg, .jpeg, .png, .webp, or .bmp
Image too largeResize reference image to under 10 MB
HTTP 402 insufficient_creditsTop up balance; cost is pre-charged on submit
HTTP 403 endpoint_not_allowedsc-proxy only allows approved fal endpoints; contact admin
Generation FAILED upstreamSimplify prompt, retry
Job stuck IN_PROGRESS >10 minSave request_id, retry later
Text not rendering wellSwitch to model="gpt" — GPT handles text much better
gpt model too slowSwitch to nanopro (default) for faster results
Logo too complex to scaleUse "flat vector", "minimal", "single color" in prompt
Seamless texture has visible seamsAdd "must tile perfectly with no visible seams" to prompt

16. Infrastructure (reference)

  • Caller → sc-proxyqueue.fal.run/{model} → fal model providers
  • All requests must include Authorization: Key fake-falai-key-12345 (proxy injects the real FAL_KEY)
  • Pre-charge happens at submit. Poll/result calls are free.
  • Final images live at https://*.fal.media/... — public CDN, no auth needed for download.
  • Cost tracking via _cost_track.py — records X-Credits-Used from sc-proxy response headers.
  • Each skill contains its own _cost_track.py copy (skills are independently deployed).

Model endpoints

ModelGenerate (text only)Edit (with ref image)
nanoprofal-ai/nano-banana-profal-ai/nano-banana-pro/edit
gptopenai/gpt-image-2openai/gpt-image-2/edit