Agent Skills › anymouschina/TapCanvas › tapcanvas-parse-video

tapcanvas-parse-video

GitHub

将视频分享链接或直接URL导入TapCanvas画布,通过服务端解析并托管媒体资源,创建视频节点。

apps/agents-cli/skills/tapcanvas-parse-video/SKILL.md anymouschina/TapCanvas

Trigger Scenarios

用户请求下载或导入视频到画布 用户提供视频分享链接需要解析

Install

npx skills add anymouschina/TapCanvas --skill tapcanvas-parse-video -g -y
More Options

Non-standard path

npx skills add https://github.com/anymouschina/TapCanvas/tree/main/apps/agents-cli/skills/tapcanvas-parse-video -g -y

Use without installing

npx skills use anymouschina/TapCanvas@tapcanvas-parse-video

指定 Agent (Claude Code)

npx skills add anymouschina/TapCanvas --skill tapcanvas-parse-video -a claude-code -g -y

安装 repo 全部 skill

npx skills add anymouschina/TapCanvas --all -g -y

预览 repo 内 skill

npx skills add anymouschina/TapCanvas --list

SKILL.md

Frontmatter
{
    "name": "tapcanvas-parse-video",
    "description": "Import a video share link or direct video URL into the current TapCanvas canvas as a hosted video node."
}

TapCanvas video import

Use this skill when the user asks to download, import, save, or bring a video share link/video URL onto the current TapCanvas canvas.

Execution contract

Call the remote tool tapcanvas_parse_video_to_canvas through the normal agents bridge. Pass exactly one of:

  • shareUrl: a share page URL or text containing a share URL. The API sends it to the private Go parse-video service, which resolves the platform media URL server-side.
  • videoUrl: an already direct http(s) video URL.

Optional arguments are title, nodeId, and a numeric position ({x, y}). If no position is supplied, the API uses the canvas origin. The tool downloads the media, streams it into configured object storage, registers an asset, and creates a taskNode with data.kind: "video", a hosted videoUrl, and provenance metadata. A repeated import of the same URL reuses its deterministic node when it is already present.

Only report success after the tool returns ok: true with nodeId and assetId. The tool response is the source of truth for the canvas write; do not claim that a link was downloaded from a plan or from a text-only response.

Scope and failure handling

  • A current authorized project canvas (canvasProjectId and canvasFlowId) is required. For a chapter conversation, use the chapter canvas scope supplied by the bridge.
  • Do not use browser automation, scrape the share page in the client, or write a raw URL with tapcanvas_flow_patch. The resolver and hosting operation must stay on the server.
  • Do not silently switch to another downloader or model. If the resolver, download, object storage, or canvas write fails, surface the returned error and its code.
  • A direct URL must be an absolute http(s) URL. Share text that cannot be resolved is an explicit parse failure.
  • Importing a video is a canvas mutation, not a media-analysis request. Use tapcanvas_fetch_video_from_url only when the user asks to fetch a stable URL for analysis and does not ask to place it on the canvas.

Remote callers

An external caller can invoke /agents/tools/execute with:

{
  "toolName": "tapcanvas_parse_video_to_canvas",
  "args": { "shareUrl": "https://…", "title": "可选标题" },
  "canvasProjectId": "<project-id>",
  "canvasFlowId": "<flow-id>"
}

The caller must authenticate as the project user and preserve the returned nodeId/assetId as the durable result. The response data.videoUrl is the hosted asset URL for integrations that need it; the model-facing content intentionally reports the node and asset identifiers instead.

See deployment.md for the production service boundary and environment contract.

Guided remix mode

When the request also asks to learn the reference and continue it, treat the import as the first step of a guided remix rather than ending after the download:

  1. Import the source with tapcanvas_parse_video_to_canvas and keep the returned nodeId as the reference identity.
  2. Use the existing video-analysis tools on that node (content/understanding, shot decomposition, and director-breakdown as needed). Keep visible observations separate from model inferences; never invent missing shots or dialogue.
  3. For a selected role, first choose 2–3 evidence timestamps from the analysis and call tapcanvas_video_extract_frames with those timestamps. This creates real, project-owned image assets (assetId/referenceId) from the source video. Inspect the candidates with tapcanvas_analyze_image when the role identity or frame quality matters, then call tapcanvas_asset_add_to_canvas for each accepted frame with referenceRole: "identity" so the original pixels are visible and reusable on the current canvas. Put the factual provenance in the node data when known (referenceType: "character", characterAssetRole: "identity_evidence", the confirmed roleName, sourceVideoNodeId, and sourceTimeSec); do not promote the frame to character-card/v3 merely by naming it. These direct frames are the default role assets for extraction and remix work; do not call tapcanvas-character-card or any image-generation tool merely because a role was extracted. Call the character-card skill only when the user explicitly asks for a canonical four-view/neutral identity board (or another downstream contract explicitly requires that derived asset), and then pass the already-verified frame IDs as references. Text-only cast descriptions are not character image assets; never fabricate a portrait when no frame evidence exists.

Role asset decision boundary

Keep the two deliverables separate:

  • Direct evidence asset: an exact frame from the source video, stored as a project image asset and optionally placed on the canvas. This preserves the source actor, hairstyle, clothing, lighting, expression, and continuity cues. It does not spend image-generation quota.
  • Canonical character card: a derived character-card/v3 / identity-board/v3 image generated from verified references to produce a neutral four-view board. This is an optional derivative, not a prerequisite for extraction.

