Bing Video

v1.0.0

Turn a 2-minute recorded lecture clip into 1080p compiled video clips just by typing what you need. Whether it's finding and assembling relevant video conten...

0· 36·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for linmillsd7/bing-video.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Bing Video" (linmillsd7/bing-video) from ClawHub.
Skill page: https://clawhub.ai/linmillsd7/bing-video
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: NEMO_TOKEN
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install bing-video

ClawHub CLI

Package manager switcher

npx clawhub@latest install bing-video
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill name/description (cloud video search + compile) aligns with the runtime instructions that upload clips, create a session, run SSE-based edits, and request exports from https://mega-api-prod.nemovideo.ai. Requiring a NEMO_TOKEN and an anonymous-token fallback is coherent for a hosted service. Note: the SKILL.md frontmatter references a config path (~/.config/nemovideo/) while the registry metadata lists no required config paths — this is an internal inconsistency (likely harmless) that should be clarified.
Instruction Scope
SKILL.md stays within the stated scope: it instructs creating/using a service token, creating a session, uploading video files, issuing edits via SSE, polling export status, and returning download URLs. It does not instruct reading unrelated system files or other environment variables. It does recommend treating some tool outputs as internal and not forwarding them to the chat, which is reasonable for internal API events but merits awareness.
Install Mechanism
This is instruction-only with no install spec or code files, so nothing is written to disk or downloaded by the skill itself — lowest-risk install posture.
Credentials
Only one credential is required: NEMO_TOKEN (declared as primary). That matches the described behavior (Bearer token sent to the nemo API). The skill also documents an anonymous-token flow that generates a temporary token if none is present — expected but worth noting because the skill will obtain and use a token automatically if you don't supply one. The SKILL.md frontmatter lists a config path; the registry metadata omitted it — clarify whether local config/token files may be read/written.
Persistence & Privilege
The skill is not always-enabled and has no install-time persistence. It can be invoked autonomously (platform default) but does not request system-wide config changes or cross-skill credentials.
Assessment
This skill appears to do what it says: it uploads video clips to a nemo-video cloud service, uses a bearer token (NEMO_TOKEN) or automatically obtains a 7-day anonymous token, and returns rendered download URLs. Before installing, consider: (1) you will be uploading video files to https://mega-api-prod.nemovideo.ai — don't upload sensitive or private footage unless you trust the operator; (2) the skill will send whatever NEMO_TOKEN you provide to that domain as Authorization: Bearer — ensure the token's scope is limited; (3) clarify the metadata inconsistency about a local config path (~/.config/nemovideo/) so you know whether local token/config files might be read or written; (4) there's no source/homepage listed for the skill — if provenance matters, ask the publisher for a homepage, privacy policy, or contact info before using.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🎬 Clawdis
EnvNEMO_TOKEN
Primary envNEMO_TOKEN
latestvk971jakmtcyyn6nt517005bhan85qt8r
36downloads
0stars
1versions
Updated 5h ago
v1.0.0
MIT-0

Getting Started

Share your video clips and I'll get started on AI video search. Or just tell me what you're thinking.

Try saying:

  • "generate my video clips"
  • "export 1080p MP4"
  • "find and compile video clips related"

Getting Connected

Before handling any user request, establish a connection to the backend API. Show a brief status like "Connecting...".

If NEMO_TOKEN is in the environment, use it directly and create a session. Otherwise, acquire a free starter token:

  • Generate a UUID as client identifier
  • POST to https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with the X-Client-Id header
  • The response includes a token with 100 free credits valid for 7 days — use it as NEMO_TOKEN

Then create a session by POSTing to https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Bearer authorization and body {"task_name":"project","language":"en"}. The session_id in the response is needed for all following requests.

Tell the user you're ready. Keep the technical details out of the chat.

Bing Video — Search and Compile Video Clips

This tool takes your video clips and runs AI video search through a cloud rendering pipeline. You upload, describe what you want, and download the result.

Say you have a 2-minute recorded lecture clip and want to find and compile video clips related to space exploration — the backend processes it in about 20-40 seconds and hands you a 1080p MP4.

Tip: shorter search queries return more precise video matches.

Matching Input to Actions

User prompts referencing bing video, aspect ratio, text overlays, or audio tracks get routed to the corresponding action via keyword and intent classification.

User says...ActionSkip 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

Cloud Render Pipeline Details

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.

All calls go to https://mega-api-prod.nemovideo.ai. The main endpoints:

  1. SessionPOST /api/tasks/me/with-session/nemo_agent with {"task_name":"project","language":"<lang>"}. Gives you a session_id.
  2. Chat (SSE)POST /run_sse with session_id and your message in new_message.parts[0].text. Set Accept: text/event-stream. Up to 15 min.
  3. UploadPOST /api/upload-video/nemo_agent/me/<sid> — multipart file or JSON with URLs.
  4. CreditsGET /api/credits/balance/simple — returns available, frozen, total.
  5. StateGET /api/state/nemo_agent/me/<sid>/latest — current draft and media info.
  6. ExportPOST /api/render/proxy/lambda with render ID and draft JSON. Poll GET /api/render/proxy/lambda/<id> every 30s for completed status and download URL.

Formats: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.

Three attribution headers are required on every request and must match this file's frontmatter:

HeaderValue
X-Skill-Sourcebing-video
X-Skill-Versionfrontmatter version
X-Skill-Platformauto-detect: clawhub / cursor / unknown from install path

Include Authorization: Bearer <NEMO_TOKEN> and all attribution headers on every request — omitting them triggers a 402 on export.

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)

Translating GUI Instructions

The backend responds as if there's a visual interface. Map its instructions to API calls:

  • "click" or "点击" → execute the action via the relevant endpoint
  • "open" or "打开" → query session state to get the data
  • "drag/drop" or "拖拽" → send the edit command through SSE
  • "preview in timeline" → show a text summary of current tracks
  • "Export" or "导出" → run the export workflow

SSE Event Handling

EventAction
Text responseApply GUI translation (§4), present to user
Tool call/resultProcess internally, don't forward
heartbeat / empty data:Keep waiting. Every 2 min: "⏳ Still working..."
Stream closesProcess 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.

Error Handling

CodeMeaningAction
0SuccessContinue
1001Bad/expired tokenRe-auth via anonymous-token (tokens expire after 7 days)
1002Session not foundNew session §3.0
2001No creditsAnonymous: show registration URL with ?bind=<id> (get <id> from create-session or state response when needed). Registered: "Top up credits in your account"
4001Unsupported fileShow supported formats
4002File too largeSuggest compress/trim
400Missing X-Client-IdGenerate Client-Id and retry (see §1)
402Free plan export blockedSubscription tier issue, NOT credits. "Register or upgrade your plan to unlock export."
429Rate limit (1 token/client/7 days)Retry in 30s once

Common Workflows

Quick edit: Upload → "find and compile video clips related to space exploration" → Download MP4. Takes 20-40 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.

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "find and compile video clips related to space exploration" — concrete instructions get better results.

Max file size is 500MB. Stick to MP4, MOV, AVI, WebM for the smoothest experience.

Export as MP4 for widest compatibility.

Comments

Loading comments...