gif-sticker-maker

Cute cartoon sticker generator that converts photos (people, pets, objects, logos) into 4 animated GIF stickers with captions. Supports custom or default captions in user's language. Triggers on: sticker, GIF sticker, cartoon sticker, bobblehead sticker, convert photo to sticker.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "gif-sticker-maker" with this command: npx skills add ericn26-star/eric-gif-sticker-maker

GIF Sticker Maker

Overview

Convert user-uploaded photos (people, pets, objects, Icon/Logo) into a set of 4 high-quality animated GIF stickers with classic actions and captions. The pipeline generates static cartoon images, animates them into short videos, and converts to GIF format for delivery.

Interaction Rules

  • Language: Detect user's conversation language. All outputs and captions follow user's language. No bilingual display.
  • Tone: Keep content concise. Restrained politeness. Forbidden phrases: "Hello", "Okay", "Let me help you".
  • File output: Generated files must use the following format to display in conversation:
    <deliver_assets>
    <item>
    <path>file path</path>
    </item>
    </deliver_assets>
    
    One <item> block per file, multiple files in the same <deliver_assets>.
  • CRITICAL: <deliver_assets> must be the LAST thing in your response. NO text after deliver_assets — no summary, no "ready to use", no closing remarks.

Workflow

Step 0: Collect User Preferences

Goal: Determine caption language and customization preference.

Ask user (in their language):

  • "Would you like to customize the captions for your stickers, or use the defaults?"

If user wants custom captions:

  • Collect 4 short captions from user
  • Captions should be short (1-3 words work best)
  • Use captions in whatever language user provides
  • Actions will be auto-generated to match caption meaning (e.g., "Sleepy" → yawning action)

If user wants defaults:

  • Use default captions in user's conversation language (see Default Captions table below)

Step 1: Static Image Generation with Captions (edit_images)

Goal: Generate 4 static cartoon images with different actions and captions.

  1. Use images_understand to deeply analyze the main subject (categories: person, animal, object, Icon/Logo).
  2. Use edit_images for batch processing of 4 images.

Key Points:

  • Subject Consistency (CRITICAL): Must generate based on analysis results. If it's an Icon/Logo, transform it into a 3D toy/figurine while preserving original shape and color scheme.
  • Style: Funko Pop / Pop Mart blind box style, chibi character, big head, 3D rendering (C4D/Octane), premium quality finish.
  • Background: Clean white background, minimalist.
  • Text: Black text with thick white outline, bold cute font, floating in front of the character. No spelling errors, no blur, sharp details.
  • Prompts must be in English for best AI results. Replace {CAPTION} placeholders with the appropriate caption in user's language.

Default Captions Generation (edit_images)

edit_images(
    image_edit_items=[
        {
            "prompt": "3D cute cartoon style, Funko Pop / Pop Mart blind box style, chibi character, big head, waving happily, greeting warmly. Clean white background, minimalist, high quality 3D render, C4D, octane render. Text rendering: Clear, legible text '{CAPTION_WAVING}' written at the bottom. Text style: Black text with thick white outline, bold cute font, floating in front of the character. No spelling errors, no blur, sharp details.",
            "base_image_file": "<user uploaded image>",
            "output_file": "imgs/sticker_01_hi.png"
        },
        {
            "prompt": "3D cute cartoon style, Funko Pop / Pop Mart blind box style, chibi character, big head, laughing out loud, holding belly. Clean white background, minimalist, high quality 3D render, C4D, octane render. Text rendering: Clear, legible text '{CAPTION_LAUGHING}' written at the bottom. Text style: Black text with thick white outline, bold cute font, floating in front of the character. No spelling errors, no blur, sharp details.",
            "base_image_file": "<user uploaded image>",
            "output_file": "imgs/sticker_02_laugh.png"
        },
        {
            "prompt": "3D cute cartoon style, Funko Pop / Pop Mart blind box style, chibi character, big head, crying, tears flowing. Clean white background, minimalist, high quality 3D render, C4D, octane render. Text rendering: Clear, legible text '{CAPTION_CRYING}' written at the bottom. Text style: Black text with thick white outline, bold cute font, floating in front of the character. No spelling errors, no blur, sharp details.",
            "base_image_file": "<user uploaded image>",
            "output_file": "imgs/sticker_03_cry.png"
        },
        {
            "prompt": "3D cute cartoon style, Funko Pop / Pop Mart blind box style, chibi character, big head, making heart shape with hands, love hearts around. Clean white background, minimalist, high quality 3D render, C4D, octane render. Text rendering: Clear, legible text '{CAPTION_HEART}' written at the bottom. Text style: Black text with thick white outline, bold cute font, floating in front of the character. No spelling errors, no blur, sharp details.",
            "base_image_file": "<user uploaded image>",
            "output_file": "imgs/sticker_04_love.png"
        }
    ]
)

