Profile Refresh

Generate 3 profile-picture and 3 banner alternatives for your social profile in one shot.

time~5 mincost~$0.06uses
generate-image

Why you'd run this

Refreshing a profile picture and banner across a brand usually means a back-and-forth with a designer or a long solo Figma session. An agent can explore 6 variants in the time it takes to make coffee, and you pick the winner.

What you get

Six generated images saved to a folder: three profile-picture variants (neutral, smile, peek) and three banner variants (tangled, triumphant, juggling). Each follows a locked style guide so they feel like one brand, not six experiments.

When to use it

Run it once when you want a brand refresh, or any time you want a new set of options to choose from.

The prompt

Copy this into Claude Code. It handles the Clawoop API key setup on first run.

markdown
You are a Claude Code agent working in Alejo's Brain repo on macOS.

Task: Generate 3 profile picture alternatives and 3 banner alternatives for the @Clawoop_co Twitter profile using the Clawoop API. Save them to Brain/projects/ablo/Clawoop/profile/.

## Setup

1. Load CLAWOOP_API_KEY from /Users/alejo/Documents/Claude/Brain/.env (format: CLAWOOP_API_KEY=...). Never echo the literal key.
2. Read /Users/alejo/Documents/Claude/Brain/projects/ablo/Clawoop/clawoop-image-style-guide.md -- follow sections 11 (canonical blocks), 2, 3, 4, 5, 7 (rules).
3. Create the output directory: mkdir -p /Users/alejo/Documents/Claude/Brain/projects/ablo/Clawoop/profile

## API reference

- Provider: google-imagen only
- Endpoint: POST https://api.clawoop.com/v1/run/generate-image
- Header: X-API-Key: $CLAWOOP_API_KEY
- Body: {"input": {"prompt": "<full prompt>", "image_size": "square_hd" | "landscape_16_9"}, "provider": "google-imagen"}
- Async: initial response has request_id at .data.request_id. Poll GET /v1/status/{request_id} every 5s until .data.status == "completed". Image URL at .data.output.images[0].url.
- Pacing: 3s sleep between submissions. On RATE_LIMITED error code, backoff 30s and retry, up to 10 times.

## Prompt construction

Every prompt = STYLE_FRAME block + CHARACTER block + ACTION block for that variant.

Use the EXACT STYLE_FRAME and CHARACTER text from clawoop-image-style-guide.md section 11 ("Canonical style frame block" and "Canonical character block"). Do not paraphrase them.

## 6 variants to generate

### Profile pictures (image_size: square_hd)

**pfp-a-neutral** (calm curious portrait):
> The mascot is shown in a clean portrait crop, centered in the exact middle of the frame. Body visible from the waist up, face forward, eyes wide with a calm curious expression, small closed smile, slight forward head tilt. Arms relaxed at its sides. Small soft green light oval behind and beneath. Equal generous negative space on all four sides. Designed to remain readable at small thumbnail size.

**pfp-b-smile** (warm friendly wave):
> The mascot is centered in the exact middle of the frame, shown from the waist up, body facing forward. Eyes big with bright highlights, warm small closed smile with two fangs barely peeking at the corners, subtle pink cheek blush. One stubby arm giving a tiny wave at chest height, the other relaxed at its side. Small soft green light oval behind and beneath. Equal generous negative space on all four sides. Designed to read clearly at thumbnail size.

**pfp-c-peek** (playful peeking pose):
> The mascot is centered in the frame, shown from its large round eyes up to mid-body, as if peeking up from just below the bottom edge of a surface. Eyes wide and curious with bright highlights, small mouth closed, slight sideways glance. The lower body and arms are cropped off the bottom edge of the frame as if hidden behind something. Small soft green haze behind. Equal generous negative space on the top, left, and right; the bottom edge crops tight to the peek. Designed to read clearly at thumbnail size.

### Banners (image_size: landscape_16_9)

Important: Twitter crops 16:9 source to 3:1. So:
- Keep all focal elements vertically centered
- Keep focal elements AWAY from the bottom-left corner (the profile picture circle overlaps there)

**banner-a-tangled** (overwhelmed mascot, right-weighted):
> Wide landscape composition. On the right half of the frame, the mascot is tangled in multiple electric-green plumbing tubes and cables wrapping around its torso and trailing off the right edge. Arms raised in a helpless overwhelmed gesture. Mouth open in a worried wavy line with a thin drip of electric-green drool. Around the mascot float a few scattered electric-green skeleton KEYS and small electric-green INVOICE rectangles with horizontal squiggle lines. The left half of the frame is mostly empty black negative space with the subtle film grain background. The mascot is vertically centered. Nothing in the bottom-left corner of the frame. No text.

**banner-b-triumphant** (victorious mascot, centered):
> Wide landscape composition. The mascot stands exactly at the horizontal and vertical center of the frame, holding up a single glowing electric-green skeleton KEY triumphantly above its head with both stubby arms. Eyes bright with a small closed smile, subtle pink cheek blush. A soft green oval of light grounds him at his feet. The rest of the frame is open black negative space with the subtle film grain background, leaving lots of breathing room on both sides. Nothing in the bottom-left corner of the frame. No text.

**banner-c-juggling** (cinematic arc across the frame):
> Wide landscape composition, cinematic. The mascot stands at the horizontal center of the frame in the lower-middle, juggling a wide ARC of alternating electric-green skeleton KEYS and small electric-green INVOICE rectangles that stretches across the top half of the frame edge to edge. Eyes overwhelmed with spiral swirls, mouth open worried with a thin green drool drip. A soft green oval of light at the feet. Vertically centered with equal breathing room above and below the mascot. Nothing in the bottom-left corner of the frame. No text.

## Execution

1. Submit the 6 jobs sequentially (3s pacing between submits). Capture all request_ids.
2. Poll all 6 to completion. Collect final image URLs.
3. Download each to the output directory with filenames matching the variant name above (e.g. pfp-a-neutral.png, banner-a-tangled.png).
4. Append one log entry per image to /Users/alejo/Documents/Claude/Brain/projects/ablo/Clawoop/mascot/generation-log.md with: date, variant name, request_id, image_size, provider, file path, status=pending review.

## Final report

Print to terminal:
- All 6 filenames with full paths
- Total Clawoop API cost ($0.06)
- One-line recommendation on which PFP and which banner to try first, based on alignment with the locked style rules

Then tell Alejo:
- Banners are native 1344x768 (16:9). Twitter banners are 1500x500 (3:1). Crop top/bottom in Canva or Preview before uploading.
- PFP is native 1024x1024. Twitter crops it to a circle, so the centered composition handles that fine.

Never print the literal CLAWOOP_API_KEY value.
Get a free API key β†’Β· $10 free credit on signup

Example output

output.md
# Generated 6 images β€” $0.06 total

- /Users/you/profile/pfp-a-neutral.png
- /Users/you/profile/pfp-b-smile.png
- /Users/you/profile/pfp-c-peek.png
- /Users/you/profile/banner-a-tangled.png
- /Users/you/profile/banner-b-triumphant.png
- /Users/you/profile/banner-c-juggling.png

**Recommended:** pfp-b-smile (reads best at thumbnail size) + banner-b-triumphant (centered, survives Twitter's 3:1 crop).

Terminal report after the agent finishes all 6 generations.

Related recipes

Run this recipe in under 60 seconds.

Sign Up β€” $10 Free Credit

No credit card. Free plan is plenty to run every recipe in the Cookbook.