← 返回 Skills 市场
sdk-team

Alibabacloud Bailian Videoanalysis

作者 alibabacloud-skills-team · GitHub ↗ · v0.0.2 · MIT-0
cross-platform ⚠ suspicious
96
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install alibabacloud-bailian-videoanalysis
功能描述
Alibaba Cloud Bailian Video Analysis Skill. Use for intelligent video comprehension and analysis via the Bailian (QuanMiaoLightApp) API. **Required API Produ...
使用说明 (SKILL.md)

Bailian Video Analysis

This skill provides video analysis functionality based on Alibaba Cloud Bailian Video Analysis Light Application. It uses the Bailian (QuanMiaoLightApp) API for intelligent video comprehension, including shot analysis, ASR transcription, title generation, caption extraction, and mind mapping.

Architecture: CLI (Credential Chain) + OSS (File Storage) + Bailian Workspace + Quanmiao Video Analysis Service + Python SDK Scripts


Output Language Policy

Detection Priority: User input language → Environment language → Default: Chinese (中文)

Apply to: All user-facing messages, summaries, error explanations, and interactive prompts.

Keep original language: Code snippets, API responses, file paths, technical identifiers, HTTP status codes.


Installation

1. Python Dependencies

python -m pip install -r scripts/requirements.txt
# On some systems, use pyhon3 instead of python

2. Alibaba Cloud CLI

Pre-check: Aliyun CLI >= 3.3.1 required Run aliyun version to verify >= 3.3.1. If not installed or version too low, see references/cli-installation-guide.md for installation instructions. Then [MUST] run aliyun configure set --auto-plugin-install true to enable automatic plugin installation.

AI-Mode Configuration for aliyun CLI

When using the aliyun CLI in this skill, you MUST configure AI-Mode settings:

# Enable AI-Mode (required before using CLI commands)
aliyun configure ai-mode enable

# Set User-Agent for tracking (required)
aliyun configure ai-mode set-user-agent AlibabaCloud-Agent-Skills/alibabacloud-bailian-videoanalysis

# Update plugins to latest versions (recommended)
aliyun plugin update

Note: After completing your tasks, you can disable AI-Mode:

aliyun configure ai-mode disable

3. Important Prerequisite: Activate Bailian and Video Analysis Service

Before using this skill, you must first activate the Video Analysis service in the Alibaba Cloud Bailian console!

  1. Visit Bailian Video_Analysis page
  2. Click the "Paid activation" button
  3. Confirm activation and wait for the service to take effect (usually 1-2 minutes)

4. Important Prerequisite: Guide Users to Grant Permissions in Alibaba Cloud Access Control and Bailian

Before using this skill, you must grant the following permissions to the previously configured AK, otherwise calls will fail and may cause 403 errors

1) RAM Permission Grant

See references/ram-policies.md for the full list of required RAM permissions and authorization instructions.

[MUST] Permission Failure Handling: When any command or API call fails due to permission errors at any point during execution, follow this process:

  1. Read references/ram-policies.md to get the full list of permissions required by this SKILL
  2. Use ram-permission-diagnose skill to guide the user through requesting the necessary permissions
  3. Pause and wait until the user confirms that the required permissions have been granted

2) Bailian Workspace Permission Grant

  1. Visit Alibaba Cloud Bailian Permission Management
  2. If the RAM user corresponding to the AK does not exist, click "Add User" in the upper right corner of the page, select the corresponding RAM user and click confirm to add.
  3. There is a 30s effective time after configuration, please wait patiently for a while.

Authentication

Pre-check: Alibaba Cloud Credentials Required

Security Rules:

  • NEVER read, echo, or print AK/SK values (e.g., echo $ALIBABA_CLOUD_ACCESS_KEY_ID is FORBIDDEN)
  • NEVER ask the user to input AK/SK directly in the conversation or command line
  • NEVER use aliyun configure set with literal credential values
  • ONLY use aliyun configure list to check credential status
aliyun configure list

Check the output for a valid profile (AK, STS, or OAuth identity).

If no valid profile exists, STOP here.

  1. Obtain credentials from Alibaba Cloud Console
  2. Configure credentials outside of this session (via aliyun configure in terminal or environment variables in shell profile)
  3. Return and re-run after aliyun configure list shows a valid profile

Parameter Confirmation

IMPORTANT: Parameter Confirmation — Before executing any command or API call, confirm user-provided or customizable parameters (video source, OSS bucket, oss object key). System-auto-resolved parameters (workspace_id, default OSS bucket) do NOT require explicit confirmation unless the user wants to override them.

