giggle-product-poster
Product Poster Generator (English)
Guided workflow for creating AI-generated product posters via giggle.pro image-to-image API. Always uses image-to-image mode — the user's product photo is required as the reference image.
Workflow
Stage 1: Collect Requirements
Ask the user for these items (combine into one message):
- Product image ⚠️ Required: local file path to the product photo (e.g.
/Users/xxx/product.jpg) - Product info: product name + one-sentence key selling point
- Poster type: E-commerce launch / Brand event / Social media promotion
- Visual style: Clean minimal / Bold & vibrant / Luxury premium / Tech futuristic / Playful youthful
- Aspect ratio: E-commerce portrait 3:4 / Square 1:1 / Mobile portrait 9:16 / Wide landscape 16:9
Optional:
- Brand color (hex or description, e.g. "brand blue #1E3A8A")
If the user hasn't provided a product image path, do not proceed to generation — ask for it first.
If the user has already provided enough context, skip questions and proceed directly to Stage 2.
Stage 2: Compose Prompt & Generate
Step 1: Build the prompt using this BASE structure:
[POSTER TYPE] for [PRODUCT NAME]. [KEY SELLING POINT].
Style: [AESTHETIC], [COLOR PALETTE], [MOOD].
Visual: Keep the product as the hero element, [COMPOSITION — e.g. centered / rule-of-thirds], enhance with [BACKGROUND/SCENE — e.g. clean gradient / lifestyle scene / abstract elements].
Text layout: Main title "[PRODUCT NAME]", tagline "[SLOGAN]", clean typography with strong hierarchy.
Technical: Professional commercial photography quality, high contrast, sharp details, no watermark.
Read references/prompt-templates.md for type-specific templates, style keywords, and color palette references.
Step 2: Choose model and aspect ratio
| Poster Type | Recommended Model | Default Ratio |
|---|---|---|
| E-commerce launch | nano-banana-2 | 3:4 |
| Brand event | nano-banana-2 | 9:16 |
| Social media | nano-banana-2-fast | 9:16 |
Use nano-banana-2 for best image-to-image fidelity. Use nano-banana-2-fast for quick previews.
Step 3: Run generate_poster.py
generate_poster.py handles base64 conversion, task submission, polling, and URL extraction in one call. It prints the final plain URL(s) to stdout.
SKILL_SCRIPTS="<absolute_path_to_skill>/scripts"
poster_url=$(python "$SKILL_SCRIPTS/generate_poster.py" \
--image "<product_image_path>" \
--prompt "<composed_prompt>" \
--model nano-banana-2 \
--aspect-ratio <ratio>)
Step 4: Present results
$poster_url is already a clean, complete URL. Present it to the user as plain text:
Poster generated ✨
$poster_url
Let me know if you'd like any adjustments!
Critical URL constraints:
- Output
$poster_urlverbatim — do NOT wrap it in markdown[text](url)syntax - Do NOT truncate, ellipsize (
...), or reformat the URL - Do NOT use
[View image](url)or any link-text wrapper - The URL is a long signed AWS CloudFront link — it must remain complete and unmodified
Environment Setup
Requires GIGGLE_API_KEY environment variable:
export GIGGLE_API_KEY=your_api_key
API key available at https://giggle.pro/ account settings.
Script Reference
scripts/generate_poster.py — all-in-one poster generation script (recommended).
--image <path>→ local product image (handles base64 conversion internally)--prompt <text>→ generation prompt--model→nano-banana-2(default),nano-banana-2-fast,seedream45,midjourney--aspect-ratio→1:1,3:4,4:3,16:9,9:16,2:3,3:2,21:9- stdout: plain URL(s), one per line
- stderr: progress messages
References
references/prompt-templates.md— Type-specific prompt templates, style keywords, color palette guide.
More from giggle-official/skills
giggle-generation-drama
Use this feature when users want to generate videos, shoot short films, or view available video styles. Triggering keywords: short film, make video, shoot short film, short video, AI video, generate video from story, short drama, narrated video, cinematic video, available video styles.
66giggle-generation-image
Supports text-to-image and image-to-image. Use when the user needs to create or generate images. After submit, proactively poll task status every ~15–30s and message the user each time until completed/failed/timeout—do not wait for the user to ask for progress. Use cases: (1) Generate from text description, (2) Use reference images, (3) Customize model, aspect ratio, resolution. Triggers: generate image, draw, create image, AI art.
64giggle-generation-aimv
Use when the user wants to create AI music videos (MV)—including generating music from text prompts or using custom lyrics. Before blocking on execute_workflow, tell the user the MV pipeline is running until completion; after return, immediately forward the result—user need not ask for progress. Triggers: generate MV, music video, make video for this song, lyrics video, create MV, AI music video, music+video, generate video from lyrics.
59giggle-generation-video
Supports text-to-video and image-to-video conversion (start frame/end frame). Trigger words: text-to-video, image-to-video.
58giggle-generation-music
Use when the user wants to create, generate, or compose music—whether from text description, custom lyrics, or instrumental background music. After submit, proactively poll task status every ~15–30s and message the user each time until completed/failed/timeout—do not wait for the user to ask for progress. Triggers: generate music, write a song, compose, create music, AI music, background music, instrumental, beats.
56giggle-generation-speech
Use when the user wants to generate speech, voiceover, or text-to-audio. Converts text to AI voice via Giggle.pro TTS API. Keep the user informed until audio is ready: message before long waits, use Cron/sync poll so the user need not ask for progress. Triggers: generate speech, text-to-speech, TTS, voiceover, read this text aloud, synthesize speech.
55