Track bundled vendor runtime sources
This commit is contained in:
233
vendor/aigcpanel/skills/aigcpanel-skill/SKILL.md
vendored
Normal file
233
vendor/aigcpanel/skills/aigcpanel-skill/SKILL.md
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
---
|
||||
name: aigcpanel-skills
|
||||
description: 通过 AigcPanel Pro 内置 HTTP 接口或命令行 CLI 工具调用本地 AI 模型和任务处理能力。当需要列出可用模型、调用模型生成内容、查询任务结果、或批量处理视频/音频/图片时使用本技能。适用场景:自动化脚本调用 AI 模型、外部程序集成 AigcPanel Pro、批量处理任务、CLI 命令行调用。
|
||||
---
|
||||
|
||||
# AigcPanel Pro 集成指南
|
||||
|
||||
AigcPanel Pro 提供两种集成方式:**HTTP 接口**(适合外部程序集成)和 **CLI 命令行工具**(适合脚本和终端操作)。
|
||||
|
||||
---
|
||||
|
||||
## 一、CLI 命令行工具
|
||||
|
||||
CLI 工具 `aigcpanel` 提供简洁的命令行接口,适合在脚本和终端中使用。
|
||||
|
||||
### 安装
|
||||
|
||||
打开应用 **设置 → CLI 工具**,点击"安装到系统",即可在终端使用 `aigcpanel` 命令。
|
||||
|
||||
### 命令概览
|
||||
|
||||
| 命令 | 说明 |
|
||||
|------|------|
|
||||
| `aigcpanel version` | 查看版本信息 |
|
||||
| `aigcpanel model_list` | 列出所有已安装 AI 模型 |
|
||||
| `aigcpanel task --biz <类型> [参数...]` | 提交任务并等待结果 |
|
||||
|
||||
### 列出模型
|
||||
|
||||
```bash
|
||||
aigcpanel model_list
|
||||
```
|
||||
|
||||
输出示例:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": [
|
||||
{ "name": "server-openai", "title": "OpenAI", "version": "1.0.0", "functions": [...] }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 提交任务
|
||||
|
||||
```bash
|
||||
# 语音合成
|
||||
aigcpanel task --biz SoundGenerate --text "你好世界"
|
||||
|
||||
# 数字人合成(视频生成)
|
||||
aigcpanel task --biz VideoGen --text "欢迎使用"
|
||||
|
||||
# 一键合成(视频生成流)
|
||||
aigcpanel task --biz VideoGenFlow --text "欢迎使用"
|
||||
|
||||
# 语音识别
|
||||
aigcpanel task --biz SoundAsr --file /path/to/audio.wav
|
||||
|
||||
# 声音替换
|
||||
aigcpanel task --biz SoundReplace --file /path/to/video.mp4
|
||||
|
||||
# 长文本转音频
|
||||
aigcpanel task --biz LongTextTts --text "这是一段较长的文本内容"
|
||||
|
||||
# 字幕转音频
|
||||
aigcpanel task --biz SubtitleTts --file /path/to/subtitle.srt
|
||||
|
||||
# 文生图
|
||||
aigcpanel task --biz TextToImage --prompt "美丽的山水风景"
|
||||
|
||||
# 图生图
|
||||
aigcpanel task --biz ImageToImage --file /path/to/image.png --prompt "油画风格"
|
||||
|
||||
# 声音归一化
|
||||
aigcpanel task --biz AudioNormal --file /path/to/audio.wav
|
||||
|
||||
# 视频压缩
|
||||
aigcpanel task --biz VideoCompress --file /path/to/video.mp4
|
||||
|
||||
# 视频尺寸转换
|
||||
aigcpanel task --biz VideoSizeConvert --file /path/to/video.mp4 --targetWidth 1280 --targetHeight 720
|
||||
|
||||
# 视频变速(全局)
|
||||
aigcpanel task --biz VideoSpeed --file /path/to/video.mp4 --speed 1.5
|
||||
|
||||
# 视频片段变速
|
||||
aigcpanel task --biz VideoSpeedPart --file /path/to/video.mp4
|
||||
|
||||
# 视频背景替换
|
||||
aigcpanel task --biz VideoBackground --file /path/to/video.mp4 --image /path/to/bg.png
|
||||
|
||||
# 视频合并
|
||||
aigcpanel task --biz VideoMerge --file /path/to/video1.mp4 --file2 /path/to/video2.mp4
|
||||
|
||||
# 视频添加音频
|
||||
aigcpanel task --biz VideoMergeAudio --file /path/to/video.mp4 --audio /path/to/audio.wav
|
||||
|
||||
# 片头片尾图片
|
||||
aigcpanel task --biz VideoMergeImage --file /path/to/video.mp4 --image /path/to/image.png
|
||||
|
||||
# 视频添加字幕
|
||||
aigcpanel task --biz VideoSubtitle --file /path/to/video.mp4 --subtitle /path/to/subtitle.srt
|
||||
|
||||
# 视频标注
|
||||
aigcpanel task --biz VideoMark --file /path/to/video.mp4
|
||||
|
||||
# 视频片段删除/保留
|
||||
aigcpanel task --biz VideoKeepPart --file /path/to/video.mp4
|
||||
|
||||
# 视频片段放大
|
||||
aigcpanel task --biz VideoZoom --file /path/to/video.mp4
|
||||
|
||||
# 智能剪辑
|
||||
aigcpanel task --biz VideoQuickCut --file /path/to/video.mp4
|
||||
|
||||
# 媒体格式转换
|
||||
aigcpanel task --biz MediaFormatConvert --file /path/to/video.mp4 --targetFormat mp4
|
||||
|
||||
# Ffmpeg 自定义处理
|
||||
aigcpanel task --biz Ffmpeg --file1 /path/to/input.mp4
|
||||
```
|
||||
|
||||
### 复杂参数(JSON 文件)
|
||||
|
||||
对于数组/对象类型的参数,用 `--参数名-json /path/to/file.json` 传入:
|
||||
|
||||
```bash
|
||||
# VideoZoom 指定放大区域
|
||||
echo '[{"start":1.0,"end":3.0,"x":0.2,"y":0.1,"width":0.6,"height":0.8}]' > ./_temp/times.json
|
||||
aigcpanel task --biz VideoZoom --file /path/to/video.mp4 --times-json ./_temp/times.json
|
||||
```
|
||||
|
||||
### 继续暂停的任务
|
||||
|
||||
部分任务(如 VideoZoom、VideoMark)需要确认才能继续执行:
|
||||
|
||||
```bash
|
||||
# 第一步:提交任务(返回 taskId 和 pauseStage)
|
||||
aigcpanel task --biz VideoZoom --file /path/to/video.mp4
|
||||
|
||||
# 第二步:确认继续(Config 阶段)
|
||||
aigcpanel task --biz VideoZoom --task-id <taskId> --stage Config --times-json ./_temp/times.json
|
||||
|
||||
# 第三步:渲染确认(RenderConfirm 阶段,如有)
|
||||
aigcpanel task --biz VideoZoom --task-id <taskId> --stage RenderConfirm
|
||||
```
|
||||
|
||||
### 输出结果
|
||||
|
||||
任务成功时输出包含 `result` 字段,通常有 `url`(输出文件路径):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"status": "success",
|
||||
"result": { "url": "/path/to/output.mp4" }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 二、HTTP 接口
|
||||
|
||||
AigcPanel Pro 内置 HTTP 接口服务,默认监听 `http://localhost:59999`,提供模型列表、模型调用和结果查询能力。
|
||||
|
||||
### 前提条件
|
||||
|
||||
确认服务已启动:打开应用 **设置 → HTTP 接口**,确认状态为"运行中"。若未启动,点击"启动服务"按钮,或开启"自动启动"后重启应用。
|
||||
|
||||
### 获取可用模型
|
||||
|
||||
```
|
||||
GET http://localhost:59999/api/model/list
|
||||
```
|
||||
|
||||
响应示例:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": [
|
||||
{ "id": "openai|gpt-4o", "providerId": "openai", "modelId": "gpt-4o", "modelName": "GPT-4o" },
|
||||
{ "id": "deepseek|deepseek-chat", "providerId": "deepseek", "modelId": "deepseek-chat", "modelName": "DeepSeek Chat" }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
`id` 格式为 `providerId|modelId`,调用时需传此值。
|
||||
|
||||
### 调用模型
|
||||
|
||||
```
|
||||
POST http://localhost:59999/api/model/call
|
||||
Content-Type: application/json
|
||||
|
||||
{ "model": "deepseek|deepseek-chat", "prompt": "用一句话介绍自己", "systemPrompt": "你是助手" }
|
||||
```
|
||||
|
||||
- `model`(必填):模型 ID,来自列表接口的 `id` 字段
|
||||
- `prompt`(必填):用户输入
|
||||
- `systemPrompt`(可选):系统提示词
|
||||
|
||||
响应:
|
||||
```json
|
||||
{ "code": 0, "data": { "taskId": "m3x7k2abc" } }
|
||||
```
|
||||
|
||||
### 查询任务结果
|
||||
|
||||
```
|
||||
GET http://localhost:59999/api/model/query?taskId=m3x7k2abc
|
||||
```
|
||||
|
||||
响应(进行中):`{ "code": 0, "data": { "status": "pending" } }`
|
||||
|
||||
响应(成功):`{ "code": 0, "data": { "status": "success", "result": "..." } }`
|
||||
|
||||
响应(失败):`{ "code": 0, "data": { "status": "error", "error": "..." } }`
|
||||
|
||||
`status` 为 `pending` 时继续轮询,建议间隔 500ms。
|
||||
|
||||
### 标准调用流程
|
||||
|
||||
1. 调用 `/api/model/list` 获取可用模型列表,选取目标模型 `id`
|
||||
2. 调用 `/api/model/call` 传入 `model` 和 `prompt`,获得 `taskId`
|
||||
3. 轮询 `/api/model/query?taskId=xxx` 直至 `status` 不为 `pending`
|
||||
4. 读取 `result`(成功)或 `error`(失败)
|
||||
|
||||
## 错误处理
|
||||
|
||||
所有接口错误时返回 `{ "code": -1, "msg": "错误描述" }`,`code` 非 0 时视为失败。
|
||||
常见原因:服务未启动、模型未在设置中启用、API Key 未配置。
|
||||
Reference in New Issue
Block a user