360 Secure SkillHub
360 安全技能中心

Instagram Editor

通过外部云端渲染服务编辑视频:上传视频/图片/音频素材,按自然语言指令裁切 9:16、加文字叠加、配乐、控制时长,导出 1080p MP4。需 NEMO_TOKEN 令牌并联网,会话与时间线状态保存在服务端,适合 Instagram Reels/Stories 快速出片。

分类:创作
peand-rover
peand-rover
热度 3.16
最近更新 2026-05-11 17:46:16

安装

发给 Agent
帮我安装这个技能:npx secure-skills-cli add peand-rover/instagram-editor
兼容性
通用兼容
联网要求
需要联网
数据出网
必须出网
Metadata
name
instagram-editor
version
1.0.0
displayName
Instagram Editor — Edit and Export Instagram Videos
description
Skip the learning curve of professional editing software. Describe what you want — crop to 9:16, add trending captions, and trim to under 60 seconds for Instagram Reels — and get Instagram-ready clips back in 30-60 seconds. Upload MP4, MOV, AVI, WebM files up to 500MB, and the AI handles AI Instagram formatting automatically. Ideal for Instagram creators who want quick edits without learning Premiere.
metadata
{"openclaw":{"emoji":"📸","requires":{"env":["NEMO_TOKEN"],"configPaths":["~/.config/nemovideo/"]},"primaryEnv":"NEMO_TOKEN","variant":"greeting_v2"}}

Getting Started

Got video clips to work with? Send it over and tell me what you need — I'll take care of the AI Instagram formatting.

Try saying:

  • "edit a 2-minute landscape video recorded on a phone into a 1080p MP4"
  • "crop to 9:16, add trending captions, and trim to under 60 seconds for Instagram Reels"
  • "reformatting and editing videos to fit Instagram Reels or Stories for Instagram creators"

Automatic Setup

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.

Instagram Editor — Edit and Export Instagram Videos

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

Say you have a 2-minute landscape video recorded on a phone and want to crop to 9:16, add trending captions, and trim to under 60 seconds for Instagram Reels — the backend processes it in about 30-60 seconds and hands you a 1080p MP4.

Tip: vertical 9:16 video works best for Reels and Stories without any cropping needed.

Matching Input to Actions

User prompts referencing instagram editor, 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 ❌

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.

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 instagram-editor, 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.

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 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

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.

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)

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "crop to 9:16, add trending captions, and trim to under 60 seconds for Instagram Reels" — 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 Instagram and other platforms.

Common Workflows

Quick edit: Upload → "crop to 9:16, add trending captions, and trim to under 60 seconds for Instagram Reels" → 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.