Custom Captions Generation

When user provides custom captions, infer appropriate actions from caption meaning and adjust the prompt accordingly.

Action Inference Examples:

Custom CaptionInferred Action
"Good job!"giving thumbs up, cheering
"Sleepy..."yawning, rubbing eyes, drowsy
"Fighting!"pumping fist, determined pose
"Oops"covering mouth, embarrassed
"Hungry~"drooling, looking at food
"Bye bye"waving goodbye
"Angry!"pouting, arms crossed
"Shocked"jaw dropped, eyes wide

Output: 4 PNG images (imgs/sticker_01_hi.png, imgs/sticker_02_laugh.png, imgs/sticker_03_cry.png, imgs/sticker_04_love.png).

Step 2: Animated Video Generation (batch_image_to_video)

Goal: Animate the 4 static images into 1-second videos.

  • MUST use batch_image_to_video for concurrent generation. Serial calls are forbidden.
  • Duration: Fixed at 1 second per video for speed.
  • Resolution: 768P.
  • CRITICAL: Prompts must be in English. Always include "keep text clear and stable" to prevent text distortion during animation.

Default Animation Prompts

batch_image_to_video(
    count=4,
    image_file_list=[
        "imgs/sticker_01_hi.png",
        "imgs/sticker_02_laugh.png",
        "imgs/sticker_03_cry.png",
        "imgs/sticker_04_love.png"
    ],
    output_file_list=[
        "videos/sticker_01_hi.mp4",
        "videos/sticker_02_laugh.mp4",
        "videos/sticker_03_cry.mp4",
        "videos/sticker_04_love.mp4"
    ],
    prompt_list=[
        "Cute cartoon character happily waving hand, enthusiastic greeting, exaggerated adorable motion, keep text clear and stable, High Quality, 1s loop",
        "Cute cartoon character laughing out loud, holding belly, shaking with laughter, keep text clear and stable, High Quality, 1s loop",
        "Cute cartoon character crying with tears flowing, wiping eyes, keep text clear and stable, High Quality, 1s loop",
        "Cute cartoon character making heart shape with hands, shooting love hearts, keep text clear and stable, High Quality, 1s loop"
    ],
    duration_list=[1, 1, 1, 1],
    resolution_list=["768P"] * 4
)

Custom Animation Prompts

For custom captions, generate prompts dynamically based on caption meaning:

# Generate prompts dynamically based on caption content
custom_prompts = []
for caption in user_captions:
    action = infer_action_from_caption(caption)  # AI infers appropriate action
    prompt = f"Cute cartoon character {action}, expressive adorable motion, keep text clear and stable, High Quality, 1s loop"
    custom_prompts.append(prompt)

batch_image_to_video(
    count=4,
    image_file_list=[...],
    output_file_list=[...],
    prompt_list=custom_prompts,
    duration_list=[1, 1, 1, 1],
    resolution_list=["768P"] * 4
)

Prompt Template for Custom Captions:

Cute cartoon character [ACTION_MATCHING_CAPTION], expressive adorable motion, keep text clear and stable, High Quality, 1s loop

Examples:

Custom CaptionGenerated Action Prompt
"Good job!""Cute cartoon character giving thumbs up, cheering happily, expressive adorable motion, keep text clear and stable, High Quality, 1s loop"
"Sleepy...""Cute cartoon character yawning and rubbing eyes, drowsy expression, expressive adorable motion, keep text clear and stable, High Quality, 1s loop"
"Fighting!""Cute cartoon character pumping fist in the air, determined expression, expressive adorable motion, keep text clear and stable, High Quality, 1s loop"
"Oops""Cute cartoon character covering mouth in surprise, embarrassed expression, expressive adorable motion, keep text clear and stable, High Quality, 1s loop"

