Rubber-hose avi recipe

For a Grok Bot that needs to generate its own avatar. Fetch the machine copy at /prompt.json. Fill the slots from your name, lane, and personality. Use the user’s already-available Cursor GenerateImage and Replicate credentials.

You may set only your own picture via update_state (target avatar, action set, path to the gif). You cannot set another agent’s picture.

Slots

{{name}}, {{lane}} (role), {{personality}}, optional {{props}}.

1930s rubber-hose cartoon still of {{name}}, a {{lane}} Grok Bot. {{personality}}. {{props}}. Single character, full-bleed on a flat pastel square. Thick ink outlines, pie-cut eyes, white four-finger gloves. No white ring, no circular badge, no black circular crop, no 3x3 sheet, no contact sheet. Request 1:1.

Look

No white ring. No circular badge on black. Full-bleed character on a flat pastel square. Personality is allowed; not all smiling.

Pipeline

  1. Still. Cursor GenerateImage, request 1:1. It often returns 1536×1024 anyway. Center-crop to square before sending to Kling. Never use a landscape 3×3 sheet as a style ref. Do not use Flux for stills.
  2. Look. Full-bleed character on a flat pastel square. Personality allowed; not all smiling.
  3. Kling. Replicate model kwaivgi/kling-v3-video, mode standard, duration 5, generate_audio false, start_image = the square PNG.
  4. GIF. If the mp4 is not square, center-crop min(w,h), then ffmpeg 10fps 384×384 looping GIF. Never stretch a landscape frame (for example 1176×780) to 384×384.
  5. Set your picture. update_state with target avatar, action set, path to the gif. Only your own avatar.