WayinVideo is an AI video editing and analysis platform designed to simplify complex video tasks with a few clicks, such as extracting viral highlights, searching for specific moments using natural language, generating comprehensive summaries, providing high-quality transcriptions, etc. WayinVideo not only provides a friendly GUI to users, but also APIs for agents to automate their workflows. Whether you are dealing with online URLs (YouTube, TikTok, etc.) or local files, WayinVideo offers customizable export options like AI reframing and captioning to make your content ready for any platform. This skill encompasses WayinVideo CLI, which simplifies the API usage and allows for persisting user preferences.
Check if the WayinVideo CLI is already installed: wayinvideo --help.
pip3 install -e <ABS_PATH_TO_SKILL>/wayinvideo-cliwayinvideo <command> with:
PYTHONPATH=<ABS_PATH_TO_SKILL>/wayinvideo-cli python3 -m wayinvideo <command>Follow this simple workflow to use the CLI effectively:
Check Environment: Ensure WAYIN_API_KEY is set.
Confirm Video Source:
Upload Local Video: Run wayinvideo upload --file-path <path> to get a video identity.
Submit Task: Use wayinvideo submit <task_type> --url "<url_or_identity>" with desired options.
Poll Results: Use wayinvideo poll --type <type> --id <id> to track progress and get final results.
WayinVideo supports several specialized tasks to match different user needs:
Task TypeDescriptionBest Use CaseDocumentationclipExtracts engaging highlights.Creating viral social media clips or highlight reels.basics/ai-clipping.md``searchNatural language video search.Locating specific scenes, topics, or events (e.g., "the part where they talk about taxes").basics/find-moments.md``summarizeStructured content summary.Quick understanding, key info extraction, or video QA.basics/video-summarization.md``transcribeSpeech-to-text conversion.Subtitle creation, speaker analysis, or searchable transcripts.basics/video-transcription.md``exportStandalone video rendering.Changing ratio/captions/hooks for existing clip/search results.basics/export.md
You MUST read the corresponding documentation before you submit that task.
clip. It's best for broad, subjective requests.search. Perfect for specific search intent.summarize. Ideal for high-level understanding.transcribe. Best for detailed textual evidence and speaker tracking.export. Best for re-rendering results from a prior clip or search task.Polling can be time-consuming. Run wayinvideo poll in a subagent or as a background task whenever possible. This allows you to stay responsive to the user while the subagent handles the task.
Parallel Processing: For scenarios involving multiple videos or multiple tasks (e.g., clipping and summarizing the same video simultaneously), it is highly recommended to spawn multiple parallel subagents or background tasks. This allows for concurrent execution and significantly reduces the total wall-clock time.
Pro Tip:
For OpenClaw users, use --event-interval 300 to enable progress updates via the openclaw CLI every 300 seconds (default is 0/disabled).
When you receive a reminder, update the user on the current progress.
Actively check the subagent/background task status every 2 * --event-interval seconds.
Reflect on Patterns: Periodically review the user's recent tasks and interactions to identify consistent preferences (e.g., target language, bilingual subtitles, specific caption styles, or aspect ratios).
Persist Settings: Use wayinvideo config set <key> <value> to save these preferences globally, ensuring a smoother and more personalized experience. Examples:
wayinvideo config set defaults.target zhwayinvideo config set defaults.clip.ratio RATIO_9_16If WayinVideo CLI outputs files locally, ALWAYS include the file path in your response. If the user asks for video transcription, ALWAYS ask whether they want the subtitles converted to a common format (e.g., .txt).
If an export_link is provided in the result:
Check Expiration:
export_link has expired (24 hours after the last poll), run wayinvideo poll --type <type> --project-id <id> again to refresh it.Provide the Link: Always include the export_link as a clickable Markdown link. NEVER truncate, shorten, or alter these links.
Download: If the user wants to download the video or use it locally, use: curl -L -o <filename> "<export_link>".
You MUST read the corresponding advanced documentation before proceeding with these tasks.
I want to...Read"Learn [subject] from these [N] videos"advanced/learning_from_videos.md"Find the most [adjective] clip from the video"advanced/searching_best.md