121 lines
2.8 KiB
YAML
121 lines
2.8 KiB
YAML
runtime: node
|
||
entrypoint: scripts/index.cjs
|
||
timeout: 1800000
|
||
|
||
dependencies:
|
||
system:
|
||
- name: ffmpeg
|
||
check: "ffmpeg -version"
|
||
- name: ffprobe
|
||
check: "ffprobe -version"
|
||
- name: node
|
||
check: "node --version"
|
||
node:
|
||
packages:
|
||
- axios
|
||
- sharp
|
||
- fluent-ffmpeg
|
||
- "@ffmpeg-installer/ffmpeg"
|
||
- "@ffprobe-installer/ffprobe"
|
||
|
||
setup:
|
||
posix: scripts/make.sh fix
|
||
win32: scripts/setup.ps1
|
||
|
||
env:
|
||
- name: ARK_API_KEY
|
||
required: true
|
||
description: 火山方舟/豆包 OpenAI-compatible API Key
|
||
- name: ARK_API_URL
|
||
required: false
|
||
default: https://ark.cn-beijing.volces.com/api/v3/chat/completions
|
||
description: OpenAI-compatible chat completions endpoint
|
||
- name: DAMAGE_DETECT_MODEL
|
||
required: true
|
||
default: doubao-seed-2-0-pro-260215
|
||
description: 用于环车旧伤候选检测的多模态模型 ID
|
||
- name: DAMAGE_GROUNDING_MODEL
|
||
required: true
|
||
default: doubao-seed-2-0-pro-260215
|
||
description: 用于 bbox/grounding 的视觉模型 ID
|
||
- name: DAMAGE_REVIEW_MODEL
|
||
required: false
|
||
default: doubao-seed-2-0-pro-260215
|
||
description: 用于放大裁剪复核的视觉模型 ID
|
||
- name: BEST_FRAME_MODEL
|
||
required: false
|
||
default: doubao-seed-2-0-pro-260215
|
||
description: 用于最佳帧筛选的模型 ID
|
||
- name: RZYX_AI_WORKSPACE_ROOT
|
||
required: false
|
||
description: 生产环境由宿主注入,默认 dataDir/workspace/vehicle-damage-inspection
|
||
- name: RZYX_AI_UPLOAD_ROOT
|
||
required: false
|
||
description: 生产环境由宿主注入,默认 dataDir/uploads
|
||
- name: RZYX_AI_DATA_DIR
|
||
required: false
|
||
description: 后端运行时 dataDir,由宿主注入
|
||
|
||
interface:
|
||
input:
|
||
videoUrl:
|
||
type: string
|
||
required: true
|
||
description: 视频本地路径、/upload/... 路径或本机可访问 URL
|
||
taskId:
|
||
type: string
|
||
required: false
|
||
fps:
|
||
type: number
|
||
required: false
|
||
default: "5"
|
||
quality:
|
||
type: number
|
||
required: false
|
||
default: "90"
|
||
batchSize:
|
||
type: number
|
||
required: false
|
||
default: "50"
|
||
concurrency:
|
||
type: number
|
||
required: false
|
||
default: "5"
|
||
groundingWindow:
|
||
type: number
|
||
required: false
|
||
default: "2"
|
||
groundingFrameLimit:
|
||
type: number
|
||
required: false
|
||
default: "5"
|
||
reviewConcurrency:
|
||
type: number
|
||
required: false
|
||
default: "3"
|
||
topN:
|
||
type: number
|
||
required: false
|
||
default: "1"
|
||
mode:
|
||
type: string
|
||
required: false
|
||
default: full
|
||
output:
|
||
success:
|
||
type: boolean
|
||
taskId:
|
||
type: string
|
||
summary:
|
||
type: object
|
||
vehicleInfo:
|
||
type: object
|
||
damages:
|
||
type: array
|
||
bestFrameImages:
|
||
type: array
|
||
reviewImages:
|
||
type: array
|
||
artifacts:
|
||
type: object
|