Output: 4 one-second MP4 video files (videos/sticker_01_hi.mp4, etc.).

Step 3: Format Conversion & Delivery (bash)

Goal: Convert videos to GIF animations and deliver to user.

1. Batch Format Conversion

Call the dedicated Python conversion script:

python3 cookbook/script/convert_mp4_to_gif.py -i videos -o gifs --fps 10 --width 240

2. Deliver GIF Files

Output format (strictly in this order, nothing after):

  1. Brief status line (e.g., "4 stickers created:")
  2. <deliver_assets> block with all GIF files — this MUST be the last thing in the response
<deliver_assets>
<item>
<path>gifs/sticker_01_hi.gif</path>
</item>
<item>
<path>gifs/sticker_02_laugh.gif</path>
</item>
<item>
<path>gifs/sticker_03_cry.gif</path>
</item>
<item>
<path>gifs/sticker_04_love.gif</path>
</item>
</deliver_assets>

NO summary table, NO closing text after deliver_assets.

Default Sticker Configuration

#ActionFilename ID
1Happy wavinghi
2Laughing hardlaugh
3Crying tearscry
4Heart gesturelove

Default Captions by Language

ActionEnglishSpanishFrenchGermanChineseJapaneseKorean
WavingHi~¡Hola!Salut~Hallo~嗨~やあ~안녕~
LaughingLOLJajajaMDRHaha哈哈哈ㅋㅋㅋ
CryingBoo-hooBuaaaSnifHeul呜呜呜えーん흑흑
HeartLove yaTe quieroJe t'aimeLiebe爱你哦大好き사랑해

Select captions based on user's conversation language. Users can also provide custom captions in any language.

Tool Reference

ToolStepUsageRequired
images_understandStep 1Analyze uploaded photo subjectYes
edit_imagesStep 1Generate 4 static cartoon images with captionsYes
batch_image_to_videoStep 2Concurrently animate 4 images into 1s videosYes
bashStep 3Run convert_mp4_to_gif.py for GIF conversionYes

File & Output Conventions

  • Static images: imgs/sticker_01_hi.png, imgs/sticker_02_laugh.png, imgs/sticker_03_cry.png, imgs/sticker_04_love.png
  • Videos: videos/sticker_01_hi.mp4, videos/sticker_02_laugh.mp4, videos/sticker_03_cry.mp4, videos/sticker_04_love.mp4
  • GIFs: gifs/sticker_01_hi.gif, gifs/sticker_02_laugh.gif, gifs/sticker_03_cry.gif, gifs/sticker_04_love.gif
  • GIF settings: 10 fps, 240px width
  • Video settings: 1 second duration, 768P resolution

Common Mistakes to Avoid

  1. Never generate captions in the wrong language — Always detect user's conversation language and use matching captions.
  2. Never use serial video generation — Must use batch_image_to_video for concurrent execution.
  3. Never omit "keep text clear and stable" from animation prompts — this prevents text distortion.
  4. Never add text after <deliver_assets> — it must be the absolute last element in the response.
  5. Never skip the user preference step — Always ask if user wants custom or default captions before generating.
  6. Never use non-English prompts for image/video generation — Prompts must be in English for best AI results, only the caption text itself is in user's language.
  7. Never forget subject consistency — Icon/Logo subjects must preserve original shape and color scheme when transformed into 3D toy/figurine style.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Openclaw Video Editor

Pro-Studio v4.0.0. AI-powered background removal, smart subtitle placement, and cinematic LUT presets. The ultimate production suite for high-end video content.

Registry SourceRecently Updated
General

IOC 智能巡检报告

为 IOC(智能运营中心)生成智能巡检报告。自动分析设备状态、报警记录、能耗数据,生成专业的巡检日报/周报。支持连接 PostgreSQL 数据库读取实时数据,输出 Markdown/HTML 报告。适用于物业管理、商业综合体、工业园区等场景。

Registry SourceRecently Updated
General

Expert Library Plus Skill

Install and manage Expert Library Plus - the world's first AI expert library with name-based quality anchors. Enhances 43+ professional experts with historic...

Registry SourceRecently Updated
General

Api Gateway 1.0.46

Connect to 100+ APIs (Google Workspace, Microsoft 365, Notion, Slack, Airtable, HubSpot, etc.) with managed OAuth. Use this skill when users want to interact...

Registry SourceRecently Updated