skills/skill.new.ndhy.com/aihub-video-post-processing

aihub-video-post-processing

SKILL.md

视频后处理中心

本 skill 负责视频后处理相关能力,当前包含:

  • 视频合成:将多个视频片段按时间轴合成为一个完整视频(appId: afe8478c-6a83-43da-86d0-f3c389633558
  • 字幕合成:为已合成视频生成并附加字幕,输出字幕文件 URL(appId: 4cde9562-a88a-4883-9813-a88c0d9e6d88

使用前置条件

  • 设置环境变量:AIHUB_AGENT_TOKEN(如未设置,脚本会报错退出)
  • 如需申请 token,请联系 吴林金(ND)(405198)

API 基础信息

  • Base URL: https://bv.new.ndhy.com/api/agent/aihub
  • 鉴权: Authorization: Bearer <AIHUB_AGENT_TOKEN>
  • 触发: POST /workflows/run
  • 查状态: GET /workflows/runs/:runId
  • 取输出: GET /workflows/runs/:runId/outputs

PowerShell 调用模板

$BaseUrl = "https://bv.new.ndhy.com/api/agent/aihub"
$Token = $env:AIHUB_AGENT_TOKEN
if (-not $Token) { throw "Missing env: AIHUB_AGENT_TOKEN" }

$Headers = @{
  Authorization  = "Bearer $Token"
  "Content-Type" = "application/json"
}

function Start-AIHubWorkflowRun {
  param([string]$AppId, [hashtable]$Inputs)
  $body = @{ appId = $AppId; inputs = $Inputs } | ConvertTo-Json -Depth 20 -Compress
  return Invoke-RestMethod -Method Post -Uri "$BaseUrl/workflows/run" -Headers $Headers -Body $body
}

function Get-AIHubWorkflowRunStatus {
  param([string]$RunId)
  return Invoke-RestMethod -Method Get -Uri "$BaseUrl/workflows/runs/$RunId" -Headers $Headers
}

function Get-AIHubWorkflowRunOutputs {
  param([string]$RunId)
  return Invoke-RestMethod -Method Get -Uri "$BaseUrl/workflows/runs/$RunId/outputs" -Headers $Headers
}

function Wait-AIHubWorkflowRun {
  param([string]$RunId, [int]$IntervalSec = 15, [int]$TimeoutSec = 1200)
  $start = Get-Date
  while ($true) {
    $st = Get-AIHubWorkflowRunStatus -RunId $RunId
    Write-Host "[$((Get-Date).ToString('HH:mm:ss'))] status: $($st.status)"
    if ($st.status -eq "succeeded" -or $st.status -eq "failed") { return $st }
    if (((Get-Date) - $start).TotalSeconds -ge $TimeoutSec) { return $st }
    Start-Sleep -Seconds $IntervalSec
  }
}

工作流程

1. 确定入参

用户需提供:

  • video_params:视频片段列表(JSON 字符串),每个片段包含 video_urlvideo_stringwidthheightstartendduration
  • audio_params:音频参数(JSON 字符串,无音频传 "[]"
  • subtitle_params:字幕参数(JSON 字符串,无字幕传 "[]"
  • width:输出视频宽度(整数,如 1920
  • height:输出视频高度(整数,如 1080
  • is_web_project:是否为 web 项目(字符串 "是""否"

注意: video_params / audio_params / subtitle_params 传入 API 时是 JSON 字符串,不是对象,需提前用 ConvertTo-Json 或直接传字符串字面量。

2. 触发任务

字幕合成入参

字段 类型 必填 说明
vid string 来自视频合成 Bot 输出的 vid,若无则先执行视频合成
video_url string 一般传 null
screen_type string "横屏""竖屏",仅支持 1080p
duration_ms number 视频总时长,单位毫秒(注意:不是微秒)

参见 references/video-subtitle.md 中的完整示例。

已知 Bot 列表

视频合成任务耗时通常较长(数十秒到数分钟),建议:

  • 轮询间隔:15 秒
  • 超时时间:1200 秒(20 分钟)

4. 返回结果

任务完成后向用户汇报:

  • ✅ 状态(succeeded / failed)
  • 📄 输出字段(视频 URL 等)
  • ❌ 若失败,展示错误信息

已知 Bot 列表

references/video-compose.md(视频合成)和 references/video-subtitle.md(字幕合成)。

Installs
2
First Seen
Apr 21, 2026