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