Parameter Type Description Default / Resolution
video_source Required Local file path OR downloadable video URL N/A (user must provide)
workspace_id Auto-resolved Bailian workspace ID Auto-detected(user may override)
ossBucket Optional OSS bucket name for file upload Auto-detect from first available bucket; user may specify (e.g. --ossBucket my-bucket)
ossObjectKey Optional OSS object key for the uploaded file /temp/quanmiao/YYYYMMDD/filename
expireSeconds Optional Temporary URL expiration time (seconds) 14400 (4 hours)

Confirmation Workflow:

  1. Auto-detection first: The skill will auto-detect workspace_id and ossBucket when possible
  2. User override: If user wants to specify custom values, confirm before using
  3. Local vs URL: Confirm whether user is providing a local file path or a public URL

Core Workflow

⚠️ CRITICAL: Cloud API Mandatory — This skill MUST use Bailian (QuanMiaoLightApp) API for video analysis. Local tools (ffmpeg, whisper, OpenCV, ffprobe, mediainfo, etc.) are FORBIDDEN. If API calls fail due to credentials or permissions, follow Permission Failure Handling process — DO NOT fall back to local analysis.

Step 1: Environment Check

Run python scripts/check_env.py to verify:

  • Python packages are installed
  • Credentials are configured via default credential chain

If check_env.py fails or returns {"ready": false}:

  • Packages missing → Run python -m pip install -r scripts/requirements.txt
  • Credentials missing or invalid → Follow Permission Failure Handling process:
    1. Read references/ram-policies.md to get required permissions
    2. Use ram-permission-diagnose skill to guide user through permission request
    3. Wait for user confirmation before proceeding
    4. DO NOT proceed with local analysis tools

Expected output: {"ready": true} indicates environment is properly configured.

Step 2: Get Workspace ID

Do not ask the user for workspace_id upfront. Always auto-fetch available workspaces first:

aliyun modelstudio list-workspaces --user-agent AlibabaCloud-Agent-Skills/alibabacloud-bailian-videoanalysis

Workspace selection logic:

  • Single workspace returned → use it directly, no need to prompt the user
  • Multiple workspaces returned → display a numbered list and proceed with the following:
    1. Default behavior: Use the first workspace in the list automatically to avoid unnecessary interaction
    2. User explicitly requests selection: If the user says "let me choose workspace", "show me the workspace list", or similar, present the full list and ask them to pick one
  • No workspaces returned → inform the user that no Bailian workspace is available, guide them to create one at the Bailian Console
  • Record user selection in the session to avoid repeated inquiries

Step 3: Upload File(video_source) to OSS

Based on the input resource type from Input Resource Validation:

Case A: User provided a downloadable URL → Verify URL accessibility: Test if the URL is downloadable using appropriate method for your OS → Skip this step. Use the video_source as file_url in Step 4.

Case B: User provided a local file path → Auto-detects OSS bucket、Upload local file to OSS and get a temporary URL(file_url) for Step 4:

  • (1) Auto-detect or use user-specified OSS bucket:
    • If user specifies --ossBucket \x3Cbucket_name>, attempt to use that bucket
    • If the specified bucket returns 403 AccessDenied or BucketAlreadyExists: DO NOT switch to another bucket automatically. Instead:
      1. Inform the user that the specified bucket is not accessible
      2. Follow the Permission Failure Handling process in RAM Policy section
      3. Guide user to grant OSS bucket access permissions or specify an alternative bucket they own
      4. Wait for user confirmation before proceeding
    • If no bucket specified, auto-detect from first available bucket
aliyun ossutil ls --user-agent AlibabaCloud-Agent-Skills/alibabacloud-bailian-videoanalysis
  • (2) Upload file to OSS: Generate a unique key(oss_object_key) for the uploaded file.

IMPORTANT - Upload Path Restriction:

  • Default path: MUST use /temp/quanmiao/YYYYMMDD/filename format (auto-generated with current date)
  • Custom path: ONLY if user explicitly specifies a custom oss_object_key, otherwise always use default path
  • Security rule: NEVER upload files outside /temp/quanmiao/ prefix unless user explicitly requests it
aliyun ossutil cp \x3Cvideo_source> oss://{oss_bucket}/{oss_object_key} --user-agent AlibabaCloud-Agent-Skills/alibabacloud-bailian-videoanalysis --region {oss_region}
  • (3) Generate temporary URL: Generate a temporary URL for the uploaded file using the ossutil sign command.
    • --expireSeconds: Default 14400s (4 hours), confirm if different value needed
