Install
openclaw skills install text-to-video-brainrotTurn a short text script like 'sigma male grindset tip #47' into 1080p brainrot style videos just by typing what you need. Whether it's generating viral brainrot videos from text scripts or quick social content, drop your text prompt and describe the result you want. No timeline dragging, no export settings — 30-60 seconds from upload to download.
openclaw skills install text-to-video-brainrotShare your text prompt and I'll get started on brainrot video generation. Or just tell me what you're thinking.
Try saying:
On first interaction, connect to the processing 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: 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).
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.
Confirm to the user you're connected and ready. Don't print tokens or raw JSON.
This tool takes your text prompt and runs brainrot video generation through a cloud rendering pipeline. You upload, describe what you want, and download the result.
Say you have a short text script like 'sigma male grindset tip #47' and want to turn my text into a brainrot-style video with subway surfers gameplay and TTS voiceover — the backend processes it in about 30-60 seconds and hands you a 1080p MP4.
Tip: shorter scripts under 60 words produce the tightest, most viral-feeling clips.
User prompts referencing text to video brainrot, aspect ratio, text overlays, or audio tracks get routed to the corresponding action via keyword and intent classification.
| 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 | ❌ |
Each 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.
Base URL: https://mega-api-prod.nemovideo.ai
| Endpoint | Method | Purpose |
|---|---|---|
/api/tasks/me/with-session/nemo_agent | POST | Start a new editing session. Body: {"task_name":"project","language":"<lang>"}. Returns session_id. |
/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. |
/api/upload-video/nemo_agent/me/<sid> | POST | Upload a file (multipart) or URL. |
/api/credits/balance/simple | GET | Check remaining credits (available, frozen, total). |
/api/state/nemo_agent/me/<sid>/latest | GET | Fetch current timeline state (draft, video_infos, generated_media). |
/api/render/proxy/lambda | POST | Start export. Body: {"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}. Poll status every 30s. |
Accepted file types: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.
Headers are derived from this file's YAML frontmatter. X-Skill-Source is text-to-video-brainrot, 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).
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.
| 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 |
| 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 responds as if there's a visual interface. Map its instructions to API calls:
Draft JSON uses short keys: t for tracks, tt for track type (0=video, 1=audio, 7=text), sg for segments, d for duration in ms, m for metadata.
Example timeline summary:
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
Quick edit: Upload → "turn my text into a brainrot-style video with subway surfers gameplay and TTS voiceover" → Download MP4. Takes 30-60 seconds for a 30-second clip.
Batch style: Upload multiple files in one session. Process them one by one with different instructions. Each gets its own render.
Iterative: Start with a rough cut, preview the result, then refine. The session keeps your timeline state so you can keep tweaking.
The backend processes faster when you're specific. Instead of "make it look better", try "turn my text into a brainrot-style video with subway surfers gameplay and TTS voiceover" — concrete instructions get better results.
Max file size is 10MB. Stick to TXT, DOCX, PDF, plain text for the smoothest experience.
Export as MP4 for widest compatibility across TikTok, YouTube Shorts, and Instagram Reels.