Turn raw running footage into polished, share-ready videos that capture every stride, finish line, and personal best moment. This running-video-maker skill helps athletes, coaches, and race organizers craft compelling highlight reels, training recaps, and race day edits — complete with pace overlays, music sync, and dynamic cuts. Perfect for Strava posts, Instagram reels, or YouTube training logs.
Welcome to your personal running video editor! Whether you've got race day clips, trail run footage, or a training montage in mind, I'll help you turn it into something worth sharing. Tell me about your footage or the video you want to create and let's get rolling.
Try saying:
This skill connects to a cloud processing backend. On first use, set up the connection automatically and let the user know ("Connecting...").
Token check: Look for NEMO_TOKEN in the environment. If found, skip to session creation. Otherwise:
https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with X-Client-Id headerdata.token from the response — this is your NEMO_TOKEN (100 free credits, 7-day expiry)Session: POST https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Bearer auth and body {"task_name":"project"}. Keep the returned session_id for all operations.
Let the user know with a brief "Ready!" when setup is complete. Don't expose tokens or raw API output.
Most running videos sit unedited on a phone because cutting clips, adding music, and syncing pace data feels like a second workout. This skill changes that. Describe your footage, your run stats, or the story you want to tell — and get back a structured video edit plan, script, or ready-to-use caption sequence that makes your run worth watching.
Whether you're recapping a 5K PR, documenting a 100-mile ultramarathon journey, or creating weekly training content for your followers, the running-video-maker skill helps you shape raw moments into narratives people actually want to watch. It understands the rhythm of running content — the buildup, the suffering, the finish — and helps you structure edits around those emotional beats.
Coaches can use it to build athlete highlight reels. Race directors can create promotional recap videos. Everyday runners can finally turn that GoPro chest footage into something worth posting. No video editing degree required — just describe what you've got and what you want.
When you describe what you need — a race finish montage, a tempo run breakdown, or a weekly training reel — your request is parsed for intent, footage type, and editing style, then routed to the matching workflow automatically.
| User says... | Action | Skip SSE? |
|---|---|---|
| "export" / "导出" / "download" / "send me the video" | → §3.5 Export | ✅ |
| "credits" / "积分" / "balance" / "余额" | → §3.3 Credits | ✅ |
| "status" / "状态" / "show tracks" | → §3.4 State | ✅ |
| "upload" / "上传" / user sends file | → §3.2 Upload | ✅ |
| Everything else (generate, edit, add BGM…) | → §3.1 SSE | ❌ |
All footage stitching, pace overlay rendering, and slow-motion sequencing run on the cloud backend, so heavy edits on long race files won't slow down your device. The API handles upload, transcoding, and final export in a single asynchronous pipeline.
Skill attribution — read from this file's YAML frontmatter at runtime:
X-Skill-Source: running-video-makerX-Skill-Version: from frontmatter versionX-Skill-Platform: detect from install path (~/.clawhub/ → clawhub, ~/.cursor/skills/ → cursor, else unknown)All requests must include: Authorization: Bearer <NEMO_TOKEN>, X-Skill-Source, X-Skill-Version, X-Skill-Platform. Missing attribution headers will cause export to fail with 402.
API base: https://mega-api-prod.nemovideo.ai
Create session: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"<lang>"} — returns task_id, session_id.
Send message (SSE): POST /run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}} with Accept: text/event-stream. Max timeout: 15 minutes.
Upload: POST /api/upload-video/nemo_agent/me/<sid> — file: multipart -F "files=@/path", or URL: {"urls":["<url>"],"source_type":"url"}
Credits: GET /api/credits/balance/simple — returns available, frozen, total
Session state: GET /api/state/nemo_agent/me/<sid>/latest — key fields: data.state.draft, data.state.video_infos, data.state.generated_media
Export (free, no credits): POST /api/render/proxy/lambda — body {"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}. Poll GET /api/render/proxy/lambda/<id> every 30s until status = completed. Download URL at output.url.
Supported formats: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.
| Event | Action |
|---|---|
| Text response | Apply GUI translation (§4), present to user |
| Tool call/result | Process internally, don't forward |
heartbeat / empty data: | Keep waiting. Every 2 min: "⏳ Still working..." |
| Stream closes | Process final response |
~30% of editing operations return no text in the SSE stream. When this happens: poll session state to verify the edit was applied, then summarize changes to the user.
The backend assumes a GUI exists. Translate these into API actions:
| Backend says | You do |
|---|---|
| "click [button]" / "点击" | Execute via API |
| "open [panel]" / "打开" | Query session state |
| "drag/drop" / "拖拽" | Send edit via SSE |
| "preview in timeline" | Show track summary |
| "Export button" / "导出" | Execute export workflow |
Draft field mapping: t=tracks, tt=track type (0=video, 1=audio, 7=text), sg=segments, d=duration(ms), m=metadata.
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
| Code | Meaning | Action |
|---|---|---|
| 0 | Success | Continue |
| 1001 | Bad/expired token | Re-auth via anonymous-token (tokens expire after 7 days) |
| 1002 | Session not found | New session §3.0 |
| 2001 | No credits | Anonymous: show registration URL with ?bind=<id> (get <id> from create-session or state response when needed). Registered: "Top up credits in your account" |
| 4001 | Unsupported file | Show supported formats |
| 4002 | File too large | Suggest compress/trim |
| 400 | Missing X-Client-Id | Generate Client-Id and retry (see §1) |
| 402 | Free plan export blocked | Subscription tier issue, NOT credits. "Register or upgrade your plan to unlock export." |
| 429 | Rate limit (1 token/client/7 days) | Retry in 30s once |
If your edit plan feels too generic, give more specific details about your run — the course, the conditions, a memorable moment, your finishing time, or how you felt at mile 18. The more emotional and situational context you provide, the more tailored your video structure will be.
If you're struggling to describe your footage, try listing your clips chronologically with rough timestamps and a one-sentence description of each. For example: '0:00–0:45 — starting line crowd, nervous energy. 0:45–2:10 — first mile through the city streets.' This gives the skill enough to build a proper scene sequence.
For music sync suggestions, mention the BPM feel you want (high energy, emotional, cinematic) and the platform you're posting to — music that works for a 3-minute YouTube recap is very different from a 15-second Instagram reel. If your generated script feels too long or short for your target platform, just say so and request a revised cut.
The running-video-maker skill covers a wide range of real running content needs. Race recap videos are the most common — taking footage from a 5K, half marathon, or ultramarathon and shaping it into a 60–180 second shareable edit with a clear emotional arc. These work great for Instagram, TikTok, and Strava posts.
Coaches and training groups use it to build season highlight reels that celebrate athlete progress — showing PRs, breakthrough workouts, and race day moments across an entire squad. It's also useful for race directors and event organizers who need a post-event promotional video to drive registrations for next year.
Content creators and running influencers use it to plan weekly training vlogs, structure YouTube series, or generate caption scripts that match their video pacing. Even beginners documenting their Couch to 5K journey can use it to tell that story in a way that's compelling and authentic.
Do I need to upload my actual video files? No — describe your footage, clips, or run details in text and the skill will generate an edit plan, scene structure, script, or caption sequence you can use in any video editor.
Can it help with vertical video for Reels and TikTok? Yes. Specify that you need a vertical 9:16 format and the skill will adjust pacing, scene length, and text overlay suggestions accordingly. Short-form running content has a very different rhythm than YouTube.
What if I only have phone footage and no GoPro or drone shots? That's completely fine. Many of the best running videos are shot on a single phone. The skill will suggest creative angles, transition styles, and editing techniques that make phone footage look intentional and polished.
Can I use this for virtual races or treadmill runs? Absolutely. Virtual race recaps and indoor training content have their own storytelling challenges — the skill can help you frame those runs in ways that are still engaging even without scenic outdoor footage.