aliyun ossutil sign oss://{oss_bucket}/{oss_object_key} --expires-duration {expire_seconds} --user-agent AlibabaCloud-Agent-Skills/alibabacloud-bailian-videoanalysis --region {oss_region}
  • (4) Verify URL accessibility: Test if the generated URL is downloadable using appropriate method for your OS
    • Note: Prefer GET request over HEAD request for verification, as some OSS signature versions may reject HEAD requests.

Recommended validation URL downloadable methods:

  • macOS/Linux: curl -L --connect-timeout 10 --max-time 30 -o /dev/null -w "%{http_code}" \x3Cfile_url> (returns HTTP status code)
  • Windows: Invoke-WebRequest -Uri \x3Cfile_url> -Method Head -TimeoutSec 30 (PowerShell)

Validation criteria:

  • HTTP 200 → URL is valid and accessible, proceed to Step 4
  • HTTP 403/404 → URL expired or invalid, regenerate with ossutil sign
  • Other errors → Check network or OSS permissions

Step 4: Submit Video Analysis Task

⚠️ MANDATORY API CALL — You MUST call SubmitVideoAnalysisTask on QuanMiaoLightApp product (version 2024-08-01). Do NOT use videorecog, Mts, or any other product. Do NOT attempt local analysis.

API Selection Checklist — Before calling, verify:

  • ✅ Product: QuanMiaoLightApp (NOT videorecog, NOT Mts)
  • ✅ Version: 2024-08-01
  • ✅ Action: SubmitVideoAnalysisTask
  • ✅ Parameters: workspace_id, file_url
python scripts/quanmiao_submit_videoAnalysis_task.py --workspace_id \x3Cworkspace_id> --file_url \x3Cfile_url>

Parameters requiring confirmation:

  • --workspace_id: From Step 2 (confirm with user)
  • --file_url: From Step 3 upload result or user-provided URL (confirm validity)

Error Handling:

  • If API returns 401 InvalidApiKey or 403 AccessDenied: STOP and follow Permission Failure Handling process
  • Do NOT attempt alternative APIs or local tools
  • Inform user: "Video analysis requires Bailian service activation and proper RAM permissions. Please follow the permission grant guide."

Returns task_id for polling.

Step 5: Poll for Task Result

⚠️ MANDATORY API CALL — You MUST poll GetVideoAnalysisTask on QuanMiaoLightApp product (version 2024-08-01) until status is SUCCESSED. Do NOT generate summary from local tools or filename inference.

Video analysis is asynchronous. Poll until completion:

Task Status: PENDINGRUNNINGSUCCESSED | FAILED | CANCELED

Variables:

  • result_json_path: ~/.quanmiao/videoanalysis/\x3Cvideo_filename_without_ext>_\x3Ctask_id>.json
  • index_file: ~/.quanmiao/videoanalysis/index.jsonl

Polling Loop:

  1. Wait 10 seconds after submission
  2. Run: python scripts/quanmiao_get_videoAnalysis_task_result.py --workspace_id \x3Cworkspace_id> --task_id \x3Ctask_id> --save_path \x3Cresult_json_path>
  3. Check the returned status field:
    • SUCCESSED → Script auto-saves JSON to result_json_path, append entry to index_file, display saved locations, then proceed to Step 6
    • FAILED or CANCELED → check error message, inform user, stop
    • PENDING or RUNNING → display any partial results available, wait 10s, repeat from step 2
  4. Max 180 retries (approximately 30 minutes)

When taskStatus = SUCCESSED:

  1. Append to index file (index_file):

    {"task_id": "\x3Ctask_id>", "video_source": "\x3Coriginal_path_or_url>", "workspace_id": "\x3Cworkspace_id>", "result_file": "\x3Cresult_json_path>", "timestamp": "\x3CISO8601>"}
    
  2. Display saved locations:

✅ Files saved successfully:
- Raw JSON result: \x3Cresult_json_path>
- Index updated: \x3Cindex_file>

Parameters requiring confirmation:

  • --workspace_id: Same as Step 4 (confirm consistency)
  • --task_id: From Step 4 submission result (verify before polling)

Step 6: Summarize Video Content

CRITICAL: Use the results from Step 5 directly. Do NOT call the API again. Do NOT re-execute any analysis.

Extract data from the SUCCESSED response obtained in Step 5 and summarize according to user requirements.

