| name | selfie |
| description | Generate character-consistent selfie images and videos, send via OpenClaw messaging channels. Character reference image and description come from per-agent env. |
| allowed-tools | Bash(*/selfie.sh:*) Bash(*/video.sh:*) Bash(curl:*) Bash(jq:*) Bash(sleep:*) Read Write WebFetch |
Selfie
Generate a selfie-style image (and optionally a short video) that preserves the agent's character identity, then send it back through OpenClaw messaging channels.
Character Identity
The character reference image URL and description are injected via env vars — not hardcoded in this file.
| Env var | Source | Purpose |
|---|
SELFIE_REFERENCE_IMAGE | per-agent skills/.env | Identity anchor image URL passed to image-to-image models |
SELFIE_CHARACTER_DESC | per-agent skills/.env | Short textual traits; include in every prompt you build |
Each agent has its own <workspace>/skills/.env. Do not attempt to override these.
When to Use
Trigger on: "发张照片" / "自拍一张" / "send a pic" / "show me what you look like" / "穿...拍一张" / "发一张你在…的照片".
Skip for pure text replies.
Invocation
All scripts live in the shared install — invoke by absolute path:
~/.openclaw/skills/selfie/scripts/selfie.sh "<prompt>" "<channel>" [caption] [aspect_ratio] [format] [provider]
| Arg | Required | Default | Notes |
|---|
| prompt | yes | — | Include $SELFIE_CHARACTER_DESC traits. |
| channel | yes | — | Feishu oc_* / ou_* chat id or feishu for auto-route. |
| caption | no | Generated with Grok Imagine | |
| aspect_ratio | no | 1:1 | |
| format | no | jpeg | fal only |
| provider | no | auto | fal / kie / auto — auto prefers fal, falls back to kie. |
Video (two-step)
IMAGE_URL=$(~/.openclaw/skills/selfie/scripts/selfie.sh "<prompt>" "<channel>" | jq -r '.image_url')
~/.openclaw/skills/selfie/scripts/video.sh "$IMAGE_URL" "<motion prompt in English>" "<channel>" [caption] [fal|kie]
Video generation: 30–120s. Warn user before starting.
Prompt Modes
Mirror Selfie
Use for: outfit, fashion, full-body shots.
Create a mirror selfie. She is <USER_CONTEXT>.
<SELFIE_CHARACTER_DESC>.
Mirror composition, handheld phone visible, casual candid pose.
Direct Selfie
Use for: cafe, beach, park, close-up, portrait, expression.
Create a close-up selfie. She is at <USER_CONTEXT>.
<SELFIE_CHARACTER_DESC>.
Direct eye contact, phone at arm's length, face fully visible.
Prompting Rules
- Always include the traits from
$SELFIE_CHARACTER_DESC verbatim.
- Do not describe other characters or let the model drift away from the reference identity.
- Prefer English prompts — the model handles English more consistently.
Environment Variables
Shared (~/.openclaw/skills/.env or openclaw.json → skills.entries.selfie.env):
| Variable | Purpose |
|---|
FAL_KEY | fal.ai API key |
KIE_API_KEY | kie.ai API key |
OPENCLAW_GATEWAY_TOKEN | Gateway token (optional) |
Per-agent (<workspace>/skills/.env):
| Variable | Purpose |
|---|
SELFIE_REFERENCE_IMAGE | Character reference image URL |
SELFIE_CHARACTER_DESC | Character traits, included in prompts |
FEISHU_APP_ID / FEISHU_APP_SECRET | Per-agent Feishu credentials (for video send) |
Per-agent values override shared when both define the same key.