{"skill":{"slug":"mockup-video-generator-free","displayName":"Mockup Video Generator Free","summary":"Skip the learning curve of professional editing software. Describe what you want — place my app screenshots into a realistic phone mockup video — and get moc...","description":"---\nname: mockup-video-generator-free\nversion: \"1.0.0\"\ndisplayName: \"Mockup Video Generator Free — Turn images into mockup videos\"\ndescription: >\n  Skip the learning curve of professional editing software. Describe what you want — place my app screenshots into a realistic phone mockup video — and get mockup demo videos back in 30-60 seconds. Upload PNG, JPG, MP4, MOV files up to 200MB, and the AI handles mockup video generation automatically. Ideal for app developers, marketers, product designers who want professional-looking demo videos without expensive software or design skills.\nmetadata: {\"openclaw\": {\"emoji\": \"📱\", \"requires\": {\"env\": [\"NEMO_TOKEN\"], \"configPaths\": [\"~/.config/nemovideo/\"]}, \"primaryEnv\": \"NEMO_TOKEN\", \"variant\": \"greeting_v2\"}}\n---\n\n## Getting Started\n\n> Got product images to work with? Send it over and tell me what you need — I'll take care of the mockup video generation.\n\n**Try saying:**\n- \"generate three product photos of a mobile app screen into a 1080p MP4\"\n- \"place my app screenshots into a realistic phone mockup video\"\n- \"creating product mockup videos from screenshots or images for app developers, marketers, product designers\"\n\n### Automatic Setup\n\nOn first interaction, connect to the processing API before doing anything else. Show a brief status like \"Setting things up...\".\n\n**Token**: If `NEMO_TOKEN` environment variable is already set, use it and skip to **Session** below.\n\n**Free token**: Generate a UUID as client identifier, then POST to `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with header `X-Client-Id: <uuid>`. The response field `data.token` becomes your NEMO_TOKEN (100 credits, 7-day expiry).\n\n**Session**: POST to `https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent` with Bearer auth and body `{\"task_name\":\"project\"}`. Save `session_id` from the response.\n\nConfirm to the user you're connected and ready. Don't print tokens or raw JSON.\n\n# Mockup Video Generator Free — Turn images into mockup videos\n\nThis tool takes your product images and runs mockup video generation through a cloud rendering pipeline. You upload, describe what you want, and download the result.\n\nSay you have three product photos of a mobile app screen and want to place my app screenshots into a realistic phone mockup video — the backend processes it in about 30-60 seconds and hands you a 1080p MP4.\n\nTip: use clean, high-resolution images for sharper mockup results.\n\n## Matching Input to Actions\n\nUser prompts referencing mockup video generator free, aspect ratio, text overlays, or audio tracks get routed to the corresponding action via keyword and intent classification.\n\n| User says... | Action | Skip SSE? |\n|-------------|--------|----------|\n| \"export\" / \"导出\" / \"download\" / \"send me the video\" | → §3.5 Export | ✅ |\n| \"credits\" / \"积分\" / \"balance\" / \"余额\" | → §3.3 Credits | ✅ |\n| \"status\" / \"状态\" / \"show tracks\" | → §3.4 State | ✅ |\n| \"upload\" / \"上传\" / user sends file | → §3.2 Upload | ✅ |\n| Everything else (generate, edit, add BGM…) | → §3.1 SSE | ❌ |\n\n## Cloud Render Pipeline Details\n\nEach export job queues on a cloud GPU node that composites video layers, applies platform-spec compression (H.264, up to 1080x1920), and returns a download URL within 30-90 seconds. The session token carries render job IDs, so closing the tab before completion orphans the job.\n\nBase URL: `https://mega-api-prod.nemovideo.ai`\n\n| Endpoint | Method | Purpose |\n|----------|--------|---------|\n| `/api/tasks/me/with-session/nemo_agent` | POST | Start a new editing session. Body: `{\"task_name\":\"project\",\"language\":\"<lang>\"}`. Returns `session_id`. |\n| `/run_sse` | POST | Send a user message. Body includes `app_name`, `session_id`, `new_message`. Stream response with `Accept: text/event-stream`. Timeout: 15 min. |\n| `/api/upload-video/nemo_agent/me/<sid>` | POST | Upload a file (multipart) or URL. |\n| `/api/credits/balance/simple` | GET | Check remaining credits (`available`, `frozen`, `total`). |\n| `/api/state/nemo_agent/me/<sid>/latest` | GET | Fetch current timeline state (`draft`, `video_infos`, `generated_media`). |\n| `/api/render/proxy/lambda` | POST | Start export. Body: `{\"id\":\"render_<ts>\",\"sessionId\":\"<sid>\",\"draft\":<json>,\"output\":{\"format\":\"mp4\",\"quality\":\"high\"}}`. Poll status every 30s. |\n\nAccepted file types: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.\n\nHeaders are derived from this file's YAML frontmatter. `X-Skill-Source` is `mockup-video-generator-free`, `X-Skill-Version` comes from the `version` field, and `X-Skill-Platform` is detected from the install path (`~/.clawhub/` = `clawhub`, `~/.cursor/skills/` = `cursor`, otherwise `unknown`).\n\nInclude `Authorization: Bearer <NEMO_TOKEN>` and all attribution headers on every request — omitting them triggers a 402 on export.\n\n### Error Handling\n\n| Code | Meaning | Action |\n|------|---------|--------|\n| 0 | Success | Continue |\n| 1001 | Bad/expired token | Re-auth via anonymous-token (tokens expire after 7 days) |\n| 1002 | Session not found | New session §3.0 |\n| 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\" |\n| 4001 | Unsupported file | Show supported formats |\n| 4002 | File too large | Suggest compress/trim |\n| 400 | Missing X-Client-Id | Generate Client-Id and retry (see §1) |\n| 402 | Free plan export blocked | Subscription tier issue, NOT credits. \"Register or upgrade your plan to unlock export.\" |\n| 429 | Rate limit (1 token/client/7 days) | Retry in 30s once |\n\n### SSE Event Handling\n\n| Event | Action |\n|-------|--------|\n| Text response | Apply GUI translation (§4), present to user |\n| Tool call/result | Process internally, don't forward |\n| `heartbeat` / empty `data:` | Keep waiting. Every 2 min: \"⏳ Still working...\" |\n| Stream closes | Process final response |\n\n~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.\n\n### Backend Response Translation\n\nThe backend assumes a GUI exists. Translate these into API actions:\n\n| Backend says | You do |\n|-------------|--------|\n| \"click [button]\" / \"点击\" | Execute via API |\n| \"open [panel]\" / \"打开\" | Query session state |\n| \"drag/drop\" / \"拖拽\" | Send edit via SSE |\n| \"preview in timeline\" | Show track summary |\n| \"Export button\" / \"导出\" | Execute export workflow |\n\n**Draft field mapping**: `t`=tracks, `tt`=track type (0=video, 1=audio, 7=text), `sg`=segments, `d`=duration(ms), `m`=metadata.\n\n```\nTimeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: \"Urban Dreams\" (0-3s)\n```\n\n## Common Workflows\n\n**Quick edit**: Upload → \"place my app screenshots into a realistic phone mockup video\" → Download MP4. Takes 30-60 seconds for a 30-second clip.\n\n**Batch style**: Upload multiple files in one session. Process them one by one with different instructions. Each gets its own render.\n\n**Iterative**: Start with a rough cut, preview the result, then refine. The session keeps your timeline state so you can keep tweaking.\n\n## Tips and Tricks\n\nThe backend processes faster when you're specific. Instead of \"make it look better\", try \"place my app screenshots into a realistic phone mockup video\" — concrete instructions get better results.\n\nMax file size is 200MB. Stick to PNG, JPG, MP4, MOV for the smoothest experience.\n\nExport as MP4 for widest compatibility across social and app store platforms.\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":313,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1777591159458,"updatedAt":1778492818233},"latestVersion":{"version":"1.0.0","createdAt":1777591159458,"changelog":"Initial release of Mockup Video Generator Free.\n\n- Instantly turn your app screenshots and product images into professional mockup demo videos.\n- Supports PNG, JPG, MP4, MOV uploads up to 200MB; auto-generates 1080p MP4 videos in 30–60 seconds.\n- Automatic cloud rendering pipeline—no editing skills or expensive software required.\n- Built-in workflow for file uploading, session management, balance checking, and exporting videos.\n- Ideal for app developers, marketers, and product designers wanting quick, high-quality mockup videos.","license":"MIT-0"},"metadata":{"setup":[{"key":"NEMO_TOKEN","required":true}],"os":null,"systems":null},"owner":{"handle":"peand-rover","userId":"s1798dk1219d0v445rb778f65d83gn1w","displayName":"peandrover adam","image":"https://avatars.githubusercontent.com/u/257755799?v=4"},"moderation":null}