Case A: If the user has a specific analysis request (e.g., "analyze the speaker's body language", "extract key business insights", "compare two people in the video"), base your answer primarily on:

  • payload.output.videoGenerateResults — scene-by-scene analysis, descriptions, interpretations
  • payload.output.videoAnalysisResult.text — visual shot analysis, object/person recognition, action detection Combine these fields to construct a targeted answer. Supplement with other fields (captions, mind map, title) as context if relevant.

Case B: If no specific request, use the standard output format: Title → Outline → Summary → Captions → Shot Analysis → Timeline → Token Usage


Important Constraints

  • Cloud-only: No local fallbacks (ffmpeg, whisper, etc.). If cloud API fails, follow Permission Failure Handling process.
  • Violation Consequence: Using local tools instead of QuanMiaoLightApp API will result in task failure.
  • Security: Never expose credentials in logs or prompts
  • Permissions: On auth errors, see ram-policies.md
  • Caching: Check ~/.quanmiao/videoanalysis/index.jsonl before re-analyzing same video

Success Verification

See references/verification-method.md for step-by-step verification commands and expected outcomes.


Cleanup

To clean up resources created by this skill:

Delete uploaded OSS objects:

aliyun ossutil rm oss://{oss_bucket}/{oss_object_key} --user-agent AlibabaCloud-Agent-Skills/alibabacloud-bailian-videoanalysis

Cleanup best practices:

  • Confirm bucket name and oss object key before deletion
  • Only delete objects with /temp/quanmiao/ prefix to avoid accidental data loss
  • Cached results at ~/.quanmiao/videoanalysis/ can be kept for future reference or deleted manually

Best Practices

  1. Always verify environment first — run check_env.py before any other operation to catch missing dependencies or credentials early.
  2. Auto-detect workspace_id — always fetch workspaces via list-workspaces; default to the first result, but present a selection list when the user explicitly asks to choose.
  3. Use default OSS settings — unless the user specifies a particular bucket, let the script auto-detect the bucket and generate the oss object key.
  4. Display partial results during polling — when task status is RUNNING, show available results (title, captions) to give the user real-time feedback.
  5. Save complete result for summary — when status becomes SUCCESSED, use the full result payload directly for Step 6 without re-calling the API.
  6. Respect URL expiration — temporary OSS URLs expire after expireSeconds (default 14400s); ensure the task is submitted before the URL expires.
  7. Handle permission errors gracefully — follow the Permission Failure Handling process in the RAM Policy section; never improvise credential fixes.

Command Tables

See references/related-commands.md for the full list of available scripts and their parameters.


Reference Links

Reference Purpose
references/cli-installation-guide.md Installing and upgrading Aliyun CLI
references/ram-policies.md RAM permission checklist and authorization guide
references/acceptance-criteria.md Acceptance criteria and correct/incorrect usage patterns
references/related-commands.md Available scripts and CLI command reference
references/verification-method.md Step-by-step success verification commands

Troubleshooting

Common scenarios:


