Caption Generator Adobe

v1.0.0

add video files into captioned video files with this skill. Works with MP4, MOV, AVI, WebM files up to 500MB. video editors and content creators use it for a...

0· 40·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill's name/description (auto-generate and burn-in captions) matches the runtime instructions: uploading video files, creating a session, using render/export endpoints, and returning download URLs. Requesting a single service token (NEMO_TOKEN) is proportionate for authenticating to the described API. Note: the SKILL.md frontmatter includes a configPaths entry (~/.config/nemovideo/) while the registry metadata earlier stated none — this is an internal inconsistency but does not by itself contradict purpose.
Instruction Scope
Instructions stay within the captioning workflow (auth, session creation, SSE chat, upload, export, polling). They explicitly instruct uploading user video/audio/image files to the nemovideo domain and sending Authorization and three attribution headers. This is expected for a cloud render service, but it means user media and any token present will be transmitted externally. The doc also asks the agent to auto-detect an install path for the X-Skill-Platform header, which could require reading environment/install path info — minor scope expansion worth noting.
Install Mechanism
Instruction-only skill with no install spec and no code files — lowest install risk. There is no downloading or writing of third-party binaries specified.
Credentials
Only NEMO_TOKEN is required/declared (primaryEnv). That is expected for a service-backed captioning tool. The skill will also create an anonymous token if no NEMO_TOKEN is present. No other unrelated credentials or secrets are requested. Reminder: a provided NEMO_TOKEN grants API access to the external service and can be used to list credits, create exports, etc.
Persistence & Privilege
always:false and user-invocable:true (defaults) — the skill is not forced into every agent run. It does not request to modify other skills or system-wide settings and includes no persistent install steps.
Assessment
This skill appears to do what it says: it uploads your media to a nemo-video backend and returns captioned/burned-in outputs. Before installing or invoking it: (1) understand that your video/audio files and any NEMO_TOKEN you provide will be sent to https://mega-api-prod.nemovideo.ai; (2) consider using an anonymous token or a separate service account if you do not want to expose a primary account token; (3) note the small inconsistency where the skill frontmatter mentions a config path (~/.config/nemovideo/) although the registry metadata did not — verify whether the skill will read that path if you are concerned about local config access; (4) review the service's privacy/retention policy if you are uploading sensitive content. If you want, I can extract the exact API calls and headers the skill expects so you can review them before use.

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

Runtime requirements

🎬 Clawdis
EnvNEMO_TOKEN
Primary envNEMO_TOKEN
latestvk97a73sf2njsjkgy40a46c9m0d84whbs
40downloads
0stars
1versions
Updated 4d ago
v1.0.0
MIT-0

Getting Started

Ready when you are. Drop your video files here or describe what you want to make.

Try saying:

  • "add a 3-minute MP4 tutorial video into a 1080p MP4"
  • "auto-generate captions and burn them into the video like Adobe Premiere"
  • "adding burned-in captions to videos without Adobe Premiere for video editors and content creators"

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.

Caption Generator Adobe — Auto-Generate and Burn In Captions

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

Say you have a 3-minute MP4 tutorial video and want to auto-generate captions and burn them into the video like Adobe Premiere — the backend processes it in about 30-60 seconds and hands you a 1080p MP4.

Tip: clear audio with minimal background noise improves caption accuracy significantly.

Matching Input to Actions

User prompts referencing caption generator adobe, 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-Sourcecaption-generator-adobe
X-Skill-Versionfrontmatter version
X-Skill-Platformauto-detect: clawhub / cursor / unknown from install path

Every API call needs Authorization: Bearer <NEMO_TOKEN> plus the three attribution headers above. If any header is missing, exports return 402.

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

Reading the SSE Stream

Text events go straight to the user (after GUI translation). Tool calls stay internal. Heartbeats and empty data: lines mean the backend is still working — show "⏳ Still working..." every 2 minutes.

About 30% of edit operations close the stream without any text. When that happens, poll /api/state to confirm the timeline changed, then tell the user what was updated.

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 → "auto-generate captions and burn them into the video like Adobe Premiere" → 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.

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "auto-generate captions and burn them into the video like Adobe Premiere" — 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 across platforms and devices.

Comments

Loading comments...