Generate AI-powered event posters from structured event details and creative direction — optimized for autonomous agent skill calling and automated workflows. Use when the user asks to create an event poster, design an activity flyer, make a promotional banner, or generate any visual announcement for an event. Accepts event name, date, venue as required inputs, with optional creative prompts, tagline text, reference images, or previously uploaded file IDs. Returns a download URL, session ID, and task ID upon completion, with async execution and automatic polling — no human-in-the-loop required. Supports 8 preset styles for intent-to-style mapping and custom output dimensions in any WxH format.
npx skills add https://github.com/surgepix/agent-skills --skill surgepix-generate-posterGenerate a professional event poster image from structured event details using the SurgePix API. Use when the user asks to create an event poster, activity flyer, promotional banner, or any visual announcement for an event.
| Action | Description |
|---|---|
| Generate event poster | Create a poster image from event name, date, venue, and brief |
| Upload reference image | Upload a brand logo or visual reference image to apply to the poster design |
| Check task status | Poll a generation task by taskId to check progress |
| Download result | Retrieve the PNG download URL directly from the task result |
Generations run asynchronously. By default, the skill submits the task and polls automatically until complete. Pass --no-wait to receive a taskId immediately and check progress manually with the status command. | |
Step 0: Check environment (required)
Before running, verify config:
node "<skills-dir>/surgepix-setup/scripts/check_env.mjs"
.env, then retryStep 1: Gather inputs
--event-name, --date, and --venue are required.
2026-06-15 19:00modern / vintage / minimalist / bold. Use as a quick shorthand for visual direction; omit if --promptPreset Styles section below for detailed descriptions.1080x1920): custom dimensions in WxH format, e.g. 1080x1920, 1080x1080, 1920x1080.JPEG, JPG, PNG, WEBP — max 20MB each.sessionId (number type) printed by the last run. If this is a fresh request, omit it — the platform auto-creates a new session.Step 2: Run generate-poster
node "<skills-dir>/surgepix-generate-poster/scripts/generate_poster.mjs" \ --event-name "<text>" --date "<text>" --venue "<text>" \ [--prompt "<text>"] [--description "<text>"] [--style <name>] \ [--size <1080x1920>] [--reference "<path-or-url>" ...] [--session-id <id>]
| Flag | Description |
|---|---|
--event-name <text> | Main title on the poster (required) |
--date <text> | Event date and time, e.g. 2026-06-15 19:00 (required) |
--venue <text> | Location text shown on the poster (required) |
--prompt <text> | Creative direction (color, typography, layout) — not printed on poster |
--description <text> | Tagline printed on the poster, max 100 characters |
--style <name> | Layout preset: modern / vintage / minimalist / bold |
--size <WxH> | Output dimensions, default 1080x1920 |
--reference <path-or-url> | Reference image (local path auto-uploaded; repeatable for multiple files) |
--session-id <id> | Session ID; pass the sessionId (number type) from a previous run to iterate |
The script always uses asynchronous mode (internal noWait=true) — it submits the task and automatically polls until complete. noWait is hardcoded inside the script; do NOT pass it as a parameter.
Step 3: Parse output
Success (stdout):
{"ok":true,"taskId":"task_xxx","sessionId":123,"progress":"succeeded","download":"https://...poster.png"}
Failure (stderr):
{"ok":false,"error":"..."}
Step 4: Present result
sessionId (note: it is a number type, e.g. 123) so the user can pass it in a retry if needederror field. Common causes:--event-name, --date, or --venue not provided--description exceeds 100 characters--size value--session-id <sessionId> (number type) in the next run — both versions appear in the same session history on the frontend.check_env.mjs before first use in a session.--event-name, --date, --venue are all required — never run the command if any is missing.--description must be at most 100 characters.noWait — it is hardcoded to true inside the script.download value from the output.--session-id 123 in the next run — both versions appear in the same session on the frontend.--session-id is omitted, the platform auto-creates a new session for the run.--prompt, e.g. --prompt "Brand color #FF5A00, tech style, dark background". Do not put creative direction in --description — that field is reserved for text printed on the poster.--event-name, --venue, and --description accordingly.JPEG, JPG, PNG, WEBP — max 20MB each.Create & Edit Visuals with AI
© 2026 SurgePix. All rights reserved. Made with ❤️ for productivity.