diff --git a/app/canvas/[id]/page.tsx b/app/canvas/[id]/page.tsx index 0e2e727a5..53e604ea7 100644 --- a/app/canvas/[id]/page.tsx +++ b/app/canvas/[id]/page.tsx @@ -89,6 +89,7 @@ import { import { CanvasWorkspace } from "@/components/canvas"; import { CanvasChatPanel } from "@/components/canvas/CanvasChatPanel"; import { CanvasFileListPanel } from "@/components/canvas/CanvasFileListPanel"; +import { LiblibVideoCanvasReplica } from "@/components/canvas/LiblibVideoCanvasReplica"; import { ObjectPickerOverlay } from "@/components/canvas/ObjectPickerOverlay"; import { SceneFusionDialog } from "@/components/scene-fusion-dialog"; import { Badge } from "@/components/ui/badge"; @@ -1340,6 +1341,24 @@ function getFirstResultUrlFromCollections( } export default function CanvasEditorPage({ params }: PageProps) { + const routeParams = useParams(); + const searchParams = useSearchParams(); + const id = (routeParams?.id as string) || use(params).id; + const mode = searchParams.get("mode"); + const requestedWorkspaceType = searchParams.get("workspaceType"); + const requestedAgentMode = mode === "agent"; + const isVideoMode = + !requestedAgentMode && + (mode === "video" || requestedWorkspaceType === "video"); + + if (isVideoMode) { + return ; + } + + return ; +} + +function CanvasEditorLegacyPage({ params }: PageProps) { // 使用 useParams 确保客户端导航时能正确获取更新的 id const routeParams = useParams(); const searchParams = useSearchParams(); diff --git a/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/README.md b/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/README.md new file mode 100644 index 000000000..f16f760af --- /dev/null +++ b/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/README.md @@ -0,0 +1,49 @@ +# LibTV frontend capture + +Captured URL: https://www.liblib.tv/canvas?projectId=ed9a2c12570a49b9a1186017b2c38b52 + +This folder contains the browser-delivered frontend assets and API responses that were accessible with the logged-in Chrome session: + +- `snapshot.html`: hydrated page HTML snapshot after opening the canvas. +- `assets/`: downloaded JS/CSS/static assets loaded or referenced by the page. +- `api/`: captured JSON/API responses and worker/icon resources where applicable. +- `network.har`: embedded HAR of the capture session. +- `manifest.json`: URL to local file mapping. +- `project-detail.json`: canvas project detail API response. + +Limits: this is not the private source repository or server-side code. Backend logic, model generation services, database code, and non-public source files are not delivered to the browser and cannot be recovered from the page. The project itself is currently empty: `nodes` and `edges` are both empty. + +Public sourcemaps downloaded: 0. + +## Added readable analysis + +- `readable/`: formatted copies of JS/CSS/HTML and pretty-printed JSON. +- `api-endpoints.md` / `api-endpoints.json`: grouped endpoint inventory. +- `feature-map.md`: observed UI features mapped to network calls. +- `keyword-index.md` / `keyword-index.json`: keyword hits inside formatted JS bundles. +- `network.sanitized.har`: HAR with cookie/auth-like fields redacted. +- `deep-completeness-review.md`: final layered completeness review of what is complete, what is partial, and what cannot be recovered from a browser capture. + +The original web app did not expose public sourcemaps, so `readable/js` is formatted production bundle code, not the original authored TypeScript/React source tree. + +## Module Split + +The production Turbopack chunks have also been split into per-module factory files for easier reading and searching. + +- Module files: `module-split/` +- Module index: `module-split/module-index.md` and `module-split/module-index.json` +- Module keyword index: `module-split/module-keyword-index.md` and `module-split/module-keyword-index.json` +- Extracted modules: 1872 from 70 Turbopack chunks + +## Completeness Audit + +A static and safe dynamic-click audit was run after the initial capture. + +- Audit report: `capture-audit.md` / `capture-audit.json` +- Deep review: `deep-completeness-review.md` +- Dynamic Skills audit: `dynamic-audit/` +- Dynamic toolbar/add-node/share audit: `dynamic-audit-toolbars/` +- New JS/CSS/chunk resources found dynamically: 0 +- New JSON/media resources saved dynamically: 17 + +Security note: the raw capture folder and full archive may include logged-in session traces. Use the sanitized archive for sharing. diff --git a/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/canvas-modules.json b/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/canvas-modules.json new file mode 100644 index 000000000..0259c0075 --- /dev/null +++ b/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/canvas-modules.json @@ -0,0 +1,10974 @@ +{ + "generatedAt": "2026-04-18T02:51:19.448Z", + "counts": { + "tools": 67, + "workflows": 25, + "byType": { + "image": 22, + "video": 38, + "text": 3, + "audio": 3, + "compose": 1 + }, + "byVendor": { + "qwen": 5, + "Kling": 9, + "topazlabs": 2, + "aurora": 2, + "nebula": 3, + "flux": 3, + "kontext": 2, + "Wan": 4, + "motion": 5, + "mureka": 1, + "vocal": 2, + "zimage": 1, + "Seedance": 3, + "star-video2": 1, + "star-video2-fast": 1, + "unknown": 1, + "seedance2.0": 1, + "orbit": 1, + "Seedream": 3, + "Midjourney": 2, + "wanx": 1, + "midjourney": 1, + "MiniMax": 3, + "vidu": 4, + "Pixverse": 3, + "scene": 2, + "omnihuman": 1 + }, + "modeCounts": { + "image2image": 17, + "image2text": 3, + "video2text": 3, + "mixed2video": 8, + "frames2video": 24, + "videoEdit2video": 3, + "audio2video": 9, + "singleImage2video": 31, + "image2video": 9, + "video2video": 2 + } + }, + "tools": [ + { + "type": "image", + "toolKey": "multiple-angles", + "defaultFlag": 0, + "modelKey": "multiple-angles", + "modelName": "多角度", + "vendor": "qwen", + "scene": "多角度", + "modes": [], + "settings": [], + "advancedSettings": [ + "instrumental", + "duration" + ], + "generateTypes": { + "image": 99, + "checkpointId": 22685099 + }, + "propertyKeys": [], + "rules": null, + "metadata": { + "modelKey": "multiple-angles", + "modelName": "多角度", + "modelVendor": "qwen", + "scene": "multiple-angles", + "sceneName": "多角度", + "properties": {}, + "config": { + "advancedSettings": [ + "instrumental", + "duration" + ] + }, + "generateTypes": { + "image": 99, + "checkpointId": 22685099 + } + } + }, + { + "type": "video", + "toolKey": "kling-video-enhance-o1", + "defaultFlag": 0, + "modelKey": "kling-video-enhance-o1", + "modelName": "可灵O1", + "vendor": "Kling", + "active": true, + "modes": [], + "settings": [ + "resolution", + "frameRate", + "slowMotion" + ], + "advancedSettings": [], + "generateTypes": {}, + "propertyKeys": [ + "resolution", + "frameRate", + "slowMotion" + ], + "rules": {}, + "metadata": { + "modelKey": "kling-video-enhance-o1", + "modelName": "可灵O1", + "modelVendor": "Kling", + "active": true, + "properties": { + "resolution": { + "displayName": "分辨率", + "enum": [ + { + "value": "1080p", + "displayName": "1080P" + }, + "2K", + "4K" + ], + "default": "1080p", + "component": "singleSelect", + "originalField": "resolution" + }, + "frameRate": { + "displayName": "帧率", + "enum": [ + { + "value": "auto", + "displayName": "自适应(原帧率)" + }, + { + "value": "30", + "displayName": "30帧" + }, + { + "value": "60", + "displayName": "60帧" + }, + { + "value": "90", + "displayName": "90帧" + } + ], + "default": "auto", + "component": "singleSelect", + "originalField": "frameRate" + }, + "slowMotion": { + "displayName": "帧率", + "enum": [ + { + "value": "auto", + "displayName": "自适应(原速)" + }, + { + "value": "2", + "displayName": "2x" + } + ], + "default": "auto", + "component": "singleSelect", + "originalField": "slowMotion" + } + }, + "config": { + "settings": [ + "resolution", + "frameRate", + "slowMotion" + ] + }, + "rules": {} + } + }, + { + "type": "image", + "toolKey": "topaz-image-upscaler", + "defaultFlag": 0, + "modelKey": "topaz-image-upscaler", + "modelName": "Topazlabs", + "vendor": "topazlabs", + "active": true, + "modes": [], + "settings": [ + "style", + "scale" + ], + "advancedSettings": [], + "generateTypes": { + "text": 113, + "image": 113, + "checkpointId": 22270112 + }, + "propertyKeys": [ + "scale", + "style" + ], + "rules": null, + "metadata": { + "modelKey": "topaz-image-upscaler", + "modelName": "Topazlabs", + "modelVendor": "topazlabs", + "active": true, + "properties": { + "scale": { + "displayName": "放大倍数", + "enum": [ + 2, + 4, + 6 + ], + "default": 2, + "originalField": "scale", + "component": "singleButton" + }, + "style": { + "displayName": "模型", + "enum": [ + { + "value": "Standard V2", + "displayName": "通用" + }, + { + "value": "Low Resolution V2", + "displayName": "低分辨率" + }, + { + "value": "CGI", + "displayName": "3D动画" + }, + { + "value": "High Fidelity V2", + "displayName": "高保真" + }, + { + "value": "Text Refine", + "displayName": "文本优化" + } + ], + "default": "Standard V2", + "originalField": "style", + "component": "singleSelect" + } + }, + "config": { + "settings": [ + "style", + "scale" + ] + }, + "generateTypes": { + "text": 113, + "image": 113, + "checkpointId": 22270112 + } + } + }, + { + "type": "video", + "toolKey": "topaz-video-upscaler", + "defaultFlag": 0, + "modelKey": "topaz-video-upscaler", + "modelName": "Topazlabs", + "vendor": "topazlabs", + "active": true, + "modes": [], + "settings": [ + "scale", + "frame_rate" + ], + "advancedSettings": [], + "generateTypes": { + "text": 69, + "image": 69, + "checkpointId": 22270112 + }, + "propertyKeys": [ + "resolution", + "specifiedModel", + "slowmo" + ], + "rules": null, + "metadata": { + "modelKey": "topaz-video-upscaler", + "modelName": "Topazlabs", + "modelVendor": "topazlabs", + "active": true, + "properties": { + "resolution": { + "displayName": "分辨率", + "enum": [ + "1080p", + "2K", + "4K" + ], + "default": "1080p", + "originalField": "resolution", + "component": "singleButton" + }, + "specifiedModel": { + "displayName": "快速补帧", + "enum": [ + { + "value": "apf-2", + "displayName": "快速补帧" + }, + { + "value": "apo-8", + "displayName": "高质量补帧" + }, + { + "value": "prob-4", + "displayName": "不补帧" + } + ], + "default": "prob-4", + "originalField": "specifiedModel", + "component": "singleSelect" + }, + "slowmo": { + "displayName": "减速强度", + "enum": [ + { + "value": "1", + "displayName": "1x" + }, + { + "value": "2", + "displayName": "2x" + }, + { + "value": "3", + "displayName": "3x" + }, + { + "value": "5", + "displayName": "5x" + } + ], + "default": "1", + "originalField": "slowmo", + "component": "singleSelect" + } + }, + "config": { + "settings": [ + "scale", + "frame_rate" + ] + }, + "generateTypes": { + "text": 69, + "image": 69, + "checkpointId": 22270112 + } + } + }, + { + "type": "image", + "toolKey": "hd-upscaling", + "defaultFlag": 0, + "modelKey": "hd-upscaling", + "modelName": "高清放大", + "vendor": "qwen", + "scene": "多角度", + "modes": [], + "settings": [], + "advancedSettings": [ + "instrumental", + "duration" + ], + "generateTypes": { + "image": 99, + "checkpointId": 22476117 + }, + "propertyKeys": [], + "rules": null, + "metadata": { + "modelKey": "hd-upscaling", + "modelName": "高清放大", + "modelVendor": "qwen", + "scene": "multiple-angles", + "sceneName": "多角度", + "properties": {}, + "config": { + "advancedSettings": [ + "instrumental", + "duration" + ] + }, + "generateTypes": { + "image": 99, + "checkpointId": 22476117 + } + } + }, + { + "type": "image", + "toolKey": "kling-multi-shot", + "defaultFlag": 0, + "modelKey": "kling-multi-shot", + "modelName": "可灵多视角", + "vendor": "Kling", + "baseType": 63, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "image": 114, + "checkpointId": 22767409 + }, + "propertyKeys": [ + "count", + "lora", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "kling-multi-shot", + "modelName": "可灵多视角", + "modelVendor": "Kling", + "baseType": 63, + "properties": { + "count": [ + 1, + 2, + 4 + ], + "lora": { + "displayName": "风格", + "maxCount": 3 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 3 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "image": 114, + "checkpointId": 22767409 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "text", + "toolKey": "aurora-3-prime", + "defaultFlag": 1, + "modelKey": "aurora-3-prime", + "modelName": "多模态文本模型Pro", + "vendor": "aurora", + "modes": [ + "image2text", + "video2text" + ], + "settings": [], + "advancedSettings": [], + "generateTypes": [], + "propertyKeys": [ + "prompt" + ], + "rules": [ + { + "require": [ + "prompt" + ] + } + ], + "metadata": { + "modelKey": "aurora-3-prime", + "modelName": "多模态文本模型Pro", + "modelVendor": "aurora", + "properties": { + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "modeType": { + "description": "模态类型", + "items": { + "image2text": [ + 0, + 7 + ], + "video2text": [ + 0, + 1 + ] + } + } + }, + "generateTypes": [], + "rules": [ + { + "require": [ + "prompt" + ] + } + ] + } + }, + { + "type": "image", + "toolKey": "nebula-ultra", + "defaultFlag": 1, + "modelKey": "nebula-ultra", + "modelName": "全能图片模型V2", + "vendor": "nebula", + "baseType": 40, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "searchable" + ], + "generateTypes": { + "text": 83, + "image": 83, + "checkpointId": 22111377 + }, + "propertyKeys": [ + "cameraControl", + "magic", + "focus", + "mention", + "count", + "template", + "prompt", + "quality", + "ratio", + "searchable" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ] + } + ], + "metadata": { + "modelKey": "nebula-ultra", + "modelName": "全能图片模型V2", + "modelVendor": "nebula", + "baseType": 40, + "properties": { + "cameraControl": true, + "magic": true, + "focus": true, + "mention": true, + "count": [ + 1, + 2, + 4 + ], + "template": { + "displayName": "风格", + "maxCount": 1 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + "1K", + "2K", + "4K" + ], + "default": "2K", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + }, + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3", + "4:5", + "5:4", + "21:9" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "searchable": { + "displayName": "联网搜索", + "default": 0, + "component": "switch", + "originalField": "searchable" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 7 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "searchable" + ] + }, + "generateTypes": { + "text": 83, + "image": 83, + "checkpointId": 22111377 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ] + } + ] + } + }, + { + "type": "video", + "toolKey": "kling-video-o1", + "defaultFlag": 0, + "modelKey": "kling-video-o1", + "modelName": "可灵O1", + "vendor": "Kling", + "baseType": 54, + "modes": [ + "mixed2video", + "frames2video", + "videoEdit2video", + "audio2video", + "singleImage2video" + ], + "settings": [ + "text2video", + "frames2video", + "singleImage2video", + "videoEdit2video", + "mixed2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 89, + "image": 89, + "checkpointId": 22176637 + }, + "propertyKeys": [ + "count", + "template", + "magic", + "mention", + "prompt", + "ratio", + "ratio_auto", + "duration", + "resolution", + "quality", + "subjects" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "kling-video-o1", + "modelName": "可灵O1", + "modelVendor": "Kling", + "baseType": 54, + "properties": { + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "magic": true, + "mention": true, + "prompt": { + "maxLength": 2000, + "originalField": "prompt" + }, + "ratio": { + "displayName": "比例", + "default": "16:9", + "enum": [ + "16:9", + "1:1", + "9:16" + ], + "component": "singleButton", + "originalField": "ratio" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": "16:9", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "ratio" + }, + "duration": { + "description": "", + "displayName": "时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "component": "singleButton", + "originalField": "duration" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "originalField": "resolution", + "component": "singleButton" + }, + "quality": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "low", + "displayName": "标准" + }, + { + "value": "high", + "displayName": "高品质" + } + ], + "default": "low", + "component": "singleButton", + "originalField": "quality" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "mixed2video": [ + 1, + 7 + ], + "frames2video": [ + 1, + 2 + ], + "videoEdit2video": [ + 1, + 5 + ], + "audio2video": [ + 0, + 0 + ], + "singleImage2video": [ + 1, + 1 + ] + }, + "mixed2videoConfig": { + "videoMax": 1, + "imageMaxWithVideo": 4 + }, + "videoEdit2videoConfig": { + "videoMax": 1, + "imageMaxWithVideo": 4 + } + }, + "subjects": { + "displayName": "主体", + "disableVideoSubject": true, + "items": { + "mixed2video": { + "maxCount": 7, + "maxCountWithVideo": 4, + "sharedWith": "imageList" + } + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "quality", + "duration" + ], + "frames2video": [ + "quality", + "resolution", + "duration" + ], + "singleImage2video": [ + "quality", + "resolution", + "duration" + ], + "videoEdit2video": [ + "quality", + "resolution", + "duration" + ], + "mixed2video": [ + "ratio", + "resolution", + "duration" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 89, + "image": 89, + "checkpointId": 22176637 + } + } + }, + { + "type": "video", + "toolKey": "kling-video-o3", + "defaultFlag": 0, + "modelKey": "kling-video-o3", + "modelName": "可灵 3.0", + "vendor": "Kling", + "modes": [ + "frames2video", + "audio2video", + "image2video", + "singleImage2video" + ], + "settings": [ + "text2video", + "frames2video", + "singleImage2video", + "image2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 90, + "image": 90, + "checkpointId": 22522069 + }, + "propertyKeys": [ + "count", + "magic", + "prompt", + "duration", + "ratio_auto", + "quality", + "enableSound", + "subjects", + "smartStoryboard" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "kling-video-o3", + "modelName": "可灵 3.0", + "modelVendor": "Kling", + "properties": { + "count": [ + 1 + ], + "magic": true, + "prompt": { + "maxLength": 2000, + "originalField": "prompt" + }, + "duration": { + "description": "", + "displayName": "时长", + "min": 5, + "max": 15, + "step": 1, + "default": 5, + "component": "slider", + "originalField": "duration" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": " ", + "displayName": "智能模式" + }, + "16:9", + "1:1", + "9:16" + ], + "default": " ", + "component": "singleButton", + "originalField": "ratio" + }, + "quality": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "low", + "displayName": "标准" + }, + { + "value": "high", + "displayName": "高品质" + } + ], + "default": "low", + "component": "singleButton", + "originalField": "quality" + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 2, + 2 + ], + "audio2video": [ + 0, + 0 + ], + "image2video": [ + 1, + 7 + ], + "singleImage2video": [ + 1, + 1 + ] + } + }, + "subjects": { + "displayName": "主体", + "items": { + "singleImage2video": { + "maxCount": 3 + }, + "frames2video": { + "maxCount": 3 + } + } + }, + "smartStoryboard": { + "displayName": "智能分镜", + "component": "switch", + "default": false, + "originalField": "multi_shot", + "barOnly": true + } + }, + "config": { + "settings": { + "text2video": [ + "ratio_auto", + "quality", + "duration", + "enableSound", + "smartStoryboard" + ], + "frames2video": [ + "quality", + "duration", + "enableSound" + ], + "singleImage2video": [ + "quality", + "duration", + "enableSound", + "smartStoryboard" + ], + "image2video": [ + "quality", + "duration", + "enableSound", + "smartStoryboard" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 90, + "image": 90, + "checkpointId": 22522069 + } + } + }, + { + "type": "video", + "toolKey": "kling-v3-omni", + "defaultFlag": 0, + "modelKey": "kling-v3-omni", + "modelName": "可灵 3.0 Omni", + "vendor": "Kling", + "modes": [ + "mixed2video", + "frames2video", + "videoEdit2video", + "audio2video", + "singleImage2video" + ], + "settings": [ + "text2video", + "frames2video", + "singleImage2video", + "videoEdit2video", + "mixed2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 89, + "image": 89, + "checkpointId": 22522172 + }, + "propertyKeys": [ + "count", + "magic", + "mention", + "prompt", + "ratio", + "ratio_auto", + "duration", + "duration_10", + "quality", + "enableSound", + "subjects", + "smartStoryboard", + "mediaConstraints" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ] + } + ], + "metadata": { + "modelKey": "kling-v3-omni", + "modelName": "可灵 3.0 Omni", + "modelVendor": "Kling", + "properties": { + "count": [ + 1 + ], + "magic": true, + "mention": true, + "prompt": { + "maxLength": 2000, + "originalField": "prompt" + }, + "ratio": { + "displayName": "比例", + "default": "16:9", + "enum": [ + "16:9", + "1:1", + "9:16" + ], + "component": "singleButton", + "originalField": "ratio" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": " ", + "displayName": "智能模式" + }, + "16:9", + "1:1", + "9:16" + ], + "default": " ", + "component": "singleButton", + "originalField": "ratio" + }, + "duration": { + "displayName": "时长", + "default": 5, + "min": 3, + "max": 15, + "step": 1, + "component": "slider", + "originalField": "duration" + }, + "duration_10": { + "displayName": "时长", + "default": 5, + "min": 3, + "max": 10, + "step": 1, + "component": "slider", + "originalField": "duration" + }, + "quality": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "low", + "displayName": "标准" + }, + { + "value": "high", + "displayName": "高品质" + } + ], + "default": "low", + "component": "singleButton", + "originalField": "quality" + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "mixed2video": [ + 1, + 7 + ], + "frames2video": [ + 1, + 2 + ], + "videoEdit2video": [ + 1, + 5 + ], + "audio2video": [ + 0, + 0 + ], + "singleImage2video": [ + 1, + 1 + ] + }, + "mixed2videoConfig": { + "videoMax": 1, + "imageMaxWithVideo": 4 + }, + "videoEdit2videoConfig": { + "videoMax": 1, + "imageMaxWithVideo": 4 + } + }, + "subjects": { + "displayName": "主体", + "items": { + "text2video": { + "maxCount": 7, + "videoSubject": { + "maxCount": 3 + } + }, + "singleImage2video": { + "maxCount": 3 + }, + "frames2video": { + "maxCount": 3 + }, + "videoEdit2video": { + "maxCount": 4, + "sharedWith": "imageList", + "videoSubject": { + "disabledWithVideo": true, + "disabledMessage": "传入视频时不可使用视频主体" + } + }, + "mixed2video": { + "maxCount": 7, + "maxCountWithVideo": 4, + "sharedWith": "imageList", + "videoSubject": { + "maxCount": 3, + "disabledWithVideo": true, + "disabledMessage": "传入视频时不可使用视频主体" + } + } + } + }, + "smartStoryboard": { + "displayName": "智能分镜", + "component": "switch", + "default": false, + "originalField": "multi_shot", + "barOnly": true + }, + "mediaConstraints": { + "videoEdit2video": { + "video": { + "duration": { + "min": 3, + "max": 10, + "message": "输入视频需要在3s-10s之间,可使用【剪辑工具】进行快捷剪辑", + "action": "block" + }, + "formats": { + "allowed": [ + "mp4", + "mov" + ], + "message": "输入视频仅支持MP4和MOV格式", + "action": "block" + }, + "height": { + "min": 720, + "max": 2160, + "message": "已为你智能裁切视频比例,如需使用原比例,需保证\"视频高度不小于720像素且不大于2160像素\"", + "action": "warn" + } + } + }, + "mixed2video": { + "video": { + "duration": { + "min": 3, + "max": 10, + "message": "请输入在3s-10s之间的视频,可使用【剪辑工具】进行快捷剪辑", + "action": "block" + }, + "formats": { + "allowed": [ + "mp4", + "mov" + ], + "message": "输入视频仅支持MP4和MOV格式", + "action": "block" + }, + "height": { + "min": 720, + "max": 2160, + "message": "已为你智能裁切视频比例,如需使用原比例,需保证\"视频高度不小于720像素且不大于2160像素\"", + "action": "warn" + } + } + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "enableSound", + "duration", + "quality", + "smartStoryboard" + ], + "frames2video": [ + "ratio_auto", + "enableSound", + "duration", + "quality" + ], + "singleImage2video": [ + "ratio", + "enableSound", + "duration", + "quality", + "smartStoryboard" + ], + "videoEdit2video": [ + "ratio_auto", + "duration_10", + "quality", + "enableSound" + ], + "mixed2video": [ + "ratio", + "duration", + "quality", + "enableSound", + "smartStoryboard" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ] + } + ], + "generateTypes": { + "text": 89, + "image": 89, + "checkpointId": 22522172 + }, + "settingsRules": [ + { + "when": { + "modeType": "mixed2video" + }, + "inputWhen": { + "videoList": "notEmpty" + }, + "override": { + "duration": { + "max": 10 + } + }, + "message": "全能参考包含视频时视频时长最长10s" + } + ] + } + }, + { + "type": "image", + "toolKey": "flux-2-pro", + "defaultFlag": 0, + "modelKey": "flux-2-pro", + "modelName": "Flux 2 Pro", + "vendor": "flux", + "baseType": 50, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "text": 84, + "image": 84, + "checkpointId": 22143785 + }, + "propertyKeys": [ + "count", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "flux-2-pro", + "modelName": "Flux 2 Pro", + "modelVendor": "flux", + "baseType": 50, + "properties": { + "count": [ + 1, + 2, + 4 + ], + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 8 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "text": 84, + "image": 84, + "checkpointId": 22143785 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "image", + "toolKey": "flux-2-flex", + "defaultFlag": 0, + "modelKey": "flux-2-flex", + "modelName": "Flux 2 Flex", + "vendor": "flux", + "baseType": 51, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "text": 84, + "image": 84, + "checkpointId": 22143794 + }, + "propertyKeys": [ + "count", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "flux-2-flex", + "modelName": "Flux 2 Flex", + "modelVendor": "flux", + "baseType": 51, + "properties": { + "count": [ + 1, + 2, + 4 + ], + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 10 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "text": 84, + "image": 84, + "checkpointId": 22143794 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "image", + "toolKey": "flux-1", + "defaultFlag": 0, + "modelKey": "flux-1", + "modelName": "基础算法F.1", + "vendor": "flux", + "baseType": 19, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "text": 21, + "image": 22, + "checkpointId": 2295774 + }, + "propertyKeys": [ + "count", + "lora", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "flux-1", + "modelName": "基础算法F.1", + "modelVendor": "flux", + "baseType": 19, + "properties": { + "count": [ + 1, + 2, + 4 + ], + "lora": { + "displayName": "风格", + "maxCount": 3 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 3 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "text": 21, + "image": 22, + "checkpointId": 2295774 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "image", + "toolKey": "image-editor", + "defaultFlag": 0, + "modelKey": "image-editor", + "modelName": "图片编辑模型", + "vendor": "kontext", + "baseType": 31, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "text": 49, + "image": 49, + "checkpointId": 20902402 + }, + "propertyKeys": [ + "count", + "lora", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "image-editor", + "modelName": "图片编辑模型", + "modelVendor": "kontext", + "baseType": 31, + "properties": { + "count": [ + 1, + 2, + 4 + ], + "lora": { + "displayName": "风格", + "maxCount": 3 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 3 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "text": 49, + "image": 49, + "checkpointId": 20902402 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "image", + "toolKey": "image-editor-pro", + "defaultFlag": 0, + "modelKey": "image-editor-pro", + "modelName": "图片编辑Pro", + "vendor": "kontext", + "baseType": 31, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "text": 46, + "image": 46, + "checkpointId": 20638482 + }, + "propertyKeys": [ + "count", + "lora", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "image-editor-pro", + "modelName": "图片编辑Pro", + "modelVendor": "kontext", + "baseType": 31, + "properties": { + "count": [ + 1, + 2, + 4 + ], + "lora": { + "displayName": "风格模型", + "maxCount": 3 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 3 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "text": 46, + "image": 46, + "checkpointId": 20638482 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "image", + "toolKey": "nebula-2-flash", + "defaultFlag": 1, + "modelKey": "nebula-2-flash", + "modelName": "全能图片模型V2-Flash", + "vendor": "nebula", + "baseType": 70, + "modes": [ + "image2image" + ], + "settings": [ + "text2image", + "image2image" + ], + "advancedSettings": [ + "search_enabled" + ], + "generateTypes": { + "text": 83, + "image": 83, + "checkpointId": 22621740 + }, + "propertyKeys": [ + "cameraControl", + "magic", + "focus", + "mention", + "count", + "template", + "prompt", + "quality", + "ratio", + "search_enabled" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "nebula-2-flash", + "modelName": "全能图片模型V2-Flash", + "modelVendor": "nebula", + "baseType": 70, + "properties": { + "cameraControl": true, + "magic": true, + "focus": true, + "mention": true, + "count": [ + 1, + 2, + 4 + ], + "template": { + "displayName": "风格", + "maxCount": 1 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + "1K", + "2K", + "4K" + ], + "default": "2K", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + }, + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3", + "4:5", + "5:4", + "8:1", + "1:8", + "4:1", + "1:4", + "21:9" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "search_enabled": { + "displayName": "联网搜索", + "default": 0, + "component": "switch", + "originalField": "search_enabled" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 7 + ] + } + } + }, + "config": { + "settings": { + "text2image": [ + "quality", + "ratio" + ], + "image2image": [ + "quality", + "ratio" + ] + }, + "advancedSettings": [ + "search_enabled" + ] + }, + "generateTypes": { + "text": 83, + "image": 83, + "checkpointId": 22621740 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "text", + "toolKey": "aurora-3-lite", + "defaultFlag": 0, + "modelKey": "aurora-3-lite", + "modelName": "多模态文本模型lite", + "vendor": "aurora", + "modes": [ + "image2text", + "video2text" + ], + "settings": [], + "advancedSettings": [], + "generateTypes": [], + "propertyKeys": [ + "prompt" + ], + "rules": [ + { + "require": [ + "prompt" + ] + } + ], + "metadata": { + "modelKey": "aurora-3-lite", + "modelName": "多模态文本模型lite", + "modelVendor": "aurora", + "properties": { + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "modeType": { + "description": "模态类型", + "items": { + "image2text": [ + 0, + 7 + ], + "video2text": [ + 0, + 1 + ] + } + } + }, + "generateTypes": [], + "rules": [ + { + "require": [ + "prompt" + ] + } + ] + } + }, + { + "type": "image", + "toolKey": "nebula-core", + "defaultFlag": 0, + "modelKey": "nebula-core", + "modelName": "全能图片模型", + "vendor": "nebula", + "baseType": 40, + "modes": [ + "image2image" + ], + "settings": [ + "ratio", + "quality" + ], + "advancedSettings": [], + "generateTypes": { + "text": 61, + "image": 61, + "checkpointId": 21522459 + }, + "propertyKeys": [ + "cameraControl", + "magic", + "mention", + "count", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "nebula-core", + "modelName": "全能图片模型", + "modelVendor": "nebula", + "baseType": 40, + "properties": { + "cameraControl": true, + "magic": true, + "mention": true, + "count": [ + 1, + 2, + 4 + ], + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3", + "4:5", + "5:4", + "21:9" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 10 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "quality" + ] + }, + "generateTypes": { + "text": 61, + "image": 61, + "checkpointId": 21522459 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "wanxiang-v2-6", + "defaultFlag": 0, + "modelKey": "wanxiang-v2-6", + "modelName": "Wan 2.6", + "vendor": "Wan", + "baseType": 56, + "modes": [ + "frames2video", + "video2video" + ], + "settings": [ + "text2video", + "frames2video", + "video2video" + ], + "advancedSettings": [ + "multiClip" + ], + "generateTypes": { + "text": 54, + "image": 54, + "checkpointId": 22222563 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "enableSound", + "ratio", + "ratio_auto", + "duration", + "resolution", + "multiClip" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "video2video", + "frames2video" + ] + } + ], + "metadata": { + "type": "video", + "modelName": "Wan 2.6", + "modelVendor": "Wan", + "modelKey": "wanxiang-v2-6", + "baseType": 56, + "properties": { + "magic": true, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 1500 + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9", + "9:16", + "1:1", + "4:3", + "3:4" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "ratio" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "720P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "multiClip": { + "description": "", + "displayName": "多镜头", + "tips": "生成包含多个镜头角度和场景切换的视频,增强视觉叙事效果", + "component": "switch", + "default": 1, + "originalField": "multiClip" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 1, + 1 + ], + "video2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "frames2video": [ + "ratio_auto", + "resolution", + "duration", + "enableSound" + ], + "video2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ] + }, + "advancedSettings": [ + "multiClip" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "video2video", + "frames2video" + ] + } + ], + "generateTypes": { + "text": 54, + "image": 54, + "checkpointId": 22222563 + } + } + }, + { + "type": "text", + "toolKey": "qwen-3-vl-flash", + "defaultFlag": 0, + "modelKey": "qwen-3-vl-flash", + "modelName": "Qwen 3 VL Flash", + "vendor": "qwen", + "modes": [ + "image2text", + "video2text" + ], + "settings": [], + "advancedSettings": [], + "generateTypes": [], + "propertyKeys": [ + "prompt" + ], + "rules": [ + { + "require": [ + "prompt" + ] + } + ], + "metadata": { + "modelKey": "qwen-3-vl-flash", + "modelName": "Qwen 3 VL Flash", + "modelVendor": "qwen", + "properties": { + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "modeType": { + "description": "模态类型", + "items": { + "image2text": [ + 0, + 7 + ], + "video2text": [ + 0, + 1 + ] + } + } + }, + "generateTypes": [], + "rules": [ + { + "require": [ + "prompt" + ] + } + ] + } + }, + { + "type": "image", + "toolKey": "qwen", + "defaultFlag": 0, + "modelKey": "qwen", + "modelName": "Qwen Image", + "vendor": "qwen", + "baseType": 37, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "text": 56, + "image": 57, + "checkpointId": 21304658 + }, + "propertyKeys": [ + "count", + "lora", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "qwen", + "modelName": "Qwen Image", + "modelVendor": "qwen", + "baseType": 37, + "properties": { + "count": [ + 1, + 2, + 4 + ], + "lora": { + "displayName": "风格", + "maxCount": 3 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 2 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "text": 56, + "image": 57, + "checkpointId": 21304658 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "motion-3.1-rapid", + "defaultFlag": 0, + "modelKey": "motion-3.1-rapid", + "modelName": "全能视频模型3.1快速版", + "vendor": "motion", + "modes": [ + "frames2video", + "image2video", + "singleImage2video" + ], + "settings": [ + "text2video", + "singleImage2video", + "frames2video", + "image2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22685010 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "enableSound", + "ratio", + "ratio_16_9", + "duration", + "resolution" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "motion-3.1-rapid", + "modelName": "全能视频模型3.1快速版", + "modelVendor": "motion", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9", + "9:16" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "ratio_16_9": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 8, + "displayName": "8s" + } + ], + "default": 8, + "originalField": "duration", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "720P", + "1080P", + "4K" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 2, + 2 + ], + "image2video": [ + 1, + 7 + ], + "singleImage2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "singleImage2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "frames2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "image2video": [ + "ratio_16_9", + "resolution", + "duration", + "enableSound" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22685010 + } + } + }, + { + "type": "audio", + "toolKey": "mureka-8", + "defaultFlag": 0, + "modelKey": "mureka-8", + "modelName": "Mureka V8", + "vendor": "mureka", + "scene": "音乐", + "modes": [], + "settings": [], + "advancedSettings": [ + "instrumental" + ], + "generateTypes": { + "audio": 99, + "checkpointId": 22685089 + }, + "propertyKeys": [ + "prompt", + "instrumental" + ], + "rules": [ + { + "require": [ + "prompt" + ] + } + ], + "metadata": { + "modelKey": "mureka-8", + "modelName": "Mureka V8", + "modelVendor": "mureka", + "scene": "Music", + "sceneName": "音乐", + "properties": { + "prompt": { + "description": "", + "placeholder": "描述您想要的音乐", + "maxLength": 1024 + }, + "instrumental": { + "displayName": "纯乐器", + "default": 1, + "component": "switch", + "originalField": "force_instrumental" + } + }, + "config": { + "advancedSettings": [ + "instrumental" + ] + }, + "generateTypes": { + "audio": 99, + "checkpointId": 22685089 + }, + "rules": [ + { + "require": [ + "prompt" + ] + } + ] + } + }, + { + "type": "audio", + "toolKey": "vocal-v3", + "defaultFlag": 1, + "modelKey": "vocal-v3", + "modelName": "智能语音模型V3", + "vendor": "vocal", + "scene": "文字转语音", + "modes": [], + "settings": [], + "advancedSettings": [ + "voice", + "stability" + ], + "generateTypes": { + "audio": 112, + "checkpointId": 22685105 + }, + "propertyKeys": [ + "prompt", + "voice", + "stability", + "duration" + ], + "rules": [ + { + "require": [ + "prompt" + ] + } + ], + "metadata": { + "modelKey": "vocal-v3", + "modelName": "智能语音模型V3", + "modelVendor": "vocal", + "scene": "Text-to-Speech", + "sceneName": "文字转语音", + "properties": { + "prompt": { + "placeholder": "描述信息", + "maxLength": 5000 + }, + "voice": { + "description": "", + "displayName": "音色", + "originalField": "voice_id", + "component": "singleSelect", + "layout": "vertical" + }, + "stability": { + "displayName": "稳定性", + "enum": [ + { + "value": 0, + "displayName": "活泼的" + }, + { + "value": 0.5, + "displayName": "自然的" + }, + { + "value": 1, + "displayName": "沉稳的" + } + ], + "default": 0.5, + "component": "singleButton" + }, + "duration": { + "displayName": "音乐时长", + "tips": "设定歌曲长度。自动模式下优先保证歌词完整;指定时长后则优先匹配时长。", + "enum": [ + { + "value": 30000, + "displayName": "30秒" + }, + { + "value": 60000, + "displayName": "1分钟" + }, + { + "value": 120000, + "displayName": "2分钟" + }, + { + "value": 180000, + "displayName": "3分钟" + }, + { + "value": 240000, + "displayName": "4分钟" + } + ], + "default": 30000, + "layout": "horizontal", + "component": "singleSelect", + "originalField": "music_length_ms" + } + }, + "config": { + "advancedSettings": [ + "voice", + "stability" + ] + }, + "generateTypes": { + "audio": 112, + "checkpointId": 22685105 + }, + "rules": [ + { + "require": [ + "prompt" + ] + } + ] + } + }, + { + "type": "audio", + "toolKey": "vocal-music", + "defaultFlag": 0, + "modelKey": "vocal-music", + "modelName": "智能音乐模型", + "vendor": "vocal", + "scene": "音乐", + "modes": [], + "settings": [], + "advancedSettings": [ + "duration" + ], + "generateTypes": { + "audio": 112, + "checkpointId": 22685108 + }, + "propertyKeys": [ + "prompt", + "duration" + ], + "rules": [ + { + "require": [ + "prompt" + ] + } + ], + "metadata": { + "modelKey": "vocal-music", + "modelName": "智能音乐模型", + "modelVendor": "vocal", + "scene": "Music", + "sceneName": "音乐", + "properties": { + "prompt": { + "description": "", + "placeholder": "描述信息", + "maxLength": 5000 + }, + "duration": { + "displayName": "音乐时长", + "tips": "设定歌曲长度。自动模式下优先保证歌词完整;指定时长后则优先匹配时长。", + "enum": [ + { + "value": 30000, + "displayName": "30秒" + }, + { + "value": 60000, + "displayName": "1分钟" + }, + { + "value": 120000, + "displayName": "2分钟" + }, + { + "value": 180000, + "displayName": "3分钟" + }, + { + "value": 240000, + "displayName": "4分钟" + } + ], + "default": 30000, + "layout": "horizontal", + "component": "singleSelect", + "originalField": "music_length_ms" + } + }, + "config": { + "advancedSettings": [ + "duration" + ] + }, + "generateTypes": { + "audio": 112, + "checkpointId": 22685108 + }, + "rules": [ + { + "require": [ + "prompt" + ] + } + ] + } + }, + { + "type": "video", + "toolKey": "motion-3.1-lite", + "defaultFlag": 0, + "modelKey": "motion-3.1-lite", + "modelName": "Video3.1 Lite", + "vendor": "motion", + "modes": [ + "frames2video", + "image2video", + "singleImage2video" + ], + "settings": [ + "text2video", + "singleImage2video", + "frames2video", + "image2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22805386 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "enableSound", + "ratio", + "ratio_16_9", + "duration", + "resolution" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "motion-3.1-lite", + "modelName": "Video3.1 Lite", + "modelVendor": "motion", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9", + "9:16" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "ratio_16_9": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 8, + "displayName": "8s" + } + ], + "default": 8, + "originalField": "duration", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "720P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 2, + 2 + ], + "image2video": [ + 1, + 7 + ], + "singleImage2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "singleImage2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "frames2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "image2video": [ + "ratio_16_9", + "resolution", + "duration", + "enableSound" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22805386 + } + } + }, + { + "type": "image", + "toolKey": "qwen-edit", + "defaultFlag": 0, + "modelKey": "qwen-edit", + "modelName": "Qwen Image Edit", + "vendor": "qwen", + "baseType": 39, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "text": 58, + "image": 59, + "checkpointId": 22314407 + }, + "propertyKeys": [ + "count", + "lora", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "qwen-edit", + "modelName": "Qwen Image Edit", + "modelVendor": "qwen", + "baseType": 39, + "properties": { + "count": [ + 1, + 2, + 4 + ], + "lora": { + "displayName": "风格", + "maxCount": 3 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 1, + 2 + ] + } + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "text": 58, + "image": 59, + "checkpointId": 22314407 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "motion-3.1", + "defaultFlag": 0, + "modelKey": "motion-3.1", + "modelName": "全能视频模型3.1", + "vendor": "motion", + "modes": [ + "frames2video", + "image2video", + "singleImage2video" + ], + "settings": [ + "text2video", + "singleImage2video", + "frames2video", + "image2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22685033 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "duration", + "resolution", + "resolution_auto", + "enableSound" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "motion-3.1", + "modelName": "全能视频模型3.1", + "modelVendor": "motion", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9", + "9:16" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 4, + "displayName": "4s" + }, + { + "value": 6, + "displayName": "6s" + }, + { + "value": 8, + "displayName": "8s" + } + ], + "default": 4, + "originalField": "duration", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "720P", + "1080P", + "4K" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "resolution_auto": { + "displayName": "清晰度", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "resolution" + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 2, + 2 + ], + "image2video": [ + 1, + 3 + ], + "singleImage2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "enableSound", + "duration" + ], + "singleImage2video": [ + "ratio", + "resolution", + "enableSound", + "duration" + ], + "frames2video": [ + "ratio", + "resolution", + "enableSound", + "duration" + ], + "image2video": [ + "ratio", + "resolution", + "enableSound", + "duration" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22685033 + } + } + }, + { + "type": "image", + "toolKey": "z-image", + "defaultFlag": 0, + "modelKey": "z-image", + "modelName": "Z Image", + "vendor": "zimage", + "baseType": 53, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "text": 87, + "image": 88, + "checkpointId": 22149465 + }, + "propertyKeys": [ + "count", + "lora", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "z-image", + "modelName": "Z Image", + "modelVendor": "zimage", + "baseType": 53, + "properties": { + "count": [ + 1, + 2, + 4 + ], + "lora": { + "displayName": "风格", + "maxCount": 3 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + "1K", + "2K", + "4K" + ], + "default": "1K", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 1 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "text": 87, + "image": 88, + "checkpointId": 22149465 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "seedance-1.5-pro", + "defaultFlag": 0, + "modelKey": "seedance-1.5-pro", + "modelName": "Seedance 1.5 Pro", + "vendor": "Seedance", + "modes": [ + "singleImage2video" + ], + "settings": [ + "text2video", + "singleImage2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 22310517 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "resolution", + "resolution_480", + "duration", + "enableSound" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelName": "Seedance 1.5 Pro", + "modelVendor": "Seedance", + "modelKey": "seedance-1.5-pro", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9", + "1:1", + "4:3", + "3:4", + "9:16", + "21:9" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "480P", + "720P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "resolution_480": { + "description": "", + "displayName": "清晰度", + "enum": [ + "480P", + "720P", + "1080P" + ], + "default": "480P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "singleImage2video": [ + "ratio", + "resolution_480", + "duration", + "enableSound" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 22310517 + } + } + }, + { + "type": "video", + "toolKey": "star-video2", + "defaultFlag": 1, + "modelKey": "star-video2", + "modelName": "StarVideo 2.0", + "vendor": "star-video2", + "modes": [ + "singleImage2video", + "frames2video", + "image2video", + "mixed2video", + "audio2video" + ], + "settings": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "advancedSettings": [ + "search_enabled" + ], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 22732317 + }, + "propertyKeys": [ + "strikethroughPrice", + "promotionLabel", + "magic", + "mention", + "portrait", + "count", + "prompt", + "ratio", + "resolution", + "duration", + "enableSound", + "search_enabled" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelName": "StarVideo 2.0", + "modelVendor": "star-video2", + "modelKey": "star-video2", + "properties": { + "strikethroughPrice": { + "active": true, + "rules": [ + { + "resolution": "720p", + "noVideo": true + } + ] + }, + "promotionLabel": { + "text": "会员最高享前60条免费", + "startTime": "2026-04-01T00:00:00Z", + "endTime": "2026-04-07T23:59:59+08:00" + }, + "magic": true, + "mention": true, + "portrait": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + { + "value": "adaptive", + "displayName": "Auto" + }, + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + "21:9" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + { + "value": "480p", + "displayName": "480P" + }, + { + "value": "720p", + "displayName": "720P" + }, + { + "value": "1080p", + "displayName": "1080P" + } + ], + "default": "720p", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "min": 4, + "max": 15, + "step": 1, + "default": 5, + "originalField": "duration", + "component": "slider" + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "search_enabled": { + "displayName": "联网搜索", + "default": 1, + "component": "switch", + "originalField": "search_enabled" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 1, + 1 + ], + "frames2video": [ + 1, + 2 + ], + "image2video": [ + 1, + 9 + ], + "mixed2video": [ + 1, + 15 + ], + "audio2video": [ + 0, + 3 + ] + }, + "mixed2videoConfig": { + "videoMax": 3, + "imageMax": 9, + "audioMax": 3 + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "advancedSettings": [ + "search_enabled" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 22732317 + } + } + }, + { + "type": "video", + "toolKey": "star-video2-fast", + "defaultFlag": 0, + "modelKey": "star-video2-fast", + "modelName": "StarVideo 2.0 Fast", + "vendor": "star-video2-fast", + "modes": [ + "singleImage2video", + "frames2video", + "image2video", + "mixed2video", + "audio2video" + ], + "settings": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "advancedSettings": [ + "search_enabled" + ], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 22733327 + }, + "propertyKeys": [ + "strikethroughPrice", + "magic", + "mention", + "portrait", + "count", + "prompt", + "ratio", + "resolution", + "duration", + "enableSound", + "search_enabled" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelName": "StarVideo 2.0 Fast", + "modelVendor": "star-video2-fast", + "modelKey": "star-video2-fast", + "properties": { + "strikethroughPrice": { + "active": true, + "rules": [ + { + "resolution": "720p", + "noVideo": true + } + ] + }, + "magic": true, + "mention": true, + "portrait": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + { + "value": "adaptive", + "displayName": "Auto" + }, + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + "21:9" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + { + "value": "480p", + "displayName": "480P" + }, + { + "value": "720p", + "displayName": "720P" + } + ], + "default": "720p", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "min": 4, + "max": 15, + "step": 1, + "default": 5, + "originalField": "duration", + "component": "slider" + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "search_enabled": { + "displayName": "联网搜索", + "default": 1, + "component": "switch", + "originalField": "search_enabled" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 1, + 1 + ], + "frames2video": [ + 1, + 2 + ], + "image2video": [ + 1, + 9 + ], + "mixed2video": [ + 1, + 15 + ], + "audio2video": [ + 0, + 3 + ] + }, + "mixed2videoConfig": { + "videoMax": 3, + "imageMax": 9, + "audioMax": 3 + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "advancedSettings": [ + "search_enabled" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 22733327 + } + } + }, + { + "type": "compose", + "toolKey": "media-platform", + "defaultFlag": 0, + "modes": [], + "settings": [], + "advancedSettings": [], + "generateTypes": {}, + "propertyKeys": [], + "rules": null, + "metadata": {} + }, + { + "type": "video", + "toolKey": "seedance2.0", + "defaultFlag": 0, + "modelKey": "seedance2.0", + "modelName": "Seedance 2.0", + "vendor": "seedance2.0", + "modes": [ + "singleImage2video", + "frames2video", + "image2video", + "audio2video", + "mixed2video" + ], + "settings": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "advancedSettings": [ + "search_enabled" + ], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 22732317 + }, + "propertyKeys": [ + "magic", + "mention", + "portrait", + "count", + "prompt", + "ratio", + "resolution", + "duration", + "enableSound", + "search_enabled" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelName": "Seedance 2.0", + "modelVendor": "seedance2.0", + "modelKey": "seedance2.0", + "properties": { + "magic": true, + "mention": true, + "portrait": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + { + "value": "adaptive", + "displayName": "Auto" + }, + "16:9", + "4:3", + "1:1", + "3:4", + "9:16", + "21:9" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + { + "value": "480p", + "displayName": "480P" + }, + { + "value": "720p", + "displayName": "720P" + } + ], + "default": "720p", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "min": 4, + "max": 15, + "step": 1, + "default": 5, + "originalField": "duration", + "component": "slider" + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "search_enabled": { + "displayName": "联网搜索", + "default": 1, + "component": "switch", + "originalField": "search_enabled" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 1, + 1 + ], + "frames2video": [ + 1, + 2 + ], + "image2video": [ + 1, + 9 + ], + "audio2video": [ + 0, + 3 + ], + "mixed2video": [ + 1, + 15 + ] + }, + "mixed2videoConfig": { + "videoMax": 3, + "imageMax": 9, + "audioMax": 3 + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "advancedSettings": [ + "search_enabled" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 22732317 + } + } + }, + { + "type": "image", + "toolKey": "orbit-2-image", + "defaultFlag": 0, + "modelKey": "orbit-2-image", + "modelName": "艾克斯图片模型", + "vendor": "orbit", + "modes": [], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [], + "generateTypes": { + "text": 110, + "image": 110, + "checkpointId": 22685005 + }, + "propertyKeys": [ + "count", + "prompt", + "quality", + "ratio" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "orbit-2-image", + "modelName": "艾克斯图片模型", + "modelVendor": "orbit", + "properties": { + "count": [ + 1, + 2, + 4 + ], + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "ratio" + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ] + }, + "generateTypes": { + "text": 110, + "image": 110, + "checkpointId": 22685005 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "doubao-seedance-pro", + "defaultFlag": 0, + "modelKey": "doubao-seedance-pro", + "modelName": "Seedance Pro", + "vendor": "Seedance", + "modes": [ + "frames2video", + "singleImage2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 20870736 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "resolution", + "duration" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelName": "Seedance Pro", + "modelVendor": "Seedance", + "modelKey": "doubao-seedance-pro", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9", + "1:1", + "3:4", + "4:3", + "9:16", + "21:9", + "9:21" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "480P", + "720P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 2, + 2 + ], + "singleImage2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 20870736 + } + } + }, + { + "type": "image", + "toolKey": "seedream-4", + "defaultFlag": 0, + "modelKey": "seedream-4", + "modelName": "Seedream 4.0", + "vendor": "Seedream", + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "sequential" + ], + "generateTypes": { + "text": 65, + "image": 65, + "checkpointId": 21627436 + }, + "propertyKeys": [ + "count", + "styles", + "prompt", + "quality", + "ratio", + "sequential" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "seedream-4", + "modelName": "Seedream 4.0", + "modelVendor": "Seedream", + "properties": { + "count": [ + 1, + 2, + 4 + ], + "styles": { + "displayName": "风格", + "maxCount": 1 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + "2K", + "4K" + ], + "default": "2K", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3", + "21:9" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "sequential": { + "displayName": "组图模式", + "default": 1, + "component": "switch", + "originalField": "sequential", + "tips": "开启后,模型会根据用户提供的提示词自主判断是否返回组图以及组图包含的图片数量。" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 6 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "sequential" + ] + }, + "generateTypes": { + "text": 65, + "image": 65, + "checkpointId": 21627436 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "doubao-seedance-lite", + "defaultFlag": 0, + "modelKey": "doubao-seedance-lite", + "modelName": "Seedance Lite", + "vendor": "Seedance", + "modes": [ + "frames2video", + "singleImage2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 20872782 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "resolution", + "duration" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelName": "Seedance Lite", + "modelVendor": "Seedance", + "modelKey": "doubao-seedance-lite", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9", + "1:1", + "3:4", + "4:3", + "9:16", + "21:9", + "9:21" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "480P", + "720P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 2, + 2 + ], + "singleImage2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "generateTypes": { + "text": 47, + "image": 48, + "checkpointId": 20872782 + } + } + }, + { + "type": "image", + "toolKey": "seedream-4.5", + "defaultFlag": 0, + "modelKey": "seedream-4.5", + "modelName": "Seedream 4.5", + "vendor": "Seedream", + "baseType": 55, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "sequential" + ], + "generateTypes": { + "text": 65, + "image": 65, + "checkpointId": 22188573 + }, + "propertyKeys": [ + "mention", + "count", + "template", + "prompt", + "quality", + "ratio", + "sequential" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "seedream-4.5", + "modelName": "Seedream 4.5", + "modelVendor": "Seedream", + "baseType": 55, + "properties": { + "mention": true, + "count": [ + 1, + 2, + 4 + ], + "template": { + "displayName": "风格", + "maxCount": 1 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + "2K", + "4K" + ], + "default": "2K", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "sequential": { + "displayName": "组图模式", + "default": 1, + "component": "switch", + "originalField": "sequential", + "tips": "开启后,模型会根据用户提供的提示词自主判断是否返回组图以及组图包含的图片数量。" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 14 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "sequential" + ] + }, + "generateTypes": { + "text": 65, + "image": 65, + "checkpointId": 22188573 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "kling-v2-6", + "defaultFlag": 0, + "modelKey": "kling-v2-6", + "modelName": "可灵V2.6", + "vendor": "Kling", + "baseType": 58, + "modes": [ + "singleImage2video", + "frames2video" + ], + "settings": [ + "text2video", + "singleImage2video", + "frames2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 90, + "image": 90, + "checkpointId": 22182010 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "ratio", + "quality", + "quality_high", + "duration", + "enableSound" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "kling-v2-6", + "modelName": "可灵V2.6", + "modelVendor": "Kling", + "baseType": 58, + "properties": { + "magic": false, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 2000 + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9", + "1:1", + "9:16" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "quality": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "low", + "displayName": "标准" + }, + { + "value": "high", + "displayName": "高品质模式" + } + ], + "default": "high", + "originalField": "quality", + "component": "singleButton" + }, + "quality_high": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "high", + "displayName": "高品质" + } + ], + "default": "high", + "component": "singleButton", + "originalField": "quality" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 1, + 1 + ], + "frames2video": [ + 2, + 2 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "quality", + "duration", + "enableSound" + ], + "singleImage2video": [ + "quality", + "duration", + "enableSound" + ], + "frames2video": [ + "quality_high", + "duration" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 90, + "image": 90, + "checkpointId": 22182010 + } + } + }, + { + "type": "image", + "toolKey": "seedream-5", + "defaultFlag": 0, + "modelKey": "seedream-5", + "modelName": "Seedream 5.0", + "vendor": "Seedream", + "baseType": 68, + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "sequential" + ], + "generateTypes": { + "text": 65, + "image": 65, + "checkpointId": 22603852 + }, + "propertyKeys": [ + "mention", + "count", + "template", + "prompt", + "quality", + "ratio", + "sequential" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "seedream-5", + "modelName": "Seedream 5.0", + "modelVendor": "Seedream", + "baseType": 68, + "properties": { + "mention": true, + "count": [ + 1, + 2, + 4 + ], + "template": { + "displayName": "风格", + "maxCount": 1 + }, + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + "2K", + "3K" + ], + "default": "2K", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "sequential": { + "displayName": "组图模式", + "default": 1, + "component": "switch", + "originalField": "sequential", + "tips": "开启后,模型会根据用户提供的提示词自主判断是否返回组图以及组图包含的图片数量。" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 6 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "sequential" + ] + }, + "generateTypes": { + "text": 65, + "image": 65, + "checkpointId": 22603852 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "kling-v3-motion-control", + "defaultFlag": 0, + "modelKey": "kling-v3-motion-control", + "modelName": "动作控制-可灵O3", + "vendor": "Kling", + "modes": [ + "mixed2video" + ], + "settings": [ + "quality" + ], + "advancedSettings": [ + "characterOrientation", + "keepOriginalSound" + ], + "generateTypes": { + "text": 90, + "image": 90, + "checkpointId": 22522069 + }, + "propertyKeys": [ + "actionFollow", + "magic", + "motionImitation", + "derivesDurationFromVideo", + "count", + "prompt", + "characterOrientation", + "quality", + "keepOriginalSound", + "mediaConstraints" + ], + "rules": [ + { + "require": [ + "image", + "video" + ], + "mode": "all", + "message": "请同时添加参考图片和视频" + } + ], + "metadata": { + "modelKey": "kling-v3-motion-control", + "modelName": "动作控制-可灵O3", + "modelVendor": "Kling", + "disabledTip": "该模型需要连入图片和视频素材", + "properties": { + "actionFollow": true, + "magic": true, + "motionImitation": true, + "derivesDurationFromVideo": true, + "count": [ + 1 + ], + "prompt": { + "placeholder": "动作控制仅支持单人角色,参考单人视频中的动作,请确保输入的图片和视频中的角色清晰可见", + "maxLength": 2000 + }, + "characterOrientation": { + "displayName": "人物朝向", + "tips": "当角色朝向与视频一致时,复杂动作的表现会更好;当其与图像一致时,对镜头运动的支持会更好。", + "enum": [ + { + "value": "image", + "displayName": "与图片一致" + }, + { + "value": "video", + "displayName": "与视频一致" + } + ], + "default": "video", + "originalField": "characterOrientation", + "component": "singleSelect" + }, + "quality": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "low", + "displayName": "标准" + }, + { + "value": "high", + "displayName": "高品质模式" + } + ], + "default": "low", + "originalField": "quality", + "component": "singleButton" + }, + "keepOriginalSound": { + "displayName": "保留原始音频", + "tips": "生成的视频是否保留原始音频。", + "component": "switch", + "default": 1, + "originalField": "keepOriginalSound" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "mixed2video": [ + 2, + 2 + ] + }, + "mixed2videoConfig": { + "videoMax": 1, + "imageMaxWithVideo": 1 + } + }, + "mediaConstraints": { + "mixed2video": { + "video": { + "duration": { + "min": 3, + "max": 30, + "message": "输入视频需要在3s-30s之间,可使用【剪辑工具】进行快捷剪辑", + "action": "block" + } + } + } + } + }, + "config": { + "settings": [ + "quality" + ], + "advancedSettings": [ + "characterOrientation", + "keepOriginalSound" + ] + }, + "rules": [ + { + "require": [ + "image", + "video" + ], + "mode": "all", + "message": "请同时添加参考图片和视频" + } + ], + "generateTypes": { + "text": 90, + "image": 90, + "checkpointId": 22522069 + } + } + }, + { + "type": "image", + "toolKey": "mj-v7", + "defaultFlag": 0, + "modelKey": "mj-v7", + "modelName": "Midjourney V7", + "vendor": "Midjourney", + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "personalisation", + "stylize", + "weird", + "chaos" + ], + "generateTypes": { + "text": 67, + "image": 67, + "checkpointId": 21811215 + }, + "propertyKeys": [ + "count", + "prompt", + "quality", + "ratio", + "personalisation", + "stylize", + "weird", + "chaos" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "mj-v7", + "modelName": "Midjourney V7", + "modelVendor": "Midjourney", + "properties": { + "count": [ + 4 + ], + "prompt": { + "description": "", + "placeholder": "描述想要生成的图像或按'/'呼出快捷指令,如需使用sref code ,请在prompt最后添加 --sref 12345", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "personalisation": { + "displayName": "个性化风格", + "tips": "同步你的MJ专属风格在 Midjourney 中找到你的P值,复制并粘贴到右侧输入框", + "placeholder": "请输入你的个性化风格P值", + "default": "", + "component": "input", + "originalField": "personalisation", + "layout": "horizontal" + }, + "stylize": { + "displayName": "风格化程度", + "tips": "控制画面艺术化程度,越高越具创意。", + "default": 100, + "min": 0, + "max": 1000, + "step": 50, + "component": "slider", + "originalField": "stylize" + }, + "weird": { + "displayName": "怪异度", + "tips": "控制画面非常规程度,越高越脑洞大。", + "default": 100, + "min": 0, + "max": 3000, + "step": 50, + "component": "slider", + "originalField": "weird" + }, + "chaos": { + "displayName": "多样性", + "tips": "控制生成差异度,越高生成结果越随机。", + "default": 5, + "min": 0, + "max": 100, + "step": 5, + "component": "slider", + "originalField": "chaos" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 6 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "personalisation", + "stylize", + "weird", + "chaos" + ] + }, + "generateTypes": { + "text": 67, + "image": 67, + "checkpointId": 21811215 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "wanx-motion-control", + "defaultFlag": 0, + "modelKey": "wanx-motion-control", + "modelName": "动作迁移", + "vendor": "wanx", + "modes": [ + "videoEdit2video", + "singleImage2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [ + "characterOrientation", + "generateMode", + "keepOriginalSound" + ], + "generateTypes": { + "text": 81, + "image": 81, + "checkpointId": 22177004 + }, + "propertyKeys": [ + "actionFollow", + "magic", + "motionImitation", + "count", + "prompt", + "ratio", + "resolution", + "duration", + "duration_video", + "characterOrientation", + "generateMode", + "keepOriginalSound" + ], + "rules": [ + { + "require": [ + "image", + "video" + ], + "mode": "all", + "message": "请同时添加参考图片和视频" + } + ], + "metadata": { + "modelKey": "wanx-motion-control", + "modelName": "动作迁移", + "modelVendor": "wanx", + "properties": { + "actionFollow": true, + "magic": true, + "motionImitation": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 2000 + }, + "ratio": { + "description": "", + "default": "auto", + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "特殊处理,人物朝向选择与图片一致时使用这组数据", + "displayName": "视频时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "duration_video": { + "description": "特殊处理,人物朝向选择与视频一致时使用这组数据", + "displayName": "视频时长", + "enum": [ + { + "value": 10, + "displayName": "10s" + }, + { + "value": 20, + "displayName": "20s" + }, + { + "value": 30, + "displayName": "30s" + } + ], + "default": 10, + "originalField": "duration", + "component": "singleButton" + }, + "characterOrientation": { + "displayName": "人物朝向", + "tips": "当角色朝向与视频一致时,复杂动作的表现会更好;当其与图像一致时,对镜头运动的支持会更好。", + "enum": [ + { + "value": "image", + "displayName": "与图片一致" + }, + { + "value": "video", + "displayName": "与视频一致" + } + ], + "default": "image", + "originalField": "characterOrientation", + "component": "singleSelect" + }, + "generateMode": { + "displayName": "生成模式", + "tips": "标准模式速度快,专业模式质量高", + "enum": [ + { + "value": "std", + "displayName": "标准模式" + }, + { + "value": "pro", + "displayName": "专业模式" + } + ], + "default": "std", + "originalField": "generateMode", + "component": "singleSelect" + }, + "keepOriginalSound": { + "displayName": "保留原始音频", + "tips": "生成的视频是否保留原始音频。", + "component": "switch", + "default": 1, + "originalField": "keepOriginalSound" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "videoEdit2video": [ + 1, + 1 + ], + "singleImage2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [ + "characterOrientation", + "generateMode", + "keepOriginalSound" + ] + }, + "rules": [ + { + "require": [ + "image", + "video" + ], + "mode": "all", + "message": "请同时添加参考图片和视频" + } + ], + "generateTypes": { + "text": 81, + "image": 81, + "checkpointId": 22177004 + } + } + }, + { + "type": "image", + "toolKey": "mj-niji7", + "defaultFlag": 0, + "modelKey": "mj-niji7", + "modelName": "Midjourney Niji 7", + "vendor": "Midjourney", + "modes": [ + "image2image" + ], + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "personalisation", + "stylize", + "weird", + "chaos" + ], + "generateTypes": { + "text": 67, + "image": 67, + "checkpointId": 21811215 + }, + "propertyKeys": [ + "count", + "prompt", + "quality", + "ratio", + "personalisation", + "stylize", + "weird", + "chaos" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "mj-niji7", + "modelName": "Midjourney Niji 7", + "modelVendor": "Midjourney", + "properties": { + "count": [ + 4 + ], + "prompt": { + "description": "", + "placeholder": "描述想要生成的图像或按'/'呼出快捷指令,如需使用sref code ,请在prompt最后添加 --sref 12345", + "maxLength": 0 + }, + "quality": { + "displayName": "分辨率", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "quality" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "1:1", + "9:16", + "16:9", + "3:4", + "4:3", + "3:2", + "2:3" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "personalisation": { + "displayName": "个性化风格", + "tips": "同步你的MJ专属风格在 Midjourney 中找到你的P值,复制并粘贴到右侧输入框", + "default": "", + "component": "input", + "originalField": "personalisation", + "layout": "horizontal" + }, + "stylize": { + "displayName": "风格化程度", + "tips": "控制画面艺术化程度,越高越具创意。", + "default": 100, + "min": 0, + "max": 1000, + "step": 50, + "component": "slider", + "originalField": "stylize" + }, + "weird": { + "displayName": "怪异度", + "tips": "控制画面非常规程度,越高越脑洞大。", + "default": 100, + "min": 0, + "max": 3000, + "step": 50, + "component": "slider", + "originalField": "weird" + }, + "chaos": { + "displayName": "多样性", + "tips": "控制生成差异度,越高生成结果越随机。", + "default": 5, + "min": 0, + "max": 100, + "step": 5, + "component": "slider", + "originalField": "chaos" + }, + "modeType": { + "description": "模态类型", + "items": { + "image2image": [ + 0, + 4 + ] + } + } + }, + "config": { + "settings": [ + "quality", + "ratio" + ], + "advancedSettings": [ + "personalisation", + "stylize", + "weird", + "chaos" + ] + }, + "generateTypes": { + "text": 67, + "image": 67, + "checkpointId": 21811215 + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ] + } + }, + { + "type": "video", + "toolKey": "midjourney-video", + "defaultFlag": 0, + "modelKey": "midjourney-video", + "modelName": "MJ Video", + "vendor": "midjourney", + "modes": [ + "frames2video" + ], + "settings": [ + "ratio", + "resolution", + "duration", + "motion", + "raw", + "loop" + ], + "advancedSettings": [], + "generateTypes": { + "text": 73, + "image": 73, + "checkpointId": 21811215 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "resolution", + "duration", + "motion", + "raw", + "loop" + ], + "rules": [ + { + "require": [ + "image" + ], + "message": "该模型需要参考图片才能生成视频" + } + ], + "metadata": { + "modelKey": "midjourney-video", + "modelName": "MJ Video", + "modelVendor": "midjourney", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "displayName": "视频比例", + "enum": [ + "4:3", + "16:9", + "1:1", + "1:2", + "2:3" + ], + "default": "16:9", + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "480P", + "720P" + ], + "default": "720P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "displayName": "视频时长", + "enum": [ + 5 + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "motion": { + "description": "", + "displayName": "运动强度", + "enum": [ + { + "value": "low", + "displayName": "低" + }, + { + "value": "high", + "displayName": "高" + } + ], + "originalField": "motion", + "component": "singleButton" + }, + "raw": { + "displayName": "Raw模式", + "tips": "", + "component": "switch", + "default": 0, + "originalField": "raw_mj" + }, + "loop": { + "description": "", + "displayName": "首尾循环模式", + "tips": "生成循环视频指以传入的图片作为视频的首尾帧,从而形成循环效果。", + "default": 0, + "component": "switch", + "originalField": "loop_mj" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 1, + 2 + ] + } + } + }, + "config": { + "excludeModeTypes": [ + "text2video" + ], + "settings": [ + "ratio", + "resolution", + "duration", + "motion", + "raw", + "loop" + ] + }, + "rules": [ + { + "require": [ + "image" + ], + "message": "该模型需要参考图片才能生成视频" + } + ], + "generateTypes": { + "text": 73, + "image": 73, + "checkpointId": 21811215 + } + } + }, + { + "type": "video", + "toolKey": "MiniMax-Hailuo-2.3-Fast", + "defaultFlag": 0, + "modelKey": "MiniMax-Hailuo-2.3-Fast", + "modelName": "Hailuo-2.3 Fast", + "vendor": "MiniMax", + "modes": [ + "singleImage2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [ + "cameraMovement" + ], + "generateTypes": { + "text": 41, + "image": 42, + "checkpointId": 21948870 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "resolution", + "duration", + "cameraMovement" + ], + "rules": [ + { + "require": [ + "media" + ], + "mode": "all" + } + ], + "metadata": { + "modelKey": "MiniMax-Hailuo-2.3-Fast", + "modelName": "Hailuo-2.3 Fast", + "modelVendor": "MiniMax", + "properties": { + "magic": false, + "count": [ + 1 + ], + "prompt": { + "maxLength": 2000 + }, + "ratio": { + "description": "", + "default": "auto", + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "768P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 6, + "displayName": "6s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 6, + "originalField": "duration", + "component": "singleButton" + }, + "cameraMovement": { + "displayName": "运镜指令", + "tips": "Hailuo 2.3 支持在提示词中使用运镜指令,如 [Zoom in]、[Pan left,Pedestal up] 等,点击按钮快速插入", + "enum": [ + { + "value": "[Zoom in]", + "displayName": "拉近" + }, + { + "value": "[Zoom out]", + "displayName": "拉远" + }, + { + "value": "[Pan left]", + "displayName": "左摇" + }, + { + "value": "[Pan right]", + "displayName": "右摇" + }, + { + "value": "[Tilt up]", + "displayName": "仰摄" + }, + { + "value": "[Tilt down]", + "displayName": "俯摄" + }, + { + "value": "[Push in]", + "displayName": "推镜" + }, + { + "value": "[Pull out]", + "displayName": "拉镜" + }, + { + "value": "[Truck left]", + "displayName": "左移" + }, + { + "value": "[Truck right]", + "displayName": "右移" + }, + { + "value": "[Pedestal up]", + "displayName": "上升" + }, + { + "value": "[Pedestal down]", + "displayName": "下降" + }, + { + "value": "[Shake]", + "displayName": "抖动" + }, + { + "value": "[Tracking shot]", + "displayName": "跟摄" + }, + { + "value": "[Static shot]", + "displayName": "静止" + } + ] + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [ + "cameraMovement" + ], + "excludeModeTypes": [ + "text2video" + ] + }, + "rules": [ + { + "require": [ + "media" + ], + "mode": "all" + } + ], + "generateTypes": { + "text": 41, + "image": 42, + "checkpointId": 21948870 + }, + "settingsRules": [ + { + "conflict": [ + { + "field": "resolution", + "values": [ + "1080P" + ] + }, + { + "field": "duration", + "values": [ + 10 + ] + } + ], + "message": "1080P 分辨率下不支持 10s 时长" + } + ] + } + }, + { + "type": "video", + "toolKey": "MiniMax-Hailuo-o2", + "defaultFlag": 0, + "modelKey": "MiniMax-Hailuo-o2", + "modelName": "Hailuo-O2", + "vendor": "MiniMax", + "baseType": 38, + "modes": [ + "singleImage2video", + "frames2video" + ], + "settings": [ + "text2video", + "singleImage2video", + "frames2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 41, + "image": 42, + "checkpointId": 21386133 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "ratio", + "resolution_txt", + "resolution", + "duration" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "MiniMax-Hailuo-o2", + "modelName": "Hailuo-O2", + "modelVendor": "MiniMax", + "baseType": 38, + "properties": { + "magic": true, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 2000 + }, + "ratio": { + "description": "", + "default": "auto", + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution_txt": { + "description": "", + "displayName": "清晰度", + "enum": [ + "768P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "512P", + "768P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 6, + "displayName": "6s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 6, + "originalField": "duration", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 1, + 1 + ], + "frames2video": [ + 2, + 2 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution_txt", + "duration" + ], + "singleImage2video": [ + "ratio", + "resolution", + "duration" + ], + "frames2video": [ + "ratio", + "resolution_txt", + "duration" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 41, + "image": 42, + "checkpointId": 21386133 + }, + "settingsRules": [ + { + "conflict": [ + { + "field": "resolution_txt", + "values": [ + "1080P" + ] + }, + { + "field": "duration", + "values": [ + 10 + ] + } + ], + "forModeTypes": [ + "text2video" + ], + "message": "1080P 分辨率下不支持 10s 时长" + }, + { + "conflict": [ + { + "field": "resolution", + "values": [ + "1080P" + ] + }, + { + "field": "duration", + "values": [ + 10 + ] + } + ], + "forModeTypes": [ + "singleImage2video", + "frames2video" + ], + "message": "1080P 分辨率下不支持 10s 时长" + } + ] + } + }, + { + "type": "video", + "toolKey": "MiniMax-Hailuo-2.3", + "defaultFlag": 0, + "modelKey": "MiniMax-Hailuo-2.3", + "modelName": "Hailuo-2.3", + "vendor": "MiniMax", + "baseType": 47, + "modes": [ + "singleImage2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [ + "cameraMovement" + ], + "generateTypes": { + "text": 41, + "image": 42, + "checkpointId": 21948870 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "ratio", + "resolution", + "duration", + "cameraMovement" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "MiniMax-Hailuo-2.3", + "modelName": "Hailuo-2.3", + "modelVendor": "MiniMax", + "baseType": 47, + "properties": { + "magic": false, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 2000 + }, + "ratio": { + "description": "", + "default": "auto", + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "768P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "enum": [ + { + "value": 6, + "displayName": "6s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 6, + "originalField": "duration", + "component": "singleButton" + }, + "cameraMovement": { + "displayName": "运镜指令", + "tips": "Hailuo 2.3 支持在提示词中使用运镜指令,如 [Zoom in]、[Pan left,Pedestal up] 等,点击按钮快速插入", + "enum": [ + { + "value": "[Zoom in]", + "displayName": "拉近" + }, + { + "value": "[Zoom out]", + "displayName": "拉远" + }, + { + "value": "[Pan left]", + "displayName": "左摇" + }, + { + "value": "[Pan right]", + "displayName": "右摇" + }, + { + "value": "[Tilt up]", + "displayName": "仰摄" + }, + { + "value": "[Tilt down]", + "displayName": "俯摄" + }, + { + "value": "[Push in]", + "displayName": "推镜" + }, + { + "value": "[Pull out]", + "displayName": "拉镜" + }, + { + "value": "[Truck left]", + "displayName": "左移" + }, + { + "value": "[Truck right]", + "displayName": "右移" + }, + { + "value": "[Pedestal up]", + "displayName": "上升" + }, + { + "value": "[Pedestal down]", + "displayName": "下降" + }, + { + "value": "[Shake]", + "displayName": "抖动" + }, + { + "value": "[Tracking shot]", + "displayName": "跟摄" + }, + { + "value": "[Static shot]", + "displayName": "静止" + } + ] + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [ + "cameraMovement" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "generateTypes": { + "text": 41, + "image": 42, + "checkpointId": 21948870 + }, + "settingsRules": [ + { + "conflict": [ + { + "field": "resolution", + "values": [ + "1080P" + ] + }, + { + "field": "duration", + "values": [ + 10 + ] + } + ], + "message": "1080P 分辨率下不支持 10s 时长" + } + ] + } + }, + { + "type": "video", + "toolKey": "viduq2", + "defaultFlag": 0, + "modelKey": "viduq2", + "modelName": "Vidu Q2", + "vendor": "vidu", + "baseType": 60, + "modes": [ + "frames2video", + "image2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [], + "generateTypes": { + "text": 37, + "image": 38, + "checkpointId": 21911829 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "ratio", + "resolution", + "duration" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "viduq2", + "modelName": "Vidu Q2", + "modelVendor": "vidu", + "baseType": 60, + "properties": { + "magic": true, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 5000 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "1:1", + "3:4", + "4:3", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "540p", + "720p", + "1080p" + ], + "default": "1080p", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "min": 1, + "max": 8, + "step": 1, + "default": 8, + "originalField": "duration", + "component": "slider" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 2, + 2 + ], + "image2video": [ + 0, + 7 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "generateTypes": { + "text": 37, + "image": 38, + "checkpointId": 21911829 + } + } + }, + { + "type": "video", + "toolKey": "viduq2-pro", + "defaultFlag": 0, + "modelKey": "viduq2-pro", + "modelName": "Vidu Q2 Pro", + "vendor": "vidu", + "modes": [ + "mixed2video", + "singleImage2video", + "frames2video" + ], + "settings": [ + "ratio", + "resolution", + "duration", + "bgm" + ], + "advancedSettings": [], + "generateTypes": { + "text": 37, + "image": 38, + "checkpointId": 22478760 + }, + "propertyKeys": [ + "mention", + "magic", + "count", + "prompt", + "ratio", + "resolution", + "duration", + "bgm" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "viduq2-pro", + "modelName": "Vidu Q2 Pro", + "modelVendor": "vidu", + "properties": { + "mention": false, + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 5000 + }, + "ratio": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "ratio" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "720p", + "1080p" + ], + "default": "1080p", + "component": "singleButton", + "originalField": "resolution" + }, + "duration": { + "description": "", + "displayName": "生成时长", + "min": 1, + "max": 8, + "step": 1, + "default": 8, + "originalField": "duration", + "component": "slider" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "mixed2video": [ + 1, + 7 + ], + "singleImage2video": [ + 1, + 1 + ], + "frames2video": [ + 2, + 2 + ] + }, + "mixed2videoConfig": { + "videoMax": 1, + "imageMaxWithVideo": 4 + } + }, + "bgm": { + "description": "", + "displayName": "背景音乐", + "default": 0, + "component": "switch", + "originalField": "bgm" + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration", + "bgm" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "generateTypes": { + "text": 37, + "image": 38, + "checkpointId": 22478760 + } + } + }, + { + "type": "video", + "toolKey": "viduq2-turbo", + "defaultFlag": 0, + "modelKey": "viduq2-turbo", + "modelName": "Vidu Q2 Turbo", + "vendor": "vidu", + "modes": [ + "singleImage2video", + "frames2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [], + "generateTypes": { + "text": 37, + "image": 38, + "checkpointId": 22478760 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "resolution", + "duration" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "viduq2-turbo", + "modelName": "Vidu Q2 Turbo", + "modelVendor": "vidu", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 5000 + }, + "ratio": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "ratio" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "720p", + "1080p" + ], + "default": "1080p", + "component": "singleButton", + "originalField": "resolution" + }, + "duration": { + "description": "", + "displayName": "生成时长", + "min": 1, + "max": 8, + "step": 1, + "default": 8, + "originalField": "duration", + "component": "slider" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 1, + 1 + ], + "frames2video": [ + 2, + 2 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "generateTypes": { + "text": 37, + "image": 38, + "checkpointId": 22478760 + } + } + }, + { + "type": "video", + "toolKey": "viduq3-pro", + "defaultFlag": 0, + "modelKey": "viduq3-pro", + "modelName": "Vidu Q3 Pro", + "vendor": "vidu", + "modes": [ + "singleImage2video" + ], + "settings": [ + "text2video", + "singleImage2video" + ], + "advancedSettings": [ + "style" + ], + "generateTypes": { + "text": 37, + "image": 38, + "checkpointId": 22478760 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "enableSound", + "ratio", + "ratio_auto", + "resolution", + "duration", + "style" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "viduq3-pro", + "modelName": "Vidu Q3 Pro", + "modelVendor": "vidu", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 5000 + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "1:1", + "3:4", + "4:3", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "540p", + "720p", + "1080p" + ], + "default": "720p", + "component": "singleButton", + "originalField": "resolution" + }, + "duration": { + "displayName": "生成时长", + "min": 1, + "max": 16, + "step": 1, + "default": 8, + "originalField": "duration", + "component": "slider" + }, + "style": { + "displayName": "风格", + "enum": [ + { + "value": "general", + "displayName": "通用" + }, + { + "value": "anime", + "displayName": "动漫" + } + ], + "originalField": "style", + "component": "singleSelect", + "default": "general" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "singleImage2video": [ + "ratio_auto", + "resolution", + "duration", + "enableSound" + ] + }, + "advancedSettings": [ + "style" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 37, + "image": 38, + "checkpointId": 22478760 + } + } + }, + { + "type": "video", + "toolKey": "kling-2.1", + "defaultFlag": 0, + "modelKey": "kling-2.1", + "modelName": "可灵 2.1", + "vendor": "Kling", + "modes": [ + "singleImage2video", + "frames2video" + ], + "settings": [ + "text2video", + "singleImage2video", + "frames2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 43, + "image": 44, + "checkpointId": 20872746 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "ratio_auto", + "quality", + "quality_high", + "duration" + ], + "rules": [ + { + "require": [ + "image" + ], + "message": "该模型不支持文生视频,请上传参考图片" + } + ], + "metadata": { + "modelKey": "kling-2.1", + "modelName": "可灵 2.1", + "modelVendor": "Kling", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 2000 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "1:1", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "quality": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "low", + "displayName": "标准" + }, + { + "value": "high", + "displayName": "高品质" + } + ], + "default": "high", + "component": "singleButton", + "originalField": "quality" + }, + "quality_high": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "high", + "displayName": "高品质" + } + ], + "default": "high", + "component": "singleButton", + "originalField": "quality" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ], + "frames2video": [ + 2, + 2 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "quality", + "duration" + ], + "singleImage2video": [ + "ratio_auto", + "quality", + "duration" + ], + "frames2video": [ + "ratio_auto", + "quality_high", + "duration" + ] + } + }, + "rules": [ + { + "require": [ + "image" + ], + "message": "该模型不支持文生视频,请上传参考图片" + } + ], + "generateTypes": { + "text": 43, + "image": 44, + "checkpointId": 20872746 + } + } + }, + { + "type": "video", + "toolKey": "kling-v2-5-turbo-pro", + "defaultFlag": 0, + "modelKey": "kling-v2-5-turbo-pro", + "modelName": "可灵 2.5", + "vendor": "Kling", + "baseType": 48, + "modes": [ + "frames2video", + "singleImage2video" + ], + "settings": [ + "text2video", + "frames2video", + "singleImage2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 43, + "image": 44, + "checkpointId": 21702422 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "ratio", + "ratio_auto", + "quality", + "quality_high", + "duration" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "kling-v2-5-turbo-pro", + "modelName": "可灵 2.5", + "modelVendor": "Kling", + "baseType": 48, + "properties": { + "magic": true, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 2000 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "1:1", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "quality": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "low", + "displayName": "标准" + }, + { + "value": "high", + "displayName": "高品质" + } + ], + "default": "high", + "component": "singleButton", + "originalField": "quality" + }, + "quality_high": { + "description": "", + "displayName": "生成品质", + "enum": [ + { + "value": "high", + "displayName": "高品质" + } + ], + "default": "high", + "component": "singleButton", + "originalField": "quality" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 2, + 2 + ], + "singleImage2video": [ + 0, + 1 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "quality", + "duration" + ], + "frames2video": [ + "ratio_auto", + "quality_high", + "duration" + ], + "singleImage2video": [ + "ratio_auto", + "quality", + "duration" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 43, + "image": 44, + "checkpointId": 21702422 + } + } + }, + { + "type": "video", + "toolKey": "wanxiang-plus", + "defaultFlag": 0, + "modelKey": "wanxiang-plus", + "modelName": "Wan 2.2", + "vendor": "Wan", + "baseType": 35, + "modes": [ + "singleImage2video" + ], + "settings": [ + "text2video", + "singleImage2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 63, + "image": 64, + "checkpointId": 21251055 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "ratio", + "resolution", + "duration" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "wanxiang-plus", + "modelName": "Wan 2.2", + "modelVendor": "Wan", + "baseType": 35, + "properties": { + "magic": true, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 800 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "480P", + "720P" + ], + "default": "720P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration" + ], + "singleImage2video": [ + "ratio", + "resolution", + "duration" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 63, + "image": 64, + "checkpointId": 21251055 + } + } + }, + { + "type": "video", + "toolKey": "wanxiang-preview", + "defaultFlag": 0, + "modelKey": "wanxiang-preview", + "modelName": "Wan 2.5", + "vendor": "Wan", + "baseType": 44, + "modes": [ + "audio2video", + "singleImage2video" + ], + "settings": [ + "text2video", + "singleImage2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 53, + "image": 54, + "checkpointId": 21726599 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "ratio", + "ratio_auto", + "resolution", + "duration", + "enableSound" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "wanxiang-preview", + "modelName": "Wan 2.5", + "modelVendor": "Wan", + "baseType": 44, + "properties": { + "magic": true, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 1500 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "1:1", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "480P", + "720P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "enableSound": { + "displayName": "生成音频", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "audio2video": [ + 0, + 0 + ], + "singleImage2video": [ + 0, + 1 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "singleImage2video": [ + "ratio_auto", + "resolution", + "duration", + "enableSound" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 53, + "image": 54, + "checkpointId": 21726599 + } + } + }, + { + "type": "video", + "toolKey": "wanx2.7-video", + "defaultFlag": 0, + "modelKey": "wanx2.7-video", + "modelName": "Wan 2.7", + "vendor": "Wan", + "baseType": 44, + "modes": [ + "frames2video", + "video2video", + "audio2video", + "mixed2video" + ], + "settings": [ + "text2video", + "frames2video", + "video2video", + "mixed2video" + ], + "advancedSettings": [ + "multiClip" + ], + "generateTypes": { + "text": 53, + "image": 54, + "checkpointId": 22805353 + }, + "propertyKeys": [ + "magic", + "mention", + "count", + "template", + "prompt", + "ratio", + "ratio_auto", + "duration", + "resolution", + "enableSound" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "video2video", + "frames2video" + ] + } + ], + "metadata": { + "modelKey": "wanx2.7-video", + "modelName": "Wan 2.7", + "modelVendor": "Wan", + "baseType": 44, + "properties": { + "magic": true, + "mention": true, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 3000 + }, + "ratio": { + "description": "", + "default": "16:9", + "displayName": "比例", + "enum": [ + "16:9", + "9:16", + "1:1", + "4:3", + "3:4" + ], + "originalField": "ratio", + "component": "singleButton" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "ratio" + }, + "duration": { + "description": "", + "displayName": "视频时长", + "min": 2, + "max": 10, + "step": 1, + "default": 5, + "originalField": "duration", + "component": "slider" + }, + "resolution": { + "description": "", + "displayName": "清晰度", + "enum": [ + "720P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "enableSound": { + "description": "", + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "frames2video": [ + 1, + 2 + ], + "video2video": [ + 1, + 1 + ], + "audio2video": [ + 0, + 1 + ], + "mixed2video": [ + 1, + 5 + ] + }, + "mixed2videoConfig": { + "videoMax": 1, + "imageMaxWithVideo": 4 + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration" + ], + "frames2video": [ + "ratio_auto", + "resolution", + "duration" + ], + "video2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "mixed2video": [ + "ratio", + "resolution", + "duration" + ] + }, + "advancedSettings": [ + "multiClip" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "video2video", + "frames2video" + ] + } + ], + "generateTypes": { + "text": 53, + "image": 54, + "checkpointId": 22805353 + } + } + }, + { + "type": "video", + "toolKey": "pixverse-v5.5", + "defaultFlag": 0, + "modelKey": "pixverse-v5.5", + "modelName": "Pixverse V5.5", + "vendor": "Pixverse", + "baseType": 57, + "modes": [ + "singleImage2video", + "frames2video" + ], + "settings": [ + "text2video", + "singleImage2video", + "frames2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 39, + "image": 40, + "checkpointId": 22270112 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "ratio", + "ratio_auto", + "resolution", + "duration", + "enableSound", + "style", + "multiClip" + ], + "rules": [ + { + "require": [ + "prompt" + ] + } + ], + "metadata": { + "modelKey": "pixverse-v5.5", + "modelName": "Pixverse V5.5", + "modelVendor": "Pixverse", + "baseType": 57, + "properties": { + "magic": true, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 2048 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "540P", + "720P", + "1080P" + ], + "default": "720P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 8, + "displayName": "8s" + }, + { + "value": 10, + "displayName": "10s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "enableSound": { + "displayName": "生成音频", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "style": { + "displayName": "风格", + "tips": "选择视频生成风格以获得不同的创意效果", + "enum": [ + { + "value": "general", + "displayName": "通用" + }, + { + "value": "anime", + "displayName": "动漫" + }, + { + "value": "3d_animation", + "displayName": "3D" + }, + { + "value": "clay", + "displayName": "粘土" + }, + { + "value": "comic", + "displayName": "漫画" + }, + { + "value": "cyberpunk", + "displayName": "赛博朋克" + } + ], + "originalField": "style", + "component": "singleSelect", + "default": "general" + }, + "multiClip": { + "description": "", + "displayName": "多镜头", + "tips": "生成包含多个镜头角度和场景切换的视频", + "component": "switch", + "default": 1, + "originalField": "multiClip" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ], + "frames2video": [ + 2, + 2 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "singleImage2video": [ + "ratio_auto", + "resolution", + "duration" + ], + "frames2video": [ + "ratio_auto", + "resolution", + "duration", + "enableSound" + ] + }, + "advancedSettings": { + "text2video": [ + "style", + "multiClip" + ], + "singleImage2video": [ + "style", + "multiClip" + ], + "frames2video": [ + "style" + ] + } + }, + "rules": [ + { + "require": [ + "prompt" + ] + } + ], + "generateTypes": { + "text": 39, + "image": 40, + "checkpointId": 22270112 + }, + "settingsRules": [ + { + "conflict": [ + { + "field": "resolution", + "values": [ + "1080P" + ] + }, + { + "field": "duration", + "values": [ + 10 + ] + } + ], + "message": "1080P 不支持生成 10s 视频" + } + ] + } + }, + { + "type": "image", + "toolKey": "image-upscaler", + "defaultFlag": 0, + "modelKey": "pixverse-v5.15", + "modelName": "Pixverse V5.5", + "vendor": "Pixverse", + "modes": [], + "settings": [], + "advancedSettings": [], + "generateTypes": { + "text": 113, + "image": 113, + "checkpointId": 22270112 + }, + "propertyKeys": [ + "prompt" + ], + "rules": [], + "metadata": { + "modelKey": "pixverse-v5.15", + "modelName": "Pixverse V5.5", + "modelVendor": "Pixverse", + "properties": { + "prompt": { + "description": "", + "placeholder": "", + "maxLength": 0 + } + }, + "config": { + "settings": {} + }, + "rules": [], + "generateTypes": { + "text": 113, + "image": 113, + "checkpointId": 22270112 + } + } + }, + { + "type": "video", + "toolKey": "pixverse-v5", + "defaultFlag": 0, + "modelKey": "pixverse-v5", + "modelName": "Pixverse V5", + "vendor": "Pixverse", + "baseType": 45, + "modes": [ + "singleImage2video", + "frames2video" + ], + "settings": [ + "text2video", + "singleImage2video", + "frames2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 39, + "image": 40, + "checkpointId": 21762811 + }, + "propertyKeys": [ + "magic", + "count", + "template", + "prompt", + "ratio", + "ratio_auto", + "resolution", + "duration", + "soundEffect", + "style" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "pixverse-v5", + "modelName": "Pixverse V5", + "modelVendor": "Pixverse", + "baseType": 45, + "properties": { + "magic": true, + "count": [ + 1 + ], + "template": { + "displayName": "特效", + "maxCount": 1 + }, + "prompt": { + "maxLength": 2048 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "4:3", + "1:1", + "3:4", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "ratio_auto": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "originalField": "ratio", + "component": "singleButton" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "540P", + "720P", + "1080P" + ], + "default": "1080P", + "originalField": "resolution", + "component": "singleButton" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 5, + "displayName": "5s" + }, + { + "value": 8, + "displayName": "8s" + } + ], + "default": 5, + "originalField": "duration", + "component": "singleButton" + }, + "soundEffect": { + "displayName": "声音效果", + "tips": "为视频生成匹配的声音效果", + "default": 1, + "originalField": "soundEffect", + "component": "switch" + }, + "style": { + "displayName": "风格", + "tips": "选择视频生成风格以获得不同的创意效果", + "enum": [ + { + "value": "general", + "displayName": "通用" + }, + { + "value": "anime", + "displayName": "动漫" + }, + { + "value": "3d_animation", + "displayName": "3D" + }, + { + "value": "clay", + "displayName": "粘土" + }, + { + "value": "comic", + "displayName": "漫画" + }, + { + "value": "cyberpunk", + "displayName": "赛博朋克" + } + ], + "originalField": "style", + "component": "singleSelect", + "default": "general" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ], + "frames2video": [ + 2, + 2 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration" + ], + "singleImage2video": [ + "ratio_auto", + "resolution", + "duration" + ], + "frames2video": [ + "ratio_auto", + "resolution", + "duration" + ] + }, + "advancedSettings": { + "text2video": [ + "style", + "soundEffect" + ], + "singleImage2video": [ + "style", + "soundEffect" + ], + "frames2video": [ + "style", + "soundEffect" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 39, + "image": 40, + "checkpointId": 21762811 + } + } + }, + { + "type": "video", + "toolKey": "motion-3-prime", + "defaultFlag": 0, + "modelKey": "motion-3-prime", + "modelName": "全能视频模型3", + "vendor": "motion", + "modes": [ + "singleImage2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22685037 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "resolution", + "duration", + "enableSound" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "motion-3-prime", + "modelName": "全能视频模型3", + "modelVendor": "motion", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "720p", + "1080p" + ], + "default": "1080p", + "component": "singleButton", + "originalField": "resolution" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 8, + "displayName": "8s" + } + ], + "default": 8, + "originalField": "duration", + "component": "singleButton" + }, + "enableSound": { + "displayName": "生成音频", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22685037 + } + } + }, + { + "type": "video", + "toolKey": "motion-3-rapid", + "defaultFlag": 0, + "modelKey": "motion-3-rapid", + "modelName": "全能视频模型3快速版", + "vendor": "motion", + "modes": [ + "singleImage2video", + "frames2video", + "image2video" + ], + "settings": [ + "text2video", + "singleImage2video", + "image2video" + ], + "advancedSettings": [], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22685058 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "ratio_16_9", + "resolution", + "duration", + "enableSound" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "metadata": { + "modelKey": "motion-3-rapid", + "modelName": "全能视频模型3快速版", + "modelVendor": "motion", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "ratio_16_9": { + "displayName": "比例", + "enum": [ + "16:9" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "720p", + "1080p", + "4K" + ], + "default": "1080p", + "component": "singleButton", + "originalField": "resolution" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 8, + "displayName": "8s" + } + ], + "default": 8, + "originalField": "duration", + "component": "singleButton" + }, + "enableSound": { + "displayName": "生成音频", + "tips": "为生成的视频添加音频内容", + "enum": [ + { + "value": "on", + "displayName": "开启" + }, + { + "value": "off", + "displayName": "关闭" + } + ], + "default": "on", + "originalField": "enableSound", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ], + "frames2video": [ + 1, + 1 + ], + "image2video": [ + 1, + 3 + ] + } + } + }, + "config": { + "settings": { + "text2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "singleImage2video": [ + "ratio", + "resolution", + "duration", + "enableSound" + ], + "image2video": [ + "ratio_16_9", + "resolution", + "duration", + "enableSound" + ] + } + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + }, + { + "require": [ + "prompt" + ], + "forModeTypes": [ + "text2video" + ] + } + ], + "generateTypes": { + "text": 97, + "image": 97, + "checkpointId": 22685058 + } + } + }, + { + "type": "video", + "toolKey": "scene-2", + "defaultFlag": 0, + "modelKey": "scene-2", + "modelName": "多镜头视频模型", + "vendor": "scene", + "modes": [ + "singleImage2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [], + "generateTypes": { + "text": 71, + "image": 71, + "checkpointId": 21885654 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "resolution", + "duration" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "scene-2", + "modelName": "多镜头视频模型", + "modelVendor": "scene", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "720p" + ], + "default": "720p", + "component": "singleButton", + "originalField": "resolution" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 4, + "displayName": "4s" + }, + { + "value": 8, + "displayName": "8s" + }, + { + "value": 12, + "displayName": "12s" + } + ], + "default": 8, + "originalField": "duration", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "generateTypes": { + "text": 71, + "image": 71, + "checkpointId": 21885654 + } + } + }, + { + "type": "video", + "toolKey": "scene-2-ultra", + "defaultFlag": 0, + "modelKey": "scene-2-ultra", + "modelName": "多镜头视频模型Pro", + "vendor": "scene", + "modes": [ + "singleImage2video" + ], + "settings": [ + "ratio", + "resolution", + "duration" + ], + "advancedSettings": [], + "generateTypes": { + "text": 71, + "image": 71, + "checkpointId": 21885677 + }, + "propertyKeys": [ + "magic", + "count", + "prompt", + "ratio", + "resolution", + "duration" + ], + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "metadata": { + "modelKey": "scene-2-ultra", + "modelName": "多镜头视频模型Pro", + "modelVendor": "scene", + "properties": { + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "displayName": "比例", + "enum": [ + "16:9", + "9:16" + ], + "default": "16:9", + "component": "singleButton", + "originalField": "ratio" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + "720p", + "1080p" + ], + "default": "1080p", + "component": "singleButton", + "originalField": "resolution" + }, + "duration": { + "displayName": "生成时长", + "enum": [ + { + "value": 4, + "displayName": "4s" + }, + { + "value": 8, + "displayName": "8s" + }, + { + "value": 12, + "displayName": "12s" + } + ], + "default": 8, + "originalField": "duration", + "component": "singleButton" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 0, + 1 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution", + "duration" + ] + }, + "rules": [ + { + "require": [ + "prompt", + "media" + ], + "mode": "any" + } + ], + "generateTypes": { + "text": 71, + "image": 71, + "checkpointId": 21885677 + } + } + }, + { + "type": "video", + "toolKey": "omnihuman-1.5", + "defaultFlag": 0, + "modelKey": "omnihuman-1.5", + "modelName": "OmniHuman 1.5", + "vendor": "omnihuman", + "modes": [ + "singleImage2video", + "audio2video" + ], + "settings": [ + "ratio", + "resolution" + ], + "advancedSettings": [ + "fastMode" + ], + "generateTypes": { + "text": 111, + "image": 111, + "checkpointId": 22685082 + }, + "propertyKeys": [ + "digitalHuman", + "magic", + "count", + "prompt", + "ratio", + "resolution", + "fastMode" + ], + "rules": [ + { + "require": [ + "image", + "audio" + ], + "mode": "all", + "message": "请同时添加参考图片和音频" + } + ], + "metadata": { + "modelKey": "omnihuman-1.5", + "modelName": "OmniHuman 1.5", + "modelVendor": "omnihuman", + "properties": { + "digitalHuman": true, + "magic": true, + "count": [ + 1 + ], + "prompt": { + "maxLength": 0 + }, + "ratio": { + "displayName": "比例", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "ratio" + }, + "resolution": { + "displayName": "清晰度", + "enum": [ + { + "value": "auto", + "displayName": "自适应" + } + ], + "default": "auto", + "component": "singleButton", + "originalField": "resolution" + }, + "fastMode": { + "displayName": "快速模式", + "tips": "加快生成速度,但会降低画面质量", + "default": 0, + "component": "switch", + "originalField": "fastMode" + }, + "modeType": { + "description": "模态类型", + "originalField": "modeType", + "items": { + "singleImage2video": [ + 1, + 1 + ], + "audio2video": [ + 1, + 1 + ] + } + } + }, + "config": { + "settings": [ + "ratio", + "resolution" + ], + "advancedSettings": [ + "fastMode" + ] + }, + "rules": [ + { + "require": [ + "image", + "audio" + ], + "mode": "all", + "message": "请同时添加参考图片和音频" + } + ], + "generateTypes": { + "text": 111, + "image": 111, + "checkpointId": 22685082 + } + } + } + ], + "workflows": [ + { + "uuid": "957625936cdf427e8ad0475c58ba1e28", + "id": 80, + "name": "【预设】左弧滑行", + "description": "", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/794154946370bcfd0574b5beb68c95f4d4d57c88.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "059bc90bc07f43d8ba8d12e35b0cb8a0", + "id": 82, + "name": "【预设】电商手机弹出效果", + "description": "仅需上传产品参考图即可", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/4205e8f1b9d5449c9c134a55ab23e475/3f86729b953d5e3f78cf314a20541ef7195786072400aa6af9d33a2dc2405cf6.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "62536935b1734ef0a0525fcdbba4f49f", + "id": 83, + "name": "【预设】咖啡杯出场", + "description": "本预设可运用于创意特效、产品宣发等场景。\n使用时,导入白底产品图,根据产品修改提示词即可获得相同的视觉效果。", + "cover": "https://libtv-res.liblib.art/upload-images/beda8103d1a8414aa15aa0eb1db95a07/c8c9444584348de6209bee45d9f95a0c2c69932f.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "ecb03acd0b35417dabbd40caf5e951bd", + "id": 84, + "name": "【预设】360旋转展示", + "description": "效果简介:可用于生成人物产品360度旋转展示的特效效果\n使用方法:上传参考图和尾帧,根据参考图重新生成提示词,最终生成视频", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/498ebfb6bbf47d17fb8d5449b8eb8029df39cc9f.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "330d0724b83f4239aa9a5eab8f2bb443", + "id": 85, + "name": "【预设】机械臂视角", + "description": "使用方法:无需调节参数,上传参考图即可生成\n参考图推荐:建议上传人物照片", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/4d251222f8ebdc2cf634cc589fc909c8e69b5185.jpg", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "8f787f0103334179ab50f1ffe553e195", + "id": 86, + "name": "【预设】Live 2D", + "description": "使用方法:无需调节参数,上传参考图即可生成\n参考图推荐:建议上传人物照片\n效果简介:模型/模版可用于生成 静态照片变成动态livephoto的效果,趣味生动📷", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/882cc4bc76db85989fa961fed616cb3ebe201a0c.jpg", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "7344fdde636645adb5a8332872231604", + "id": 87, + "name": "【预设】瞳孔拉近", + "description": "使用方法:无需调节参数,上传参考图即可生成\n参考图推荐:建议上传人物照片\n效果简介:模型/模版可用于生成 逐渐拉近人物瞳孔的特效效果👀", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/59a02980eda985744952c15bcfd8697bffab14aa.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "ee405d8e078b48b1970988e56f2aed03", + "id": 88, + "name": "【预设】飞鸟解体", + "description": "本预设可运用于创意特效、MV、自媒体等场景。\n使用时,导入人物实拍图,根据人物和期望效果(比如白鸟可替换成乌鸦等)修改提示词即可获得同类型视觉效果。", + "cover": "https://libtv-res.liblib.art/upload-images/beda8103d1a8414aa15aa0eb1db95a07/6676b12a15100018ca7648c85287e007ceb9f9f2.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "263c016b90c743be8c5ed5dadc14c516", + "id": 89, + "name": "【预设】破盒而出", + "description": "本预设可运用于创意特效、自媒体等场景。\n使用时,导入人物全身照片,根据希望的效果修改提示词(比如可以自定义手办盒的设计元素)即可获得类似的视觉效果。", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/beda8103d1a8414aa15aa0eb1db95a07/84979fa89cac130f874f49e7286a51e13fbccc95a19657ba13fcd7287fedb50a.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "16807093064c4d719ac9236669b91d08", + "id": 90, + "name": "【预设】商品震撼登场", + "description": "使用方法:无需调节参数,上传参考图即可生成\n参考图推荐:建议上传产品、物体的照片\n效果简介:可用于生成 产品在光圈中登场的特效效果,特别适合展示有科技感的电商产品⚡️", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/b43d4ec927a2766382d82e95c4020a5e7c3b08aa.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "5ee31f894be245a59e97366ebccf5130", + "id": 91, + "name": "【预设】右弧滑行", + "description": "使用方法:无需调节参数,上传参考图即可生成\n参考图推荐:建议上传人物/动物/建筑/物品等照片\n效果简介:可用于生成 模拟向右旋转流畅滑行视角,打造动感环绕的镜头效果🌆", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/794154946370bcfd0574b5beb68c95f4d4d57c88.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "90c40cf9df23446cb85a20701b2fb139", + "id": 92, + "name": "【预设】左弧滑行", + "description": "使用方法:无需调节参数,上传参考图即可生成\n参考图推荐:建议上传人物/动物/建筑/物品等照片\n效果简介:可用于生成 左弧线滑行的镜头控制效果 ⬅️", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/794154946370bcfd0574b5beb68c95f4d4d57c88.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "fb5343576c1d42fb99faaf479f460071", + "id": 93, + "name": "【预设】颠倒空间", + "description": "🧙《惊天魔盗团》同款酷炫魔术特效🪄\n使用方法:无需调节参数,上传参考图即可生成\n参考图推荐:建议上传人物照片\n效果简介:可用于生成 画面视角颠倒,整个世界翻转的特效效果🙃", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/8852de28b54eb90134a11fa526426babdd85b1d3.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "fa114f2b47044a288b1a76cd6631cdd1", + "id": 94, + "name": "【预设】反重力漂浮", + "description": "本预设可运用于创意特效、MV、TVC等场景。\n使用时,导入一张室内空镜图(包含家具),根据用户导入的图片内容修改提示词即可获得类似的视觉效果。", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/beda8103d1a8414aa15aa0eb1db95a07/abc353b7b28311027d4bf4427531f3025cb1a5161f929b7d414e44ebb9c3d9b8.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "241e61d6fd29446c84f4c8fb28cfb983", + "id": 95, + "name": "【预设】粒子融解", + "description": "本预设可运用于创意特效、自媒体等场景。\n使用时,导入人物全身look图,根据look修改提示词(比如可以调整粒子的颜色等)即可获得类似的视觉效果。", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/beda8103d1a8414aa15aa0eb1db95a07/95be6a97f91ab6c16081f260cbaaa1df3d823a5ec037b8cc6a970ef05cbe4001.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "c8feabc8ebf74008b325a136eb42838a", + "id": 96, + "name": "【预设】旅拍转场 zoom in", + "description": "本预设可运用于创意特效、自媒体等场景。\n使用时,导入两张自拍图(一张作为首帧、一张作为尾帧),根据图片内容修改提示词即可获得相同的视觉效果。", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/beda8103d1a8414aa15aa0eb1db95a07/71e6713e72ade5531b4eb131e1faf18b1cf27737e9a5fed18378a429503b8034.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "e3b26808aa7e4df3a1be117fcdf2b9ac", + "id": 97, + "name": "【预设】旅拍转场 zoom out", + "description": "本预设可运用于创意特效、自媒体等场景。\n使用时,导入两张自拍图,根据图片内容修改提示词即可获得相同的视觉效果。", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/beda8103d1a8414aa15aa0eb1db95a07/29c1f23b7d8bfa35267e3ddc11f094e63a1c6d5089f883e1b2c9134dd36ef10a.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "88fc4b669e154eff8f14b8ccf2b5e494", + "id": 98, + "name": "【预设】旅拍转场 向右旋转", + "description": "本预设可运用于创意特效、自媒体等场景。\n使用时,导入两张自拍图,根据图片内容修改提示词即可获得相同的视觉效果。", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/beda8103d1a8414aa15aa0eb1db95a07/b49297c4637a024c010501407619e90e5d2c08c9c6600fb2ce52878e1daf71f0.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "de71eb27fa4447a6adb4e780874a4e36", + "id": 99, + "name": "【预设】旅拍转场 向左旋转", + "description": "本预设可运用于创意特效、自媒体等场景。\n使用时,导入两张自拍图,根据图片内容修改提示词即可获得相同的视觉效果。", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/beda8103d1a8414aa15aa0eb1db95a07/005550129798804a81e92fa8382cdb4f0e77615dc64491358ae166380dc8839e.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "661acaaa94f14a6dacc12fdf2b1c3c20", + "id": 100, + "name": "【预设】旅拍转场 生长", + "description": "本预设可运用于创意特效、自媒体等场景。\n使用时,导入两张自拍图,根据图片内容修改提示词即可获得相同的视觉效果。", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/beda8103d1a8414aa15aa0eb1db95a07/8ad3b1b28b7406aadcfbacf827b7b1ce6b5570ee1434c187091db52b1ff78dd8.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "f8ebfd28c86e41a7b286ed1ee5e0dc9c", + "id": 101, + "name": "【预设】英雄视角", + "description": "使用方法:上传参考图,更改提示词生成\n参考图推荐:建议上传人物照片\n效果简介:可用于生成 电影级英雄出场镜头,增强角色气场🦸", + "cover": "https://libtv-res.liblib.art/upload-images/be52904b1a974e01af26ccd4fe36b4c0/9cf12958ec85cc870011c017834fe894c13932ad.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "2cbce864d0ff4919bdd48af5a0d5ca7f", + "id": 103, + "name": "【预设】AI模特服饰动态展示", + "description": "", + "cover": "https://libtv-res.liblib.art/upload-images/9c9ca63a3fd948e8abb9ab96ade97321/a676b7a777d24d0b2bbdc7509109546c9ae3d2d7.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "d000c1d88a1b4de9bcec7eee76b6b40b", + "id": 104, + "name": "【预设】机械臂视角", + "description": "本预设可运用于运镜特效、品牌、自媒体等场景。\n使用时,导入模特图,根据原图生成分镜并拆分有效画面,再结合首尾帧功能修改提示词即可获得类似的视觉效果。", + "cover": "https://libtv-res.liblib.art/upload-images/beda8103d1a8414aa15aa0eb1db95a07/bf72676a252b5397d06fd6b6734f3ede26a1d121.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "f063047d10aa4362a1d44b17fced9ec3", + "id": 105, + "name": "【预设】大师分镜九宫格-经典暗调", + "description": "", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/9c9ca63a3fd948e8abb9ab96ade97321/082931e3f634ac1b7e90f79fa9d8e66b12a596d0fbe7d1d4ce9ff04acdba8203.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + }, + { + "uuid": "ab1509b3ed0b4e659b188b1d7a634f4f", + "id": 106, + "name": "【预设】AI室内装修效果预览", + "description": "", + "cover": "https://libtv-res.liblib.art/sd-gen-save-img/genius_playground/image/9c9ca63a3fd948e8abb9ab96ade97321/fba8fa5f7e53e796c26216a91601bca675051c01b554dc0c8b0dfa25ea94d3da.png", + "rawKeys": [ + "id", + "uuid", + "sourceProjectUuid", + "sourceGroupKey", + "name", + "description", + "coverUrl", + "currentVersionId", + "ownerId", + "tags", + "createdAtMs", + "updatedAtMs", + "isPublic" + ] + } + ], + "codeAreas": [ + { + "area": "画布状态/节点边转换/store", + "terms": [ + "createCanvasStore", + "convertNodeToCanvasNode", + "selectHasIncomingEdge", + "selectHasOutgoingEdge", + "canvasLocked" + ], + "modules": [ + { + "score": 5, + "moduleId": "929286", + "chunk": "09166d9658efb080.e1742a6c63.js", + "file": "module-split/09166d9658efb080.e1742a6c63/module-929286.js" + }, + { + "score": 2, + "moduleId": "117313", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-117313.js" + }, + { + "score": 2, + "moduleId": "117313", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-117313.js" + }, + { + "score": 1, + "moduleId": "719779", + "chunk": "1da3af88666fe4c8.e799ee1631.js", + "file": "module-split/1da3af88666fe4c8.e799ee1631/module-719779.js" + }, + { + "score": 1, + "moduleId": "385951", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-385951.js" + }, + { + "score": 1, + "moduleId": "457044", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-457044.js" + }, + { + "score": 1, + "moduleId": "649517", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-649517.js" + }, + { + "score": 1, + "moduleId": "891180", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-891180.js" + } + ] + }, + { + "area": "画布主体/ReactFlow/加载项目", + "terms": [ + "ReactFlow", + "setNodes", + "setEdges", + "setLoadingProject", + "defaultEdgeOptions" + ], + "modules": [ + { + "score": 4, + "moduleId": "719673", + "chunk": "e85c4c56b542d703.84dd924ae8.js", + "file": "module-split/e85c4c56b542d703.84dd924ae8/module-719673.js" + }, + { + "score": 1, + "moduleId": "316925", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-316925.js" + }, + { + "score": 1, + "moduleId": "414356", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-414356.js" + }, + { + "score": 1, + "moduleId": "539839", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-539839.js" + }, + { + "score": 1, + "moduleId": "316925", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-316925.js" + }, + { + "score": 1, + "moduleId": "414356", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-414356.js" + }, + { + "score": 1, + "moduleId": "539839", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-539839.js" + } + ] + }, + { + "area": "工具规格与画布接口 endpoints", + "terms": [ + "canvasProjectDraftUpdate", + "canvasProjectPublish", + "canvasProjectShareDetail", + "toolSpecList", + "canvasWorkflowList" + ], + "modules": [ + { + "score": 3, + "moduleId": "185990", + "chunk": "8c0c55f3765ce630.21409b70bd.js", + "file": "module-split/8c0c55f3765ce630.21409b70bd/module-185990.js" + }, + { + "score": 2, + "moduleId": "944733", + "chunk": "8c0c55f3765ce630.21409b70bd.js", + "file": "module-split/8c0c55f3765ce630.21409b70bd/module-944733.js" + } + ] + }, + { + "area": "草稿保存/更新 project draft", + "terms": [ + "updateProjectDraft", + "canvasProjectDraftUpdate", + "更新项目草稿失败" + ], + "modules": [ + { + "score": 3, + "moduleId": "944733", + "chunk": "8c0c55f3765ce630.21409b70bd.js", + "file": "module-split/8c0c55f3765ce630.21409b70bd/module-944733.js" + }, + { + "score": 1, + "moduleId": "185990", + "chunk": "8c0c55f3765ce630.21409b70bd.js", + "file": "module-split/8c0c55f3765ce630.21409b70bd/module-185990.js" + }, + { + "score": 1, + "moduleId": "749619", + "chunk": "939e07c76f4b30f0.294c1bf0d6.js", + "file": "module-split/939e07c76f4b30f0.294c1bf0d6/module-749619.js" + }, + { + "score": 1, + "moduleId": "719673", + "chunk": "e85c4c56b542d703.84dd924ae8.js", + "file": "module-split/e85c4c56b542d703.84dd924ae8/module-719673.js" + } + ] + }, + { + "area": "发布/分享弹窗", + "terms": [ + "libtv.canvas.publish.click", + "作品描述", + "canvasProjectPublish", + "share" + ], + "modules": [ + { + "score": 3, + "moduleId": "142838", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-142838.js" + }, + { + "score": 3, + "moduleId": "142838", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-142838.js" + }, + { + "score": 2, + "moduleId": "185990", + "chunk": "8c0c55f3765ce630.21409b70bd.js", + "file": "module-split/8c0c55f3765ce630.21409b70bd/module-185990.js" + }, + { + "score": 1, + "moduleId": "400500", + "chunk": "15518d5e8f32d9ef.496e523ec8.js", + "file": "module-split/15518d5e8f32d9ef.496e523ec8/module-400500.js" + }, + { + "score": 1, + "moduleId": "445794", + "chunk": "2a4e4dccbc3fdacb.bc4b655d5c.js", + "file": "module-split/2a4e4dccbc3fdacb.bc4b655d5c/module-445794.js" + }, + { + "score": 1, + "moduleId": "47091", + "chunk": "2a4e4dccbc3fdacb.bc4b655d5c.js", + "file": "module-split/2a4e4dccbc3fdacb.bc4b655d5c/module-47091.js" + }, + { + "score": 1, + "moduleId": "675993", + "chunk": "2a4e4dccbc3fdacb.bc4b655d5c.js", + "file": "module-split/2a4e4dccbc3fdacb.bc4b655d5c/module-675993.js" + }, + { + "score": 1, + "moduleId": "938818", + "chunk": "334606b5978d0903.36ee2c232b.js", + "file": "module-split/334606b5978d0903.36ee2c232b/module-938818.js" + } + ] + }, + { + "area": "节点 UI/视频节点/下载编辑", + "terms": [ + "libtv.canvas.video.download", + "libtv.canvas.video.edit.click", + "canvas-node-border" + ], + "modules": [ + { + "score": 3, + "moduleId": "649517", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-649517.js" + }, + { + "score": 3, + "moduleId": "649517", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-649517.js" + }, + { + "score": 1, + "moduleId": "10357", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-10357.js" + }, + { + "score": 1, + "moduleId": "117313", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-117313.js" + }, + { + "score": 1, + "moduleId": "295903", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-295903.js" + }, + { + "score": 1, + "moduleId": "385951", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-385951.js" + }, + { + "score": 1, + "moduleId": "457044", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-457044.js" + }, + { + "score": 1, + "moduleId": "961258", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-961258.js" + } + ] + }, + { + "area": "分组/故事板/确认弹窗", + "terms": [ + "storyboard.ungroup", + "确定要解散当前分组吗", + "openCreateAssetModal", + "runGroupPipeline" + ], + "modules": [ + { + "score": 4, + "moduleId": "414356", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-414356.js" + }, + { + "score": 4, + "moduleId": "414356", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-414356.js" + }, + { + "score": 2, + "moduleId": "111581", + "chunk": "024a3642cfddfa89.95b9211528.js", + "file": "module-split/024a3642cfddfa89.95b9211528/module-111581.js" + }, + { + "score": 2, + "moduleId": "111581", + "chunk": "4d55061e0aa57353.f094b3d6db.js", + "file": "module-split/4d55061e0aa57353.f094b3d6db/module-111581.js" + }, + { + "score": 2, + "moduleId": "719673", + "chunk": "e85c4c56b542d703.84dd924ae8.js", + "file": "module-split/e85c4c56b542d703.84dd924ae8/module-719673.js" + } + ] + }, + { + "area": "生成任务/跳队/权益弹窗", + "terms": [ + "openSkipQueueDialog", + "benefitTag", + "failedReason" + ], + "modules": [ + { + "score": 3, + "moduleId": "767818", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-767818.js" + }, + { + "score": 3, + "moduleId": "767818", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-767818.js" + } + ] + }, + { + "area": "快捷键/顶部工具栏", + "terms": [ + "快捷键", + "auth-download-trigger", + "canvas-controls" + ], + "modules": [ + { + "score": 3, + "moduleId": "978783", + "chunk": "2dd2677bd8400c05.6e89e8a936.js", + "file": "module-split/2dd2677bd8400c05.6e89e8a936/module-978783.js" + }, + { + "score": 3, + "moduleId": "978783", + "chunk": "7e519410fdb8d8cd.424e721e83.js", + "file": "module-split/7e519410fdb8d8cd.424e721e83/module-978783.js" + }, + { + "score": 2, + "moduleId": "722851", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-722851.js" + }, + { + "score": 2, + "moduleId": "934108", + "chunk": "52b439c49186f2c2.ea531eb2ab.js", + "file": "module-split/52b439c49186f2c2.ea531eb2ab/module-934108.js" + }, + { + "score": 2, + "moduleId": "722851", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-722851.js" + }, + { + "score": 2, + "moduleId": "934108", + "chunk": "fd0220e4d10052af.701bdafa2d.js", + "file": "module-split/fd0220e4d10052af.701bdafa2d/module-934108.js" + }, + { + "score": 1, + "moduleId": "523520", + "chunk": "009f51d00ab2b836.c383911d30.js", + "file": "module-split/009f51d00ab2b836.c383911d30/module-523520.js" + }, + { + "score": 1, + "moduleId": "33725", + "chunk": "024a3642cfddfa89.95b9211528.js", + "file": "module-split/024a3642cfddfa89.95b9211528/module-33725.js" + } + ] + } + ] +} diff --git a/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/deep-completeness-review.md b/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/deep-completeness-review.md new file mode 100644 index 000000000..5b2e67584 --- /dev/null +++ b/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/deep-completeness-review.md @@ -0,0 +1,101 @@ +# LibLib Canvas 前端获取完整性深度审计 + +生成时间:2026-04-18 +项目地址:https://www.liblib.tv/canvas?projectId=ed9a2c12570a49b9a1186017b2c38b52 + +## 结论 + +这份抓取对于“浏览器实际交付到当前登录画布页的生产前端代码”完整性很高:静态 HTML、JS、CSS、字体、图片、主要 API JSON、画布工具配置、动态安全点击后新增的 JSON/图片资源都已落盘;没有发现缺失的浏览器 JS/CSS chunk。 + +但它不是原始源码仓库,也不是后端代码。没有公开 sourcemap,因此无法还原成一模一样的 TypeScript/React 源码目录;浏览器也拿不到服务端私有实现、鉴权逻辑、任务调度、支付、上传、生成等后端代码。 + +## 已确认完整的部分 + +- 静态资源清单:171 条,全部 HTTP 200,本地缺失 0。 +- 脱敏 HAR:205 条请求,全部 HTTP 200,失败 0。 +- 浏览器前端包:74 个 JS、11 个 CSS、3 个 HTML、51 个格式化 API JSON。 +- Turbopack 模块拆分:74 个 JS 文件中提取 70 个 Turbopack chunk,1872 个模块,解析错误 0。 +- HTML/JS 中引用的完整静态 chunk URL:83 个,清单缺失 0。 +- HTML 中直接引用的静态 chunk URL:66 个,清单缺失 0。 +- 画布功能模块配置:67 个 tool spec、25 个 workflow preset 已从接口保存。 +- 动态安全点击审计:两轮共 281 条响应,新增资源均为 JSON/图片/埋点,没有新增 JS/CSS/chunk。 + +## 画布功能模块覆盖 + +画布工具配置来自 `/api/tool_spec/list` 与 `/api/canvas/workflow/list`,已整理到 `canvas-modules.json` 和 `canvas-modules.md`。 + +已覆盖的工具类型: + +- image:22 +- video:38 +- text:3 +- audio:3 +- compose:1 + +已覆盖的模式: + +- image2image:17 +- image2text:3 +- video2text:3 +- mixed2video:8 +- frames2video:24 +- videoEdit2video:3 +- audio2video:9 +- singleImage2video:31 +- image2video:9 +- video2video:2 + +这说明画布中可添加的主要节点、模型、参数、属性枚举、工作流预设已经拿到配置层数据。真正点击“生成”、真实上传素材、真实支付、发布成功后的后端任务响应不属于静态前端配置,未强行触发。 + +## 动态交互覆盖 + +执行过的安全交互包括: + +- 左侧添加面板及文本、图片、视频、视频组合、音频、脚本、上传、图库入口。 +- 左侧 workflow、assets、history、help、support。 +- 顶部 share/publish 相关入口、会员入口、头像入口。 +- LibTV Skills/access key 相关弹窗入口。 + +为避免改动项目,审计时阻断了草稿更新、节点批量写入、版本创建、发布、分享开关等写接口。动态审计新增资源包括媒体素材 tag tree、会员 modelCards、activity config、若干 PNG/SVG 静态素材;没有新增前端代码包。 + +## Worker 与异步资源检查 + +- `draft-save.worker.js` 是真实独立 Worker,已抓取为 `assets/draft-save.worker.593c8f9e44.js`,并在 `readable/js/` 中有可读化副本。 +- `elk-worker.min.js` 字符串出现在 ELK 布局库的 Browserify/Turbopack 内部模块依赖映射中,属于打包进现有 chunk 的内部模块,不是浏览器另行请求的缺失文件。 +- HLS、代码高亮等第三方库里有 Worker 创建逻辑,但动态审计没有发现它们拉取额外 JS/CSS 静态资源。 + +## 当前项目实例状态 + +项目详情接口显示该画布项目名为“未命名”,项目草稿里: + +- `nodeList`:0 +- `connectionList`:null +- `draftData.nodes`:0 +- `draftData.edges`:0 + +所以这次拿到的是“空画布页面及其完整可用功能前端/配置”,不是某个已有复杂画布的节点实例数据。 + +## 不能算完整的边界 + +以下内容不是遗漏,而是浏览器抓包天然拿不到,或出于安全没有触发: + +- 原始源码仓库、源码注释、源码文件名、未压缩组件层级。 +- 后端服务代码、数据库结构、任务队列、模型调用实现。 +- 未公开 sourcemap;本地没有 `.map` 文件。 +- 需要真实消耗积分/付费/上传/生成/删除/发布成功后的动作级响应。 +- 只有特定账号权限、特定素材、已有节点数据、或服务端灰度开关才会出现的私有返回。 + +## 风险提示 + +原始抓取目录和全量压缩包可能包含登录态、用户信息或请求头痕迹,仅适合本机分析。对外传递应使用重新生成后的脱敏包,或只传 `readable/`、`module-split/`、`canvas-modules.*`、`feature-map.md`、`api-endpoints.*` 这类分析产物。 + +## 最终判断 + +完整性分层判断: + +- 浏览器交付的生产前端运行代码:高,可以认为当前访问路径下已完整。 +- 画布功能模块配置:高,主要工具、模型、参数和 workflow 已保存。 +- 弹窗和普通 UI 交互前端:中高,安全可点入口已覆盖,未发现新代码包。 +- 真实业务动作返回:部分,仅保存了已触发/安全触发的 API JSON。 +- 原始前端源码仓库:不完整,公开页面无法直接取得。 +- 后端代码:不完整,浏览器无法取得。 diff --git a/components/canvas/CanvasWorkspace.tsx b/components/canvas/CanvasWorkspace.tsx index 98f2faa7d..b09c65592 100644 --- a/components/canvas/CanvasWorkspace.tsx +++ b/components/canvas/CanvasWorkspace.tsx @@ -184,6 +184,7 @@ interface CanvasWorkspaceProps { workspaceVariant?: "canvas" | "video"; layerSplitEnabled?: boolean; showEmptyState?: boolean; + showZoomControls?: boolean; onBlankCanvasDoubleClick?: (payload: { screenPosition: Position; canvasPosition: Position; @@ -197,6 +198,7 @@ export function CanvasWorkspace({ workspaceVariant = "canvas", layerSplitEnabled = false, showEmptyState = true, + showZoomControls = true, onBlankCanvasDoubleClick, }: CanvasWorkspaceProps) { const SNAP_THRESHOLD = 10; @@ -1525,7 +1527,8 @@ export function CanvasWorkspace({
{isWorkflowCanvas ? ( <> -
+
@@ -1830,52 +1833,54 @@ export function CanvasWorkspace({
)} -
- - - -
+ + + +
+ ) : null}
); } diff --git a/components/canvas/LiblibVideoCanvasReplica.tsx b/components/canvas/LiblibVideoCanvasReplica.tsx new file mode 100644 index 000000000..414c0a7d5 --- /dev/null +++ b/components/canvas/LiblibVideoCanvasReplica.tsx @@ -0,0 +1,1735 @@ +"use client"; + +import { + Bell, + Box, + Clock3, + Copy, + Crown, + Eye, + FileImage, + FileText, + FolderOpen, + GitBranch, + Headphones, + HelpCircle, + KeyRound, + Layers, + Loader2, + Lock, + Minus, + MousePointer2, + Music2, + Plus, + Save, + Search, + Share2, + UserRound, + Video, + X, + Zap, + type LucideIcon, +} from "lucide-react"; +import { useRouter } from "next/navigation"; +import { useCallback, useEffect, useMemo, useState } from "react"; +import { toast } from "sonner"; +import capturedCanvasModules from "@/artifacts/liblib-frontend-capture-ed9a2c12570a49b9a1186017b2c38b52/canvas-modules.json"; +import { CanvasWorkspace } from "@/components/canvas/CanvasWorkspace"; +import { canvasService } from "@/services/canvas"; +import { useCanvasStore, canvasSelectors } from "@/store/canvas"; +import { cn } from "@/lib/utils"; +import type { CanvasNode, Position, WorkflowNodeData } from "@/types/canvas"; + +type ActivePanel = + | "add" + | "workflow" + | "assets" + | "history" + | "help" + | "support" + | "skills" + | "share" + | "publish" + | "member" + | "notifications" + | "account" + | null; + +type CapturedTool = { + type?: string; + toolKey?: string; + modelKey?: string; + modelName?: string; + vendor?: string; + scene?: string; + modes?: string[]; + settings?: string[]; + advancedSettings?: string[]; + propertyKeys?: string[]; + generateTypes?: unknown; + rules?: unknown; + metadata?: { + properties?: Record; + config?: Record; + generateTypes?: unknown; + rules?: unknown; + [key: string]: unknown; + }; +}; + +type TargetNodeKind = "image" | "video" | "text" | "audio" | "compose" | "workflow" | "preview" | "save"; + +interface LiblibVideoCanvasReplicaProps { + canvasId: string; + isLoading?: boolean; +} + +const capturedTools = ((capturedCanvasModules as any).tools || []) as CapturedTool[]; +const capturedCounts = (capturedCanvasModules as any).counts || {}; +const capturedWorkflows = ((capturedCanvasModules as any).workflows || []) as Array<{ + id?: string | number; + name?: string; + title?: string; + description?: string; +}>; + +const TOOL_TYPE_META: Record< + string, + { label: string; icon: LucideIcon; color: string; nodeKind: TargetNodeKind } +> = { + image: { label: "图片", icon: FileImage, color: "#70d6ff", nodeKind: "image" }, + video: { label: "视频", icon: Video, color: "#9b8cff", nodeKind: "video" }, + text: { label: "文本", icon: FileText, color: "#ffd166", nodeKind: "text" }, + audio: { label: "音频", icon: Music2, color: "#80ed99", nodeKind: "audio" }, + compose: { label: "组合", icon: GitBranch, color: "#ff8fab", nodeKind: "compose" }, +}; + +const STARTER_CARDS: Array<{ + title: string; + subtitle: string; + nodes: Array<{ label: string; kind: TargetNodeKind }>; + tone: string; +}> = [ + { + title: "故事脚本生成", + subtitle: "脚本到分镜", + nodes: [ + { label: "故事脚本", kind: "text" }, + { label: "分镜拆解", kind: "compose" }, + { label: "视频生成", kind: "video" }, + { label: "预览", kind: "preview" }, + ], + tone: "from-slate-800 via-zinc-900 to-black", + }, + { + title: "角色三视图", + subtitle: "角色资产沉淀", + nodes: [ + { label: "角色描述", kind: "text" }, + { label: "角色三视图", kind: "image" }, + { label: "角色视频", kind: "video" }, + { label: "保存", kind: "save" }, + ], + tone: "from-red-950 via-zinc-900 to-black", + }, + { + title: "首帧图生视频", + subtitle: "参考图到成片", + nodes: [ + { label: "首帧图", kind: "image" }, + { label: "镜头提示词", kind: "text" }, + { label: "图生视频", kind: "video" }, + { label: "预览", kind: "preview" }, + ], + tone: "from-stone-800 via-zinc-900 to-black", + }, + { + title: "音频生视频", + subtitle: "音频驱动画面", + nodes: [ + { label: "音频输入", kind: "audio" }, + { label: "画面描述", kind: "text" }, + { label: "音频生视频", kind: "video" }, + { label: "预览", kind: "preview" }, + ], + tone: "from-emerald-950 via-zinc-900 to-black", + }, +]; + +const TOOLBAR_ITEMS: Array<{ + id: Exclude; + label: string; + icon: LucideIcon; +}> = [ + { id: "add", label: "添加模块", icon: Plus }, + { id: "workflow", label: "工作流", icon: GitBranch }, + { id: "assets", label: "素材", icon: Layers }, + { id: "history", label: "历史记录", icon: Clock3 }, + { id: "help", label: "帮助", icon: HelpCircle }, + { id: "support", label: "客服", icon: Headphones }, +]; + +const PANEL_TABS = ["全部", "图片", "视频", "文本", "音频", "组合"] as const; + +function getToolType(tool: CapturedTool) { + return String(tool.type || "video").trim() || "video"; +} + +function getToolLabel(tool: CapturedTool) { + return String(tool.modelName || tool.scene || tool.modelKey || tool.toolKey || "未命名模块").trim(); +} + +function inferNodeKindForTool(tool: CapturedTool): TargetNodeKind { + const type = getToolType(tool); + const modes = (tool.modes || []).map((mode) => String(mode).toLowerCase()); + const name = `${tool.modelName || ""} ${tool.scene || ""} ${tool.toolKey || ""}`.toLowerCase(); + + if (type === "audio") return "audio"; + if (type === "text") return "text"; + if (type === "compose") return "compose"; + if (name.includes("保存")) return "save"; + if (name.includes("预览")) return "preview"; + if (type === "image" && modes.some((mode) => mode.includes("video"))) return "video"; + if (type === "image") return "image"; + return "video"; +} + +function getToolModes(tool: CapturedTool) { + return (tool.modes || []).map(String).filter(Boolean).slice(0, 3); +} + +function getVisibleOrigin(viewport: { x: number; y: number; zoom: number }) { + return { + x: (-viewport.x + 320) / viewport.zoom, + y: (-viewport.y + 220) / viewport.zoom, + }; +} + +function patchNodeForCapturedTool(node: CanvasNode, tool: CapturedTool): Partial { + const label = getToolLabel(tool); + const metadata = { + ...((node.data as any)?.metadata || {}), + source: "liblib-capture", + backendStatus: "placeholder", + liblibTool: { + type: tool.type || "", + toolKey: tool.toolKey || "", + modelKey: tool.modelKey || "", + modelName: tool.modelName || "", + vendor: tool.vendor || "", + scene: tool.scene || "", + modes: tool.modes || [], + settings: tool.settings || [], + advancedSettings: tool.advancedSettings || [], + propertyKeys: tool.propertyKeys || [], + properties: tool.metadata?.properties || {}, + config: tool.metadata?.config || {}, + generateTypes: tool.generateTypes || tool.metadata?.generateTypes || {}, + rules: tool.rules || tool.metadata?.rules || [], + }, + }; + + if (node.type === "workflow") { + const data = node.data as WorkflowNodeData; + return { + data: { + ...data, + title: label, + description: `${tool.vendor || "LibLib"} / ${tool.scene || tool.modelKey || "模型模块"}`, + summary: "前端模块已迁移,真实生成接口待后续接入。", + metadata, + }, + }; + } + + if (node.type === "image") { + return { + data: { + ...(node.data as any), + title: label, + prompt: "上传或连接上游图片后可接入生成。", + status: "pending", + metadata, + }, + }; + } + + if (node.type === "video") { + return { + data: { + ...(node.data as any), + prompt: "上传或连接上游视频后可接入生成。", + status: "pending", + metadata, + }, + }; + } + + if (node.type === "text") { + return { + data: { + ...(node.data as any), + content: `${label}\n\n在这里输入提示词、脚本或约束。`, + metadata, + }, + }; + } + + return { + data: { + ...(node.data as any), + metadata, + }, + }; +} + +function buildTargetCanvasNode({ + description, + kind, + metadata, + position, + title, +}: { + description?: string; + kind: TargetNodeKind; + metadata?: Record; + position: Position; + title: string; +}): Omit { + const baseMetadata = { + source: "liblib-target-replica", + backendStatus: "placeholder", + ...metadata, + }; + + if (kind === "image") { + return { + type: "image", + position, + size: { width: 260, height: 220 }, + data: { + src: "", + status: "pending", + title, + prompt: description || "图片模块前端已就绪,生成接口待接入。", + note: "上传、参考图、结果图能力后续接入。", + metadata: baseMetadata, + }, + connections: [], + }; + } + + if (kind === "video") { + return { + type: "video", + position, + size: { width: 300, height: 220 }, + data: { + src: "", + status: "pending", + prompt: description || "视频模块前端已就绪,生成接口待接入。", + metadata: baseMetadata, + }, + connections: [], + }; + } + + if (kind === "text") { + return { + type: "text", + position, + size: { width: 300, height: 170 }, + data: { + content: `${title}\n\n输入提示词、脚本、镜头描述或参数。`, + fontSize: 15, + color: "#f4f4f5", + lineHeight: 1.55, + borderWidth: 1, + borderColor: "rgba(255,255,255,0.12)", + borderRadius: 8, + padding: 18, + backgroundColor: "rgba(31,31,31,0.96)", + metadata: baseMetadata, + }, + connections: [], + }; + } + + const iconTitle = + kind === "audio" + ? "音频模块" + : kind === "preview" + ? "预览模块" + : kind === "save" + ? "保存模块" + : "工作流模块"; + + return { + type: "workflow", + position, + size: { width: kind === "compose" ? 340 : 280, height: 170 }, + data: { + templateType: `liblib-${kind}-${title}`, + title, + description: description || iconTitle, + summary: "前端节点已迁移,后端能力留空待补。", + status: "pending", + group: kind === "audio" ? "generation" : kind === "save" || kind === "preview" ? "output" : "tool", + accentColor: + kind === "audio" + ? "#80ed99" + : kind === "save" || kind === "preview" + ? "#70d6ff" + : "#ff8fab", + metadata: baseMetadata, + }, + connections: [], + }; +} + +function getNodeLiblibTool(node: CanvasNode | null) { + const metadata = ((node?.data as any)?.metadata || {}) as Record; + return (metadata.liblibTool || null) as + | (CapturedTool & { + properties?: Record; + config?: Record; + generateTypes?: unknown; + rules?: unknown; + }) + | null; +} + +function getNodeDraftValues(node: CanvasNode | null) { + const metadata = ((node?.data as any)?.metadata || {}) as Record; + return (metadata.draftValues || {}) as Record; +} + +function getPropertyEntries(tool: ReturnType) { + const properties = tool?.properties; + if (!properties || typeof properties !== "object") return []; + return Object.entries(properties).filter(([key]) => key !== "modeType"); +} + +function getPropertyLabel(key: string, config: unknown) { + if (config && typeof config === "object" && "displayName" in config) { + const displayName = (config as { displayName?: unknown }).displayName; + if (typeof displayName === "string" && displayName.trim()) return displayName; + } + const labels: Record = { + count: "生成数量", + frameRate: "帧率", + lora: "风格", + media: "素材", + prompt: "提示词", + quality: "分辨率", + ratio: "比例", + resolution: "分辨率", + searchable: "联网搜索", + seed: "种子", + style: "模型", + template: "风格", + }; + return labels[key] || key; +} + +function getOptionValue(option: unknown) { + if (option && typeof option === "object" && "value" in option) { + return String((option as { value?: unknown }).value ?? ""); + } + return String(option ?? ""); +} + +function getOptionLabel(option: unknown) { + if (option && typeof option === "object" && "displayName" in option) { + const label = (option as { displayName?: unknown }).displayName; + if (label) return String(label); + } + return getOptionValue(option); +} + +function normalizeEnumOptions(config: unknown) { + if (Array.isArray(config)) return config; + if (config && typeof config === "object" && Array.isArray((config as { enum?: unknown[] }).enum)) { + return (config as { enum: unknown[] }).enum; + } + return []; +} + +function getDefaultPropertyValue(key: string, config: unknown) { + if (config && typeof config === "object" && "default" in config) { + return String((config as { default?: unknown }).default ?? ""); + } + const options = normalizeEnumOptions(config); + if (options.length > 0) return getOptionValue(options[0]); + if (typeof config === "boolean") return config ? "true" : "false"; + if (key === "prompt") return ""; + return ""; +} + +function rulesRequireMedia(tool: ReturnType) { + const rules = tool?.rules; + if (!Array.isArray(rules)) return false; + return rules.some((rule) => { + if (!rule || typeof rule !== "object") return false; + const required = (rule as { require?: unknown }).require; + return Array.isArray(required) && required.map(String).includes("media"); + }); +} + +function GlassButton({ + active, + children, + className, + disabled, + onClick, + title, +}: { + active?: boolean; + children: React.ReactNode; + className?: string; + disabled?: boolean; + onClick?: () => void; + title?: string; +}) { + return ( + + ); +} + +function FloatingModal({ + children, + onClose, + title, + width = 520, +}: { + children: React.ReactNode; + onClose: () => void; + title: string; + width?: number; +}) { + return ( +
+
+
+

{title}

+ +
+
{children}
+
+
+ ); +} + +export function LiblibVideoCanvasReplica({ + canvasId, + isLoading = false, +}: LiblibVideoCanvasReplicaProps) { + const router = useRouter(); + const nodes = useCanvasStore(canvasSelectors.nodes); + const selectedNodeIds = useCanvasStore(canvasSelectors.selectedNodeIds); + const viewport = useCanvasStore(canvasSelectors.viewport); + const tool = useCanvasStore(canvasSelectors.tool); + const projectTitle = useCanvasStore((state) => state.projectTitle); + const setProject = useCanvasStore((state) => state.setProject); + const setProjectTitle = useCanvasStore((state) => state.setProjectTitle); + const setTool = useCanvasStore((state) => state.setTool); + const setViewport = useCanvasStore((state) => state.setViewport); + const addNode = useCanvasStore((state) => state.addNode); + const addEdge = useCanvasStore((state) => state.addEdge); + const updateNode = useCanvasStore((state) => state.updateNode); + const selectNodes = useCanvasStore((state) => state.selectNodes); + const clearSelection = useCanvasStore((state) => state.clearSelection); + const loadCanvas = useCanvasStore((state) => state.loadCanvas); + const clearCanvas = useCanvasStore((state) => state.clearCanvas); + const getCanvasState = useCanvasStore((state) => state.getCanvasState); + const [activePanel, setActivePanel] = useState(null); + const [toolSearch, setToolSearch] = useState(""); + const [toolTab, setToolTab] = useState<(typeof PANEL_TABS)[number]>("全部"); + const [isTitleEditing, setIsTitleEditing] = useState(false); + const [draftTitle, setDraftTitle] = useState(projectTitle || "未命名"); + const [isProjectLoading, setIsProjectLoading] = useState(true); + const [isSaving, setIsSaving] = useState(false); + const [shareEnabled, setShareEnabled] = useState(false); + const [publishPublic, setPublishPublic] = useState(false); + + const selectedNode = useMemo( + () => nodes.find((node) => selectedNodeIds.includes(node.id)) || null, + [nodes, selectedNodeIds] + ); + const isBusy = isLoading || isProjectLoading; + + useEffect(() => { + if (!isTitleEditing) { + setDraftTitle(projectTitle || "未命名视频画布"); + } + }, [isTitleEditing, projectTitle]); + + useEffect(() => { + let active = true; + + async function loadTargetCanvas() { + setIsProjectLoading(true); + clearCanvas(); + + const result = await canvasService.getProject(canvasId); + if (!active) return; + + if (result.success && result.data) { + setProject(canvasId, result.data.title || "未命名视频画布"); + if (result.data.canvasData) { + loadCanvas(result.data.canvasData); + } + setIsProjectLoading(false); + return; + } + + setProject(canvasId, "未命名视频画布"); + await canvasService + .saveCanvasState( + canvasId, + { + nodes: [], + edges: [], + selectedNodeIds: [], + viewport: { x: 0, y: 0, zoom: 1 }, + tool: "select", + }, + "video" + ) + .catch(() => undefined); + if (active) { + setIsProjectLoading(false); + } + } + + void loadTargetCanvas(); + + return () => { + active = false; + }; + }, [canvasId, clearCanvas, loadCanvas, setProject]); + + const filteredTools = useMemo(() => { + const normalizedSearch = toolSearch.trim().toLowerCase(); + return capturedTools.filter((item) => { + const type = getToolType(item); + const tabMatched = + toolTab === "全部" || + (toolTab === "图片" && type === "image") || + (toolTab === "视频" && type === "video") || + (toolTab === "文本" && type === "text") || + (toolTab === "音频" && type === "audio") || + (toolTab === "组合" && type === "compose"); + if (!tabMatched) return false; + if (!normalizedSearch) return true; + return [ + item.modelName, + item.vendor, + item.scene, + item.toolKey, + item.modelKey, + ...(item.modes || []), + ] + .filter(Boolean) + .join(" ") + .toLowerCase() + .includes(normalizedSearch); + }); + }, [toolSearch, toolTab]); + + const saveCanvas = useCallback(async () => { + setIsSaving(true); + try { + const result = await canvasService.saveCanvasState(canvasId, getCanvasState(), "video"); + if (!result.success) { + toast.error(result.error || "保存失败"); + return; + } + toast.success("视频画布已保存"); + } finally { + setIsSaving(false); + } + }, [canvasId, getCanvasState]); + + const commitTitle = useCallback(async () => { + const nextTitle = draftTitle.trim() || "未命名"; + setProjectTitle(nextTitle); + setIsTitleEditing(false); + await canvasService.updateProject(canvasId, { title: nextTitle }, "video"); + }, [canvasId, draftTitle, setProjectTitle]); + + const getPlacement = useCallback( + (size: { width: number; height: number }, index = 0): Position => { + const origin = getVisibleOrigin(viewport); + const selected = selectedNode; + if (selected) { + return { + x: selected.position.x + selected.size.width + 180 + index * 48, + y: selected.position.y + selected.size.height / 2 - size.height / 2 + index * 36, + }; + } + return { + x: origin.x + index * 110, + y: origin.y + index * 24, + }; + }, + [selectedNode, viewport] + ); + + const createTargetNode = useCallback( + ( + payload: { + description?: string; + kind: TargetNodeKind; + metadata?: Record; + title: string; + }, + options?: { + position?: Position; + connectFromSelection?: boolean; + patchTool?: CapturedTool; + index?: number; + } + ) => { + const size = + payload.kind === "video" + ? { width: 300, height: 220 } + : payload.kind === "image" + ? { width: 260, height: 220 } + : payload.kind === "text" + ? { width: 300, height: 170 } + : { width: payload.kind === "compose" ? 340 : 280, height: 170 }; + const nodeConfig = buildTargetCanvasNode({ + ...payload, + position: options?.position || getPlacement(size, options?.index || 0), + }); + const nodeId = addNode(nodeConfig); + const sourceNodeId = + options?.connectFromSelection !== false && selectedNode ? selectedNode.id : null; + if (sourceNodeId && sourceNodeId !== nodeId) { + addEdge({ source: sourceNodeId, target: nodeId, type: "default" }); + } + if (options?.patchTool) { + const createdNode = useCanvasStore.getState().nodes.find((node) => node.id === nodeId); + if (createdNode) { + updateNode(nodeId, patchNodeForCapturedTool(createdNode, options.patchTool)); + } + } + selectNodes([nodeId]); + return nodeId; + }, + [addEdge, addNode, getPlacement, selectNodes, selectedNode, updateNode] + ); + + const createToolNode = useCallback( + (capturedTool: CapturedTool) => { + const kind = inferNodeKindForTool(capturedTool); + createTargetNode( + { + kind, + title: getToolLabel(capturedTool), + description: `${capturedTool.vendor || "LibLib"} / ${capturedTool.scene || capturedTool.modelKey || "目标模块"}`, + metadata: { + source: "liblib-tool-spec", + }, + }, + { patchTool: capturedTool } + ); + toast.success(`已添加 ${getToolLabel(capturedTool)}`); + }, + [createTargetNode] + ); + + const createStarter = useCallback( + (starter: (typeof STARTER_CARDS)[number]) => { + const origin = getVisibleOrigin(viewport); + const nodeIds = starter.nodes.map((item, index) => { + const position = { + x: origin.x + index * 390, + y: origin.y + (index % 2) * 18, + }; + return addNode( + buildTargetCanvasNode({ + kind: item.kind, + title: item.label, + description: starter.title, + metadata: { + source: "liblib-starter-card", + starterTitle: starter.title, + }, + position, + }) + ); + }); + nodeIds.slice(1).forEach((nodeId, index) => { + const source = nodeIds[index]; + if (source && nodeId) { + addEdge({ source, target: nodeId, type: "default" }); + } + }); + if (nodeIds.length > 0) { + selectNodes([nodeIds[nodeIds.length - 1]]); + } + toast.success(`已创建 ${starter.title}`); + }, + [addEdge, addNode, selectNodes, viewport] + ); + + const createWorkflowPresetNode = useCallback( + (workflow: (typeof capturedWorkflows)[number]) => { + createTargetNode( + { + kind: "workflow", + title: String(workflow.name || workflow.title || "工作流预设"), + description: String(workflow.description || "目标前端预设,后端执行待接入。"), + metadata: { + source: "liblib-workflow-preset", + workflowId: workflow.id || "", + workflowUuid: (workflow as any).uuid || "", + cover: (workflow as any).cover || "", + }, + }, + { connectFromSelection: true } + ); + toast.success("已添加目标工作流预设"); + }, + [createTargetNode] + ); + + const updateSelectedDraftValue = useCallback( + (key: string, value: unknown) => { + if (!selectedNode) return; + const data = selectedNode.data as Record; + const metadata = (data.metadata || {}) as Record; + updateNode(selectedNode.id, { + data: { + ...data, + metadata: { + ...metadata, + draftValues: { + ...((metadata.draftValues || {}) as Record), + [key]: value, + }, + }, + } as unknown as CanvasNode["data"], + }); + }, + [selectedNode, updateNode] + ); + + const copyShareLink = useCallback(async () => { + const url = + typeof window === "undefined" + ? `/canvas/${canvasId}?mode=video&workspaceType=video` + : window.location.href; + await navigator.clipboard?.writeText(url).catch(() => undefined); + setShareEnabled(true); + toast.success("分享链接已复制"); + }, [canvasId]); + + const openPanel = useCallback((panel: Exclude) => { + setActivePanel((current) => (current === panel ? null : panel)); + }, []); + + return ( +
+
+ { + clearSelection(); + setActivePanel("add"); + setViewport({ + x: viewport.x, + y: viewport.y, + zoom: viewport.zoom, + }); + }} + showEmptyState={false} + showZoomControls={false} + workspaceLabel="视频画布" + workspaceVariant="video" + /> +
+ + {isBusy ? ( +
+
+ + 正在打开视频画布... +
+
+ ) : null} + +
+
+ + +
+ + {isTitleEditing ? ( + void commitTitle()} + onChange={(event) => setDraftTitle(event.target.value)} + onKeyDown={(event) => { + if (event.key === "Enter") void commitTitle(); + if (event.key === "Escape") setIsTitleEditing(false); + }} + value={draftTitle} + /> + ) : ( + + )} +
+ +
+ openPanel("skills")}>LibTV Skills + void saveCanvas()} title="保存"> + {isSaving ? : } + + openPanel("share")} title="分享"> + + + openPanel("notifications")} title="通知"> + + + openPanel("member")} + > + + 会员超市 + + openPanel("member")}> + + 会员特惠 + + openPanel("account")} title="账号"> + + +
+
+ + + + {activePanel === "add" ? ( +
+
+
+
+
添加功能模块
+
+ 已迁移 {capturedCounts.tools || capturedTools.length} 个工具配置 +
+
+ +
+ +
+ + setToolSearch(event.target.value)} + placeholder="搜索模型、厂商、模式" + value={toolSearch} + /> +
+ +
+ {PANEL_TABS.map((tab) => ( + + ))} +
+
+ +
+
+ {filteredTools.map((capturedTool) => { + const type = getToolType(capturedTool); + const meta = TOOL_TYPE_META[type] || TOOL_TYPE_META.video; + const Icon = meta.icon; + const modes = getToolModes(capturedTool); + return ( + + ); + })} +
+
+
+ ) : null} + + {activePanel === "workflow" ? ( +
+
+
+
目标工作流预设
+
+ 抓取到 {capturedWorkflows.length || 25} 个预设,后端执行先留空 +
+
+ +
+
+
+ {capturedWorkflows.map((workflow) => { + const cover = String((workflow as any).cover || "").trim(); + return ( + + ); + })} +
+
+
+ ) : null} + + {nodes.length === 0 && activePanel !== "add" && activePanel !== "workflow" ? ( +
+
+ + 双击画布 自由生成节点 +
+
+ {STARTER_CARDS.map((card) => ( + + ))} +
+
+ ) : null} + +
+ + + +
+ + + +
+ + {selectedNode ? ( + + ) : null} + + {activePanel === "assets" ? ( + setActivePanel(null)} title="素材库"> + + + ) : null} + + {activePanel === "history" ? ( + setActivePanel(null)} title="历史记录"> +
+ {nodes.length === 0 ? ( + + ) : ( + nodes.slice(-12).reverse().map((node) => ( + + )) + )} +
+
+ ) : null} + + {activePanel === "help" ? ( + setActivePanel(null)} title="快捷键"> +
+ {[ + ["V", "选择工具"], + ["H / 空格拖动", "平移画布"], + ["L", "工作流连线"], + ["⌘ / Ctrl + S", "保存"], + ["双击空白", "打开添加模块"], + ["双击连线", "删除连线"], + ].map(([key, label]) => ( +
+ {label} + {key} +
+ ))} +
+
+ ) : null} + + {activePanel === "support" ? ( + setActivePanel(null)} title="支持中心"> + + + ) : null} + + {activePanel === "skills" ? ( + setActivePanel(null)} title="LibTV Skills"> +
+ +
+
能力覆盖
+
+ {Object.entries(capturedCounts.byType || {}).map(([type, count]) => { + const meta = TOOL_TYPE_META[type] || TOOL_TYPE_META.video; + return ( +
+
{String(count)}
+
{meta.label}
+
+ ); + })} +
+
+
+
+ ) : null} + + {activePanel === "share" ? ( + setActivePanel(null)} title="发布与分享"> +
+
+
+
+
分享链接
+
+ 打开后可查看当前视频画布,权限控制后续接入。 +
+
+ +
+
+
+ 启用分享 + +
+ +
+
+ ) : null} + + {activePanel === "publish" ? ( + setActivePanel(null)} title="发布作品到视频画布广场" width={560}> +
+
+ + +
+ +