VoooAI is a multi-media creative platform with 70+ built-in AI skills. The Agent acts as a relay (搬运工) — forwarding user requests to VoooAI's backend, which handles all creative decisions via its multi-role AI system (Analyst + Expert + Reviewer).
Core Capabilities:
User TypeUse CasesContent CreatorsMarketing videos, social media content, product showcases, promotional materialsDesignersDesign assets, style variants, visual concepts, mood boardsStudiosMulti-step creative pipelines (script → storyboard → video + music)BusinessesAdvertising, e-commerce product videos, corporate training contentGame DevelopersGame art assets, character concept art, cutscene animationsEducatorsTutorial videos, course illustrations, animated demonstrationsOne-Person CompaniesFull-stack content creation (posters, videos, music — all-in-one)
This skill is exclusively for creative workflow operations. The following are explicitly out of scope:
For these operations, direct users to https://voooai.com
vooai_ prefix + 40 random alphanumeric characters (46 total)vooai_abc123def456ghi789jkl012mno345pqrs678check_capabilities.py)upload_file.py)generate_workflow.py)execute_workflow.py, execute_single_node.py)get_status.py)download_results.py)export VOOOAI_ACCESS_KEY="vooai_..."If user requests these, inform them to visit voooai.com directly:
Content Moderation (Explicit Deny List)
Content Safety Note: Digital human and talking-head features are intended for legitimate creative use cases (marketing presenters, educational hosts, fictional characters). Users must label AI-generated content per applicable synthetic media regulations.
This section provides a clear table-based definition of what this skill can and cannot do.
OperationSupportedScriptExampleCapability discovery✅check_capabilities.pyCheck available skills and points balanceFile upload✅upload_file.pyUpload reference image/video/audio (max 200MB)Workflow generation✅generate_workflow.pyGenerate workflow from natural language descriptionWorkflow execution✅execute_workflow.pyRun generated workflowSingle node execution✅execute_single_node.pyRetry specific failed nodeStatus query✅get_status.pyCheck execution progressResult download✅download_results.pyDownload generated files to local
OperationReasonUser authentication / registrationOut of scope — handled by web frontendPayment / billing / subscriptionOut of scope — user manages directly at voooai.comAccount settings / profileOut of scope — user manages directlyAnalytics / usage statisticsOut of scope — not creative workflowAdmin panel / system configOut of scope — admin onlyHomepage / dashboard featuresOut of scope — not workflow relatedDirect API calls bypassing scriptsSecurity risk — use provided scripts onlyManual workflow JSON constructionQuality risk — use generate_workflow.py onlyDeepfakes / non-consensual facial or voice mimicryContent safety — violates ethical guidelinesImpersonating real individuals without consentContent safety — privacy and legal concernsPolitical disinformation / election interferenceContent safety — harmful content prohibition
All scripts located at {baseDir}/scripts/. Required env: VOOOAI_ACCESS_KEY.
Discover platform capabilities and points balance.
bash
python3 {baseDir}/scripts/check_capabilities.py
python3 {baseDir}/scripts/check_capabilities.py --summary
Upload image/video/audio file (max 200MB).
bash
python3 {baseDir}/scripts/upload_file.py /path/to/file.png
python3 {baseDir}/scripts/upload_file.py /path/to/video.mp4
Generate workflow from natural language description.
bash
python3 {baseDir}/scripts/generate_workflow.py "生成一个咖啡产品宣传视频"
python3 {baseDir}/scripts/generate_workflow.py "基于这张图生成视频" --reference-urls https://example.com/ref.jpg
python3 {baseDir}/scripts/generate_workflow.py "生成分镜图" --skill-id storyboard-basic
python3 {baseDir}/scripts/generate_workflow.py "测试描述" --analyze-only # analysis only
Execute a generated workflow.
bash
python3 {baseDir}/scripts/execute_workflow.py '{"nodes": [...], "connections": [...]}'
python3 {baseDir}/scripts/execute_workflow.py /path/to/workflow.json
cat workflow.json | python3 {baseDir}/scripts/execute_workflow.py --from-stdin
python3 {baseDir}/scripts/execute_workflow.py workflow.json --set-param node_1.prompt="新提示词"
Execute/retry a single node (for debugging or partial retry).
bash
python3 {baseDir}/scripts/execute_single_node.py workflow.json --node-id node_1
cat workflow.json | python3 {baseDir}/scripts/execute_single_node.py --from-stdin --node-id node_2
python3 {baseDir}/scripts/execute_single_node.py workflow.json --node-id node_1 --set-param node_1.prompt="修改后的提示词"
Query execution status.
bash
python3 {baseDir}/scripts/get_status.py exec_abc123 # single query
python3 {baseDir}/scripts/get_status.py exec_abc123 --poll # poll until complete
python3 {baseDir}/scripts/get_status.py exec_abc123 --poll --timeout 600 # custom timeout
Download execution results to local.
bash
python3 {baseDir}/scripts/download_results.py exec_abc123
python3 {baseDir}/scripts/download_results.py exec_abc123 --output-dir ~/Downloads/project
python3 {baseDir}/scripts/download_results.py exec_abc123 --prefix "storyboard"
python3 {baseDir}/scripts/download_results.py exec_abc123 --no-download # list URLs only
python3 {baseDir}/scripts/download_results.py --urls https://a.com/1.png # direct URL download
This section describes common trigger patterns to help the Agent understand when and how to invoke VoooAI.
User expressions:
Execution flow:
text
check_capabilities → generate_workflow → execute_workflow → get_status (poll) → download_results
User expressions:
Execution flow:
text
upload_file → generate_workflow (with --reference-urls) → execute_workflow → get_status (poll) → download_results
User expressions:
Execution flow:
text
generate_workflow (backend handles decomposition) → execute_workflow → get_status (poll, may take 3-5+ min) → download_results
User expressions:
Execution flow:
text
get_status (identify failed node) → execute_single_node (with --set-param if needed) → get_status (poll) → download_results
User expressions:
Execution flow:
text
check_capabilities → present results to user
bash
# 1. Check capabilities and points
python3 {baseDir}/scripts/check_capabilities.py --summary
# 2. Generate workflow (user confirms points_cost before proceeding)
python3 {baseDir}/scripts/generate_workflow.py "一个宇航员在月球上弹吉他"
# → Review estimated_points, ask user to confirm
# 3. Execute workflow
python3 {baseDir}/scripts/execute_workflow.py '<template_data_json>'
# 4. Poll status
python3 {baseDir}/scripts/get_status.py EXEC_ID --poll
# 5. Download results
python3 {baseDir}/scripts/download_results.py EXEC_ID --output-dir ./output
bash
python3 {baseDir}/scripts/generate_workflow.py "根据这张图生成视频" \
--reference-urls https://example.com/reference.jpg
# Then execute, poll, download as above
bash
# 1. Upload local file first
python3 {baseDir}/scripts/upload_file.py /path/to/reference.png
# → Returns file_url
# 2. Generate workflow with uploaded URL
python3 {baseDir}/scripts/generate_workflow.py "基于这张图生成视频" \
--reference-urls <file_url_from_upload>
# Then execute, poll, download as above
bash
# 1. Check which node failed
python3 {baseDir}/scripts/get_status.py EXEC_ID
# → Identify failed node_id from node_statuses
# 2. Retry single node (optionally adjust params)
python3 {baseDir}/scripts/execute_single_node.py workflow.json \
--node-id failed_node_id \
--set-param failed_node_id.some_param="adjusted_value"
# 3. Poll new execution
python3 {baseDir}/scripts/get_status.py NEW_EXEC_ID --poll
bash
# Complex workflow: script → storyboard → video + music (all handled by backend)
# Example: "帮我做个咖啡产品广告,从脚本到成片"
# 1. Check capabilities and points (complex workflows cost more)
python3 {baseDir}/scripts/check_capabilities.py --summary
# 2. Generate multi-step workflow (backend auto-decomposes)
python3 {baseDir}/scripts/generate_workflow.py "制作一个30秒的咖啡产品广告,包含脚本、分镜、视频和背景音乐"
# → Backend returns multi-node workflow (script → storyboard → video → music → composite)
# → Review estimated_points (typically 80-200+ for complex pipelines), ask user to confirm
# 3. Execute full pipeline
python3 {baseDir}/scripts/execute_workflow.py '<template_data_json>'
# 4. Poll status (complex workflows take 3-5+ minutes)
python3 {baseDir}/scripts/get_status.py EXEC_ID --poll --timeout 600
# 5. Download all outputs (storyboard images, video clips, music, final composite)
python3 {baseDir}/scripts/download_results.py EXEC_ID --output-dir ./output/product_ad
When generate_workflow.py returns points_warning or estimated_points:
Example interaction:
text
Agent: "This workflow will cost approximately 45 points. You have 50 points available. Proceed? (yes/no)"
User: "yes"
Agent: [Then execute]
When backend returns multiple plans or options:
When user description is vague:
When execution fails:
Agent MUST NOT make any points-consuming decision on behalf of the user.
get_status.py EXEC_ID to get detailed error infofailed_nodes list and error_messagenode_statuses for per-node statusStrategyWhen to UseCommandSingle-node retryOne node failed, others succeededexecute_single_node.py --node-id <failed_node>Parameter adjustmentEngine rejected paramsAdd --set-param to modifyFull retryMultiple nodes failed or workflow errorRe-run execute_workflow.py
Error CodeCauseResolutionINSUFFICIENT_POINTSNot enough creditsUser adds credits at voooai.com/subscriptionENGINE_TIMEOUTEngine took too longRetry, or try different engineINVALID_PARAMSBad parametersAdjust params with --set-param``CONTENT_BLOCKEDContent safety filterModify description to comply with guidelinesENGINE_UNAVAILABLEEngine temporarily downWait and retry, or use alternative engine
check_capabilities.py: {success, points_balance, points_warning, available_engines, available_skills}
generate_workflow.py: {success, template_data, explanation, metadata: {node_count, engine_nodes, estimated_points}, points_warning}
execute_workflow.py: {success, execution_id, status, message}
get_status.py: {success, execution_id, status, progress, result_urls[]}
Status values: pending | running | completed | failed
download_results.py: {success, output_dir, downloaded_files[], total_count}
generate_workflow.pyVoooAI's PlannerAgent (Analyst + Expert + Reviewer) handles:
points_warning before executionstatus: "completed" → results in outputsstatus: "failed" → check error_messageHTTP Codes: 400 (bad request) | 401 (unauthorized) | 403 (forbidden) | 429 (rate limit) | 500 (server error)
Error Codes:
INVALID_ACCESS_KEY — Key must start with vooai_INSUFFICIENT_POINTS — Add credits at voooai.com/subscriptionMEMBERSHIP_REQUIRED — Engine requires higher tierRATE_LIMIT_EXCEEDED — Wait and retryENGINE_UNAVAILABLE — Try alternative engineWebsite: https://voooai.com | Support: support@voooai.com