安全使用建议
This skill largely does what it says, but review these before installing: - Credentials: The skill uses your Alibaba Cloud default credential chain (aliyun CLI / env vars / config). Do NOT paste AK/SK into chat; configure them locally via `aliyun configure` or environment variables as documented. - Permissions: Do NOT blindly attach 'FullAccess' system policies. Instead grant minimal permissions: restrict OSS access to the specific bucket (upload/presign), and grant only the specific QuanMiaoLightApp and modelstudio actions needed. If possible, test with an IAM/RAM user that has minimal, time-limited access (STS) or a scoped role. - Review config changes: The instructions ask you to enable Aliyun CLI AI-Mode and automatic plugin install; these change your local CLI config and may enable background plugin installs—understand and approve these changes first. - Run and inspect scripts locally: The Python scripts use official Alibaba SDKs and the default credential chain; run `python scripts/check_env.py` locally to verify required packages and credential availability before submitting any video (and inspect the scripts yourself if you are unsure). If you cannot review or limit the RAM policies, treat the request for broad cloud permissions as a blocking concern and do not install/use the skill.
功能分析
Type: OpenClaw Skill Name: alibabacloud-bailian-videoanalysis Version: 0.0.2 The skill bundle provides a legitimate integration with Alibaba Cloud's Bailian Video Analysis service. It includes Python scripts (scripts/quanmiao_submit_videoAnalysis_task.py, scripts/quanmiao_get_videoAnalysis_task_result.py) and documentation for using the Aliyun CLI to process videos via cloud APIs. The instructions in SKILL.md include explicit security constraints to prevent the leakage of credentials (AK/SK) and follow standard cloud authentication practices using the default credential chain. No evidence of data exfiltration, malicious execution, or harmful prompt injection was found.
能力标签
requires-walletrequires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The skill's name and SKILL.md match the included Python scripts and Alibaba Cloud Bailian (QuanmiaoLightApp) API usage. However, the registry metadata lists no required credentials or env vars while the runtime instructions and scripts clearly require an Alibaba Cloud credential/configured Aliyun CLI (default credential chain) and Python SDKs. The mismatch between declared manifest requirements (none) and actual runtime needs is an inconsistency to be aware of, though it doesn't by itself indicate malicious behavior.
Instruction Scope
SKILL.md and the scripts stay on-topic: they instruct environment checks, uploading video to OSS (or using an OSS-signed URL), submitting Bailian video analysis tasks, polling results, and summarizing outputs. The instructions explicitly forbid printing AK/SK and require credentials via the default credential chain. There are no hidden remote endpoints or instructions to exfiltrate data beyond calling Bailian/OSS endpoints.
Install Mechanism
There is no automated install spec (instruction-only install). The skill asks users to pip install the pinned Alibaba Cloud SDK packages from PyPI and to install the official Aliyun CLI from Alibaba's CDN—both are standard and expected for this integration. No downloads from obscure or personal servers are present in the provided docs/scripts.
Credentials
The skill requires Alibaba Cloud credentials (via the default credential chain) and recommends granting RAM/system policies to operate. The references/ram-policies.md suggests broad system policies (e.g., AliyunOSSFullAccess, AliyunQuanMiaoLightAppFullAccess, AliyunBailianFullAccess) and even recommends system policies rather than narrowly-scoped least-privilege policies. That recommendation is disproportionate — users should be guided to grant minimal, bucket-scoped and action-scoped permissions rather than broad full-access roles.
Persistence & Privilege
The skill is not always: true and does not request persistent platform privileges. It does instruct the user to enable Aliyun CLI AI-Mode and to enable auto-plugin-install for the CLI (which modifies local CLI configuration), but these are local CLI configuration changes and are within the expected scope for a CLI-driven integration. The skill does not modify other skills or agent-wide settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install alibabacloud-bailian-videoanalysis
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /alibabacloud-bailian-videoanalysis 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.0.2
alibabacloud-bailian-videoanalysis v0.0.2 - Updated to use the Bailian (QuanMiaoLightApp) API product (version 2024-08-01) exclusively for video analysis; removed references to videorecog/Mts APIs. - Added clear output language policy (default: Chinese) for all user-facing messages and prompts. - Added required steps to enable AI-Mode in aliyun CLI for usage tracking and plugin management. - Updated RAM and Bailian workspace permission grant instructions with explicit activation steps. - Removed legacy scripts (list_workspace.py, quanmiao_upload_file_to_oss_and_get_file_url.py); streamlined script set for core API flow only. - Refined parameter confirmation logic, CLI install guidance, and error handling instructions for improved reliability.
v0.0.1
Initial release of the Alibaba Cloud Bailian (Quanmiao) Video Analysis skill. - Provides intelligent video comprehension and analysis using the Bailian SDK. - Supports video summarization, shot breakdown, ASR transcription, title/caption extraction, and mind mapping. - Handles both local video files and downloadable URLs, with smart OSS upload and validation. - Securely manages authentication via the Alibaba Cloud credential chain; direct credential requests are forbidden. - Includes robust permission and parameter confirmation workflows, guiding users through errors and credential issues. - Designed for ease of setup with detailed instructions for requirements, environment checks, and workspace selection.
元数据
Slug alibabacloud-bailian-videoanalysis
版本 0.0.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Alibabacloud Bailian Videoanalysis 是什么?

Alibaba Cloud Bailian Video Analysis Skill. Use for intelligent video comprehension and analysis via the Bailian (QuanMiaoLightApp) API. **Required API Produ... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 96 次。

如何安装 Alibabacloud Bailian Videoanalysis?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install alibabacloud-bailian-videoanalysis」即可一键安装,无需额外配置。

Alibabacloud Bailian Videoanalysis 是免费的吗?

是的,Alibabacloud Bailian Videoanalysis 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Alibabacloud Bailian Videoanalysis 支持哪些平台?

Alibabacloud Bailian Videoanalysis 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Alibabacloud Bailian Videoanalysis?

由 alibabacloud-skills-team(@sdk-team)开发并维护,当前版本 v0.0.2。

💬 留言讨论