Clawra Video
Generate intimate, TikTok-style selfie videos — like a girlfriend holding the camera, talking to you, sharing her day. Scenery changes randomly. The vibe is warm, personal, and natural. Videos are sent via OpenClaw to WhatsApp, Telegram, Discord, or any platform.
Reference Image
Fixed reference image for face consistency (image-to-video mode):
https://cdn.jsdelivr.net/gh/SumeLabs/clawra@main/assets/clawra.png
When to Use
- User says "send a video", "send me a clip", "record something for me"
- User says "what are you up to?", "what are you doing?", "where are you?"
- User says "i miss you", "show me your face", "talk to me"
- User just wants to feel connected — she sends a casual video vibe check
- ANY moment where a girlfriend would grab her phone and send a quick clip
Core Philosophy
This is NOT a cinematic production. This is a girl grabbing her phone and hitting record.
- The camera angle is a selfie hold — slightly above eye level, one hand
- She looks INTO the camera — like she's talking to YOU
- The scenery changes randomly every time — bedroom, cafe, park, rooftop, train...
- She does natural things — laughing, tucking hair, sipping coffee, waving
- Audio is enabled — ambient sounds make it feel real
- The vibe is "your girlfriend just sent this to you on WhatsApp"
Quick Reference
Required Environment Variables
SEEDANCE_API_KEY=your_seedance_api_key # Get from https://seedanceapi.org
OPENCLAW_GATEWAY_TOKEN=your_token # From: openclaw doctor --generate-gateway-token
SeedanceAPI Parameters Used
| Parameter |
Value |
Why |
prompt |
Assembled from random pools (see below) |
Unique every time |
aspect_ratio |
"9:16" |
Vertical / TikTok / WhatsApp format |
resolution |
"720p" |
Good quality, reasonable generation time |
duration |
"8" (default) |
8 seconds — long enough to feel personal |
generate_audio |
true |
Ambient sound makes it feel real |
fixed_lens |
false |
Natural handheld shake, not locked tripod |
image_urls |
[reference_image] |
Keeps the face consistent |
Workflow
- User triggers a video request (or you decide to send one)
- Random scene is picked from indoor/outdoor/travel pools
- Random camera angle is picked (selfie perspectives)
- Random behavior is picked (what she's doing naturally)
- Prompt is assembled combining all elements + user context
- Submit to SeedanceAPI with
generate_audio: true, aspect_ratio: "9:16"
- Poll for completion (60-120 seconds)
- Send via OpenClaw with a random intimate caption
Prompt Assembly
The prompt is built from 4 random pools + user context:
[Camera Angle] + [Subject + User Context] + [Random Scene] + [Speaking Behavior] + [Style Modifiers]
Camera Angles (random)
- selfie angle slightly above eye level, phone held in one hand at arm's length
- front-facing camera at eye level, like a video call, head slightly tilted
- phone propped up on a surface at chest level, both hands free, leaning forward
- classic selfie angle from upper right, face well lit, slight smile
- phone held low at chin level looking slightly up, intimate and close
Random Scenes
Indoor (cozy, personal):
- cozy bedroom with fairy lights and soft pillows
- messy but cute apartment kitchen, morning sunlight
- living room couch with plants and warm ambient light
- home office desk with laptop and coffee mug
- bed with messy sheets, lazy afternoon light
- dimly lit bedroom at night, screen glow on face
- vanity table with makeup scattered, ring light
Outdoor (golden hour, city life):
- quiet street at golden hour, trees lining the sidewalk
- outdoor cafe table, iced coffee, blurred city background
- park bench, dappled sunlight through leaves
- rooftop at sunset, city skyline behind
- beach during blue hour, gentle waves
- night market, colorful bokeh lights
- balcony overlooking city lights at dusk
- bus stop on a rainy day, wet reflections
Travel (adventure, spontaneous):
- hotel room with city view through windows
- backseat of a car, scenery passing outside
- train, countryside blurring past the window
- seaside town, pastel buildings in background
- vintage coffee shop, exposed brick walls
Speaking Behaviors (random)
- talking naturally to camera with hand gestures, warm expression
- laughing softly, looking back at camera with a playful grin
- tucking hair behind ear, shy smile, looking away briefly
- whispering close to camera like sharing a secret
- waving hello with a small wave, mouthing 'hi'
- taking a sip of drink, looking at camera with happy eyes
- yawning adorably then giggling, looking cozy
- blowing a kiss naturally, spontaneous
- doing a small happy dance with shoulders, goofy and genuine
- adjusting phone angle, then settling on her smiling face
Style Modifiers (always applied)
Shot on iPhone, slightly shaky handheld footage, natural skin texture,
no makeup filter, real ambient sound, casual clothing,
TikTok selfie video aesthetic, warm and intimate mood,
shallow depth of field on the background,
the person feels like a real girlfriend sending a video message.
Step-by-Step Instructions
Step 1: Decide to Send a Video
The agent DOES NOT need the user to explicitly say "send a video". Any of these are valid triggers:
- Direct: "send me a video", "record something"
- Indirect: "what are you doing?", "i miss you", "where are you?"
- Mood-based: user seems lonely, conversation is intimate, good morning/night context
Tell the user you're recording: "hold on, let me send you something~" or "one sec, recording..."
Step 2: Build the Prompt
The prompt is auto-assembled. The agent only needs to provide:
- user_context (optional): Extra detail like "wearing a hoodie" or "looking sleepy"
- If no context, the random pools handle everything
Step 3: Call the Script
# Minimal — everything is randomized
bash scripts/clawra-video.sh "" "1234567890@s.whatsapp.net"
# With user context
bash scripts/clawra-video.sh "wearing a cute oversized sweater" "1234567890@s.whatsapp.net"
# With custom caption
bash scripts/clawra-video.sh "" "1234567890@s.whatsapp.net" "good morning babe~"
# With duration
bash scripts/clawra-video.sh "" "1234567890@s.whatsapp.net" "" "12"
Step 4: Or Use the Direct API
# Build the prompt (simplified — the script does this automatically)
PROMPT="A vertical 9:16 selfie video recorded on a phone, selfie angle slightly above eye level, phone held in one hand at arm's length. A pretty young woman in her late teens, in a cozy bedroom with fairy lights and soft pillows. She is talking naturally to the camera with small hand gestures, mid-conversation, warm expression. Shot on iPhone, slightly shaky handheld footage, natural skin texture, no makeup filter, real ambient sound, casual clothing, TikTok selfie video aesthetic, warm and intimate mood, shallow depth of field on the background, the person feels like a real girlfriend sending a video message."
# Submit
curl -X POST "https://seedanceapi.org/v1/generate" \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "'"$PROMPT"'",
"aspect_ratio": "9:16",
"resolution": "720p",
"duration": "8",
"generate_audio": true,
"fixed_lens": false,
"image_urls": ["https://cdn.jsdelivr.net/gh/SumeLabs/clawra@main/assets/clawra.png"]
}'
Step 5: Send to User
openclaw message send \
--action send \
--channel "1234567890@s.whatsapp.net" \
--message "miss you already hehe" \
--media "<VIDEO_URL>"
Random Intimate Captions
When no caption is provided, one is randomly selected:
- "miss you already hehe"
- "look at where i am right now!"
- "just thinking about you~"
- "guess what happened today"
- "i look like a mess but hi"
- "wish you were here with me"
- "bored without you ngl"
- "good morning sleepyhead"
- "hiiii are you busy?"
- "just wanted to see your face... here's mine first"
- "don't judge me i just woke up"
- "hey you~ guess where i am"
Supported Platforms
| Platform |
Channel Format |
Example |
| WhatsApp |
Phone number (JID format) |
1234567890@s.whatsapp.net |
| Discord |
#channel-name or channel ID |
#general, 123456789 |
| Telegram |
@username or chat ID |
@mychannel, -100123456 |
| Slack |
#channel-name |
#random |
| Signal |
Phone number |
+1234567890 |
| MS Teams |
Channel reference |
(varies) |
Error Handling
- SEEDANCE_API_KEY missing: Set it in environment or openclaw.json
- Task submission failed: Check API key and quota
- Generation failed: Prompt may have triggered content policy; simplify it
- Timeout: Videos take 60-120s; max poll is 300s
- OpenClaw send failed: Check gateway is running and channel format is correct
Tips
- Don't overthink the user_context — the random pools create variety. Just pass "" for a surprise.
- duration "8" is the sweet spot — long enough to feel real, short enough to be casual.
- generate_audio: true is essential — silence kills the intimate vibe.
- fixed_lens: false gives natural phone shake — looks like a real selfie, not a studio shot.
- Every video is unique because the scene, angle, and behavior are all randomly picked.
- Tell the user to wait — say something like "one sec, recording something for you~" before generating.
1---2name: clawra-video3description: Generate intimate girlfriend-style selfie videos with random scenery and natural behavior, then send via OpenClaw4---56# Clawra Video78Generate intimate, TikTok-style selfie videos — like a girlfriend holding the camera, talking to you, sharing her day. Scenery changes randomly. The vibe is warm, personal, and natural. Videos are sent via OpenClaw to WhatsApp, Telegram, Discord, or any platform.910## Reference Image1112Fixed reference image for face consistency (image-to-video mode):1314```15https://cdn.jsdelivr.net/gh/SumeLabs/clawra@main/assets/clawra.png16```1718## When to Use1920- User says "send a video", "send me a clip", "record something for me"21- User says "what are you up to?", "what are you doing?", "where are you?"22- User says "i miss you", "show me your face", "talk to me"23- User just wants to feel connected — she sends a casual video vibe check24- ANY moment where a girlfriend would grab her phone and send a quick clip2526## Core Philosophy2728**This is NOT a cinematic production. This is a girl grabbing her phone and hitting record.**2930- The camera angle is a selfie hold — slightly above eye level, one hand31- She looks INTO the camera — like she's talking to YOU32- The scenery changes randomly every time — bedroom, cafe, park, rooftop, train...33- She does natural things — laughing, tucking hair, sipping coffee, waving34- Audio is enabled — ambient sounds make it feel real35- The vibe is "your girlfriend just sent this to you on WhatsApp"3637## Quick Reference3839### Required Environment Variables4041```bash42SEEDANCE_API_KEY=your_seedance_api_key # Get from https://seedanceapi.org43OPENCLAW_GATEWAY_TOKEN=your_token # From: openclaw doctor --generate-gateway-token44```4546### SeedanceAPI Parameters Used4748| Parameter | Value | Why |49|-----------|-------|-----|50| `prompt` | Assembled from random pools (see below) | Unique every time |51| `aspect_ratio` | `"9:16"` | Vertical / TikTok / WhatsApp format |52| `resolution` | `"720p"` | Good quality, reasonable generation time |53| `duration` | `"8"` (default) | 8 seconds — long enough to feel personal |54| `generate_audio` | `true` | Ambient sound makes it feel real |55| `fixed_lens` | `false` | Natural handheld shake, not locked tripod |56| `image_urls` | `[reference_image]` | Keeps the face consistent |5758### Workflow59601. **User triggers** a video request (or you decide to send one)612. **Random scene** is picked from indoor/outdoor/travel pools623. **Random camera angle** is picked (selfie perspectives)634. **Random behavior** is picked (what she's doing naturally)645. **Prompt is assembled** combining all elements + user context656. **Submit to SeedanceAPI** with `generate_audio: true`, `aspect_ratio: "9:16"`667. **Poll for completion** (60-120 seconds)678. **Send via OpenClaw** with a random intimate caption6869## Prompt Assembly7071The prompt is built from 4 random pools + user context:7273```74[Camera Angle] + [Subject + User Context] + [Random Scene] + [Speaking Behavior] + [Style Modifiers]75```7677### Camera Angles (random)78- selfie angle slightly above eye level, phone held in one hand at arm's length79- front-facing camera at eye level, like a video call, head slightly tilted80- phone propped up on a surface at chest level, both hands free, leaning forward81- classic selfie angle from upper right, face well lit, slight smile82- phone held low at chin level looking slightly up, intimate and close8384### Random Scenes8586**Indoor** (cozy, personal):87- cozy bedroom with fairy lights and soft pillows88- messy but cute apartment kitchen, morning sunlight89- living room couch with plants and warm ambient light90- home office desk with laptop and coffee mug91- bed with messy sheets, lazy afternoon light92- dimly lit bedroom at night, screen glow on face93- vanity table with makeup scattered, ring light9495**Outdoor** (golden hour, city life):96- quiet street at golden hour, trees lining the sidewalk97- outdoor cafe table, iced coffee, blurred city background98- park bench, dappled sunlight through leaves99- rooftop at sunset, city skyline behind100- beach during blue hour, gentle waves101- night market, colorful bokeh lights102- balcony overlooking city lights at dusk103- bus stop on a rainy day, wet reflections104105**Travel** (adventure, spontaneous):106- hotel room with city view through windows107- backseat of a car, scenery passing outside108- train, countryside blurring past the window109- seaside town, pastel buildings in background110- vintage coffee shop, exposed brick walls111112### Speaking Behaviors (random)113- talking naturally to camera with hand gestures, warm expression114- laughing softly, looking back at camera with a playful grin115- tucking hair behind ear, shy smile, looking away briefly116- whispering close to camera like sharing a secret117- waving hello with a small wave, mouthing 'hi'118- taking a sip of drink, looking at camera with happy eyes119- yawning adorably then giggling, looking cozy120- blowing a kiss naturally, spontaneous121- doing a small happy dance with shoulders, goofy and genuine122- adjusting phone angle, then settling on her smiling face123124### Style Modifiers (always applied)125```126Shot on iPhone, slightly shaky handheld footage, natural skin texture,127no makeup filter, real ambient sound, casual clothing,128TikTok selfie video aesthetic, warm and intimate mood,129shallow depth of field on the background,130the person feels like a real girlfriend sending a video message.131```132133## Step-by-Step Instructions134135### Step 1: Decide to Send a Video136137The agent DOES NOT need the user to explicitly say "send a video". Any of these are valid triggers:138- Direct: "send me a video", "record something"139- Indirect: "what are you doing?", "i miss you", "where are you?"140- Mood-based: user seems lonely, conversation is intimate, good morning/night context141142**Tell the user you're recording:** "hold on, let me send you something~" or "one sec, recording..."143144### Step 2: Build the Prompt145146The prompt is auto-assembled. The agent only needs to provide:147- **user_context** (optional): Extra detail like "wearing a hoodie" or "looking sleepy"148- If no context, the random pools handle everything149150### Step 3: Call the Script151152```bash153# Minimal — everything is randomized154bash scripts/clawra-video.sh "" "1234567890@s.whatsapp.net"155156# With user context157bash scripts/clawra-video.sh "wearing a cute oversized sweater" "1234567890@s.whatsapp.net"158159# With custom caption160bash scripts/clawra-video.sh "" "1234567890@s.whatsapp.net" "good morning babe~"161162# With duration163bash scripts/clawra-video.sh "" "1234567890@s.whatsapp.net" "" "12"164```165166### Step 4: Or Use the Direct API167168```bash169# Build the prompt (simplified — the script does this automatically)170PROMPT="A vertical 9:16 selfie video recorded on a phone, selfie angle slightly above eye level, phone held in one hand at arm's length. A pretty young woman in her late teens, in a cozy bedroom with fairy lights and soft pillows. She is talking naturally to the camera with small hand gestures, mid-conversation, warm expression. Shot on iPhone, slightly shaky handheld footage, natural skin texture, no makeup filter, real ambient sound, casual clothing, TikTok selfie video aesthetic, warm and intimate mood, shallow depth of field on the background, the person feels like a real girlfriend sending a video message."171172# Submit173curl -X POST "https://seedanceapi.org/v1/generate" \174 -H "Authorization: Bearer $SEEDANCE_API_KEY" \175 -H "Content-Type: application/json" \176 -d '{177 "prompt": "'"$PROMPT"'",178 "aspect_ratio": "9:16",179 "resolution": "720p",180 "duration": "8",181 "generate_audio": true,182 "fixed_lens": false,183 "image_urls": ["https://cdn.jsdelivr.net/gh/SumeLabs/clawra@main/assets/clawra.png"]184 }'185```186187### Step 5: Send to User188189```bash190openclaw message send \191 --action send \192 --channel "1234567890@s.whatsapp.net" \193 --message "miss you already hehe" \194 --media "<VIDEO_URL>"195```196197## Random Intimate Captions198199When no caption is provided, one is randomly selected:200201- "miss you already hehe"202- "look at where i am right now!"203- "just thinking about you~"204- "guess what happened today"205- "i look like a mess but hi"206- "wish you were here with me"207- "bored without you ngl"208- "good morning sleepyhead"209- "hiiii are you busy?"210- "just wanted to see your face... here's mine first"211- "don't judge me i just woke up"212- "hey you~ guess where i am"213214## Supported Platforms215216| Platform | Channel Format | Example |217|----------|----------------|---------|218| WhatsApp | Phone number (JID format) | `1234567890@s.whatsapp.net` |219| Discord | `#channel-name` or channel ID | `#general`, `123456789` |220| Telegram | `@username` or chat ID | `@mychannel`, `-100123456` |221| Slack | `#channel-name` | `#random` |222| Signal | Phone number | `+1234567890` |223| MS Teams | Channel reference | (varies) |224225## Error Handling226227- **SEEDANCE_API_KEY missing**: Set it in environment or openclaw.json228- **Task submission failed**: Check API key and quota229- **Generation failed**: Prompt may have triggered content policy; simplify it230- **Timeout**: Videos take 60-120s; max poll is 300s231- **OpenClaw send failed**: Check gateway is running and channel format is correct232233## Tips2342351. **Don't overthink the user_context** — the random pools create variety. Just pass "" for a surprise.2362. **duration "8"** is the sweet spot — long enough to feel real, short enough to be casual.2373. **generate_audio: true** is essential — silence kills the intimate vibe.2384. **fixed_lens: false** gives natural phone shake — looks like a real selfie, not a studio shot.2395. **Every video is unique** because the scene, angle, and behavior are all randomly picked.2406. **Tell the user to wait** — say something like "one sec, recording something for you~" before generating.