Use the direct evidence path when the user says “提取角色图/关键帧/原片人物/保留原片造型” or asks to use the reference for a remix. Use the canonical-card path only when the user explicitly says “生成角色卡/四视图身份板/规范化角色资产”, or a later workflow has a confirmed requirement for that exact contract. If the canonical generation fails, the verified direct evidence assets remain the valid deliverable and must still be used for the requested remix; do not retry generation or create an empty placeholder solely to replace them. 4. Persist the accepted analysis and the selected character/scene/style facts into the current project using the existing project/canvas asset tools. The imported video node remains the provenance anchor; do not overwrite it. 5. Ask for one decision at a time, only where the next production step needs user intent. A practical order is: continuation premise, characters to retain or redesign, location/scene, visual tone and camera language, target duration/aspect, dialogue/audio preference, then first-video validation or full output. Show concrete options plus a custom option, and wait for the user's answer before freezing that choice. 6. After the choices are complete, freeze the user's delivery contract with the normal agents workflow. Start the currently equipped video Workflow IR once; do not call a naked video generator or create a parallel local pipeline. 7. Continue from the workflow receipt until a real video URL is persisted on the target canvas node and delivery verification is satisfied. If the user chooses first-video validation, stop at that explicitly chosen scope and offer the next continuation choice; do not silently generate the whole film.

The reference teaches transferable mechanisms (story beats, reveal timing, lighting/camera behavior, character continuity), not a shot-for-shot copy. Replace the event causality, character circumstances, and visual identity enough to make the continuation an original work. If source evidence is incomplete, label the gap and ask whether to proceed with the verified subset; do not fill it with plausible details.

Version History

  • 2.0.1 Current 2026-09-22 10:28

Same Skill Collection

apps/agents-cli/skills/aesthetic-audit/SKILL.md
apps/agents-cli/skills/agent-builder/SKILL.md
apps/agents-cli/skills/agents-team-book-metadata/SKILL.md
apps/agents-cli/skills/agents-team/SKILL.md
apps/agents-cli/skills/cinematic-feel-director/SKILL.md
apps/agents-cli/skills/code-review/SKILL.md
apps/agents-cli/skills/cognitive-memory/SKILL.md
apps/agents-cli/skills/ecom-details-image/SKILL.md
apps/agents-cli/skills/evolver/SKILL.md
apps/agents-cli/skills/generate-media/SKILL.md
apps/agents-cli/skills/gpt-image-2-gen/SKILL.md
apps/agents-cli/skills/khazix-writer/SKILL.md
apps/agents-cli/skills/long-running-app-harness/SKILL.md
apps/agents-cli/skills/mcp-builder/SKILL.md
apps/agents-cli/skills/pdf/SKILL.md
apps/agents-cli/skills/seamless-transition-director/SKILL.md
apps/agents-cli/skills/seedance-2-video-gen/SKILL.md
apps/agents-cli/skills/seedance-3d-cartoon/SKILL.md
apps/agents-cli/skills/seedance-car-vehicle/SKILL.md
apps/agents-cli/skills/seedance-emotion-director/SKILL.md
apps/agents-cli/skills/seedance-epic-fantasy-scifi/SKILL.md
apps/agents-cli/skills/seedance-fashion-lookbook/SKILL.md
apps/agents-cli/skills/seedance-horror-suspense/SKILL.md
apps/agents-cli/skills/seedance-meme-comedy/SKILL.md
apps/agents-cli/skills/seedance-pet-animal/SKILL.md
apps/agents-cli/skills/seedance-retro-dv-home-video/SKILL.md
apps/agents-cli/skills/seedance-sports-extreme/SKILL.md
apps/agents-cli/skills/seedance-storyboard-grid-to-video/SKILL.md
apps/agents-cli/skills/seedance-travel-city-walk/SKILL.md
apps/agents-cli/skills/skill-creator/SKILL.md
apps/agents-cli/skills/tapcanvas-api/SKILL.md
apps/agents-cli/skills/tapcanvas-character-card/SKILL.md
apps/agents-cli/skills/tapcanvas-collage-local/SKILL.md
apps/agents-cli/skills/tapcanvas-continuity/SKILL.md
apps/agents-cli/skills/tapcanvas-design-to-web/SKILL.md
apps/agents-cli/skills/tapcanvas-dialogue-drama/SKILL.md
apps/agents-cli/skills/tapcanvas-dramatic-adapter/SKILL.md
apps/agents-cli/skills/tapcanvas-generate-scene-references/SKILL.md
apps/agents-cli/skills/tapcanvas-generate-shot-placeholders/SKILL.md
apps/agents-cli/skills/tapcanvas-high-energy-action/SKILL.md
apps/agents-cli/skills/tapcanvas-prompt-specialists/SKILL.md
apps/agents-cli/skills/tapcanvas-prop-card/SKILL.md
apps/agents-cli/skills/tapcanvas-public-chat/SKILL.md
apps/agents-cli/skills/tapcanvas-scene-card/SKILL.md
apps/agents-cli/skills/tapcanvas-screenwriter/SKILL.md
apps/agents-cli/skills/tapcanvas-source-coverage/SKILL.md
apps/agents-cli/skills/tapcanvas-storyboard-expert/SKILL.md
apps/agents-cli/skills/tapcanvas-style-pack/SKILL.md
apps/agents-cli/skills/tapcanvas-video-authoring-stages/SKILL.md

Metadata

Files
0
Version
2.0.1
Hash
19882c76
Indexed
2026-09-22 10:28

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-28 14:36
浙ICP备14020137号-1