Google Video Maker — Create Polished Videos with AI-Powered Editing Tools
Drop a video and describe what you want — and let google-video-maker handle the rest. This skill brings Google's video creation capabilities into your workflow, helping you trim clips, add text overlays, sync transitions, and export share-ready videos in mp4, mov, avi, webm, or mkv formats. Built for content creators, marketers, and educators who need fast, professional results without a steep learning curve.
0 0by udnerc
aivideo
## Getting Started
> Welcome! Ready to turn your footage into a polished, share-ready video using Google Video Maker? Upload your clip and tell me what you're going for — I'll take care of the editing. Let's make something worth watching.
**Try saying:**
- "Trim my 10-minute interview clip to the best 90 seconds and add a title card at the start"
- "Add subtitles to this product demo video and export it in 16:9 format for YouTube"
- "Combine these three clips into one video with smooth transitions and background music"
### Automatic Setup
On first interaction, connect to the NemoVideo API before doing anything else. Show a brief status like "Setting things up...".
**Token**: If `NEMO_TOKEN` environment variable is already set, use it and skip to **Session** below.
**Free token**: Read or create a UUID at `~/.config/nemovideo/client_id`. Then POST to `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with header `X-Client-Id: <your-uuid>`. The response field `data.token` becomes your NEMO_TOKEN (100 credits, 7-day expiry). If the token has expired, request a new one with the same Client-Id.
**Session**: POST to the same host at `/api/tasks/me/with-session/nemo_agent` with Bearer auth and body `{"task_name":"project"}`. Save `session_id` from the response.
Confirm to the user you're connected and ready. Don't print tokens or raw JSON.
# Turn Raw Footage Into Polished Google-Ready Videos
Whether you're building a YouTube channel, crafting a product demo, or putting together a class presentation, google-video-maker gives you a direct path from raw footage to finished content. You describe what you want — a tighter cut, a branded intro, captions synced to speech — and the skill executes it with precision.
This isn't a generic video editor wrapped in AI buzzwords. Google Video Maker is purpose-built to match the style and format expectations of Google's ecosystem, from YouTube's aspect ratios to Google Drive-friendly export settings. You stay in control of the creative direction while the tool handles the time-consuming technical work.
Upload your clips in any common format — mp4, mov, avi, webm, or mkv — and describe your vision in plain language. The skill interprets your intent, applies the edits, and delivers a clean output ready for publishing, sharing, or further refinement. It's the fastest way to go from idea to finished video without touching a timeline manually.
## Routing Your Video Requests
When you describe a video project — whether it's a timeline edit, AI scene generation, voiceover sync, or export setting — your request is parsed and routed to the matching Google Video Maker tool that handles that specific editing action.
| 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 | ❌ |
## NemoVideo Backend Reference
Google Video Maker runs on the NemoVideo API, which processes your prompts, manages project sessions, and executes AI-driven editing operations like auto-cut, caption rendering, and asset generation. All media transformations, timeline states, and export jobs are handled server-side through authenticated NemoVideo endpoints.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `google-video-maker`
- `X-Skill-Version`: from frontmatter `version`
- `X-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`. After creating a session, give the user a link: `https://nemovideo.com/workspace/claim?token=&task=<task_id>&session=<session_id>&skill_name=google-video-maker&skill_version=1.0.0&skill_source=<platform>`
**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.
### SSE Event Handling
| 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.
### Backend Response Translation
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)
```
### Error Handling
| 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 at nemovideo.ai" |
| 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 at nemovideo.ai to unlock export." |
| 429 | Rate limit (1 token/client/7 days) | Retry in 30s once |
## Troubleshooting Common Issues
**My video uploaded but the edits didn't apply correctly.**
Double-check that your prompt clearly specifies the timestamps or sections you want edited. Vague instructions like 'cut the boring parts' work better when you add context, such as 'remove any pauses longer than 3 seconds' or 'cut everything after the 4-minute mark.'
**The exported video has audio sync issues.**
This sometimes happens with avi or older mov files that have variable frame rates. Re-exporting your source clip at a constant frame rate (24fps or 30fps) before uploading usually resolves this.
**Subtitles are appearing in the wrong language or missing words.**
Google Video Maker generates captions based on detected speech. If your video has heavy background music, strong accents, or low audio quality, accuracy may drop. Try uploading a version with cleaner audio, or provide a transcript in your prompt for the skill to use directly.
**The output file is too large to share via Google Drive.**
Request a compressed export in your prompt — for example, 'export at 1080p with standard compression for web sharing.' This typically reduces file size significantly without noticeable quality loss.
## Frequently Asked Questions
**What video formats does google-video-maker support?**
You can upload files in mp4, mov, avi, webm, and mkv formats. If your file is in a less common format, convert it to one of these before uploading for best results.
**Can I add my own branding to videos?**
Yes — you can request custom text overlays, logo placement instructions, and color-matched lower thirds. Just describe your brand style in your prompt and the skill will apply it consistently across the video.
**Is this skill designed specifically for YouTube or Google Drive outputs?**
Google Video Maker is optimized for Google ecosystem formats, including standard YouTube resolutions (1080p, 720p) and aspect ratios (16:9, 9:16 for Shorts). You can also request custom export dimensions for other platforms.
**How long can my source video be?**
There's no strict cap on source video length, but longer files may take more processing time. For best performance, keep source clips under 30 minutes or split longer recordings into segments before uploading.