|
|
@@ -1,7 +1,7 @@
|
|
|
-{
|
|
|
+{
|
|
|
"name": "transcript-to-video",
|
|
|
- "displayName": "閫愬瓧绋緼I瑙嗛鐢熸垚宸ヤ綔娴?,
|
|
|
- "description": "杈撳叆閫愬瓧绋挎枃鏈紝AI鑷姩鎷嗗垎闀滆剼鏈紝鎵归噺璋冪敤鍗虫ⅵ瑙嗛鐢熸垚锛岃緭鍑鸿棰戠墖娈礥RL鍒楄〃+SRT瀛楀箷鏂囦欢銆傛敮鎸佹枃鐢熻棰戝拰鍏堝浘鍚庤棰戜袱绉嶆ā寮忋€?,
|
|
|
+ "displayName": "逐字稿 AI 视频生成工作流",
|
|
|
+ "description": "输入逐字稿文本,AI 自动拆分分镜脚本,批量生成视频素材,输出视频片段 URL 列表和 SRT 字幕文件。支持文生视频和先图后视频两种模式。",
|
|
|
"category": "video-creation",
|
|
|
"version": "1.0.0",
|
|
|
"type": "orchestration",
|
|
|
@@ -12,7 +12,7 @@
|
|
|
"properties": {
|
|
|
"transcript": {
|
|
|
"type": "string",
|
|
|
- "description": "閫愬瓧绋垮叏鏂囷紙涓枃锛夛紝Agent灏嗚嚜鍔ㄦ媶鍒嗕负鍒嗛暅娈?
|
|
|
+ "description": "逐字稿全文(中文),Agent 将自动拆分为分镜段"
|
|
|
},
|
|
|
"segmentDuration": {
|
|
|
"type": "number",
|
|
|
@@ -28,7 +28,7 @@
|
|
|
"videoMethod": {
|
|
|
"type": "string",
|
|
|
"enum": ["text2video", "img2video"],
|
|
|
- "description": "text2video=绾枃鐢熻棰戯紙蹇€燂級锛宨mg2video=鍏堢敓鍥惧啀鍥剧敓瑙嗛锛堟晥鏋滄洿鍙帶锛?,
|
|
|
+ "description": "text2video=纯文生视频(更快),img2video=先生成图片再图生视频(效果更可控)",
|
|
|
"default": "text2video"
|
|
|
},
|
|
|
"aspectRatio": {
|
|
|
@@ -40,7 +40,7 @@
|
|
|
"frames": {
|
|
|
"type": "integer",
|
|
|
"enum": [121, 241],
|
|
|
- "description": "瑙嗛甯ф暟锛?21=5绉掞紝241=10绉?,
|
|
|
+ "description": "视频帧数,121=5秒,241=10秒",
|
|
|
"default": 121
|
|
|
}
|
|
|
}
|
|
|
@@ -53,8 +53,8 @@
|
|
|
"type": "ai",
|
|
|
"description": "Agent灏嗛€愬瓧绋挎媶鍒嗕负鍒嗛暅JSON鍜孲RT瀛楀箷",
|
|
|
"aiConfig": {
|
|
|
- "systemPrompt": "浣犳槸涓撲笟鐨勮棰戝垎闀滆剼鏈紪鍐欎笓瀹躲€傚皢閫愬瓧绋挎媶鍒嗕负鍒嗛暅娈碉紝姣忔绾?0-45涓腑鏂囧瓧锛堢害15绉掕閫燂級銆備负姣忔鐢熸垚鑻辨枃瑙嗛鐢熸垚鎻愮ず璇嶏紙prompt锛夛紝鎻忚堪鐢婚潰鍐呭銆侀暅澶寸被鍨嬨€佹皼鍥村拰鐢昏川銆?,
|
|
|
- "userPromptTemplate": "璇峰皢浠ヤ笅閫愬瓧绋挎媶鍒嗕负鍒嗛暅鑴氭湰锛屾瘡娈电害${segmentDuration}绉掋€俓n\n閫愬瓧绋匡細\n${transcript}\n\n杈撳嚭JSON鏁扮粍鏍煎紡锛歕n[{\"id\":\"S-01\",\"act\":\"娈佃惤鍚峔",\"narration\":\"涓枃鏃佺櫧鍘熸枃\",\"type\":\"ai-gen\",\"prompt\":\"English video generation prompt with scene, camera, mood, quality keywords\",\"duration\":\"15s\"}]\n\n鍚屾椂杈撳嚭SRT瀛楀箷鏂囦欢鍐呭銆?,
|
|
|
+ "systemPrompt": "你是专业的视频分镜脚本编写专家。请将逐字稿拆分为分镜段,每段约 40-45 个中文字(约 15 秒语速)。为每段生成英文视频提示词(prompt),描述画面内容、镜头类型、氛围和画质。",
|
|
|
+ "userPromptTemplate": "请将以下逐字稿拆分为分镜脚本,每段约 ${segmentDuration} 秒。\n\n逐字稿:\n${transcript}\n\n请输出 JSON 数组,每项包含 id、act、narration、type、prompt、duration 字段,并同时输出 SRT 字幕文件内容。",
|
|
|
"outputFormat": {
|
|
|
"storyboard": "Array<{id, act, narration, type, prompt, duration}>",
|
|
|
"srt": "String (SRT format subtitle content)"
|
|
|
@@ -107,7 +107,7 @@
|
|
|
"steps": [
|
|
|
{
|
|
|
"id": "2b-1",
|
|
|
- "name": "鏂囩敓鍥撅紙棣栧抚锛?,
|
|
|
+ "name": "文生图(首帧)",
|
|
|
"skill": "jimeng/jimeng-img-v4",
|
|
|
"input": {
|
|
|
"prompt": "${segment.prompt}",
|
|
|
@@ -176,7 +176,7 @@
|
|
|
"steps": [
|
|
|
{
|
|
|
"id": "3a",
|
|
|
- "name": "杞浠诲姟鐘舵€?,
|
|
|
+ "name": "轮询任务状态",
|
|
|
"skill": "jimeng/jimeng-task-query",
|
|
|
"input": {
|
|
|
"workId": "${workId}",
|
|
|
@@ -207,7 +207,7 @@
|
|
|
},
|
|
|
{
|
|
|
"step": 4,
|
|
|
- "name": "缁撴灉姹囨€?,
|
|
|
+ "name": "结果汇总",
|
|
|
"type": "compute",
|
|
|
"logic": "aggregateResults(storyboard, srt, videoResults)",
|
|
|
"algorithm": {
|
|
|
@@ -219,7 +219,7 @@
|
|
|
},
|
|
|
{
|
|
|
"step": 5,
|
|
|
- "name": "鍙€夛細涓€閿垚鐗?,
|
|
|
+ "name": "可选:一键成片",
|
|
|
"type": "api",
|
|
|
"optional": true,
|
|
|
"condition": "user requests quick compilation && successCount <= 50 && totalDuration <= 30",
|
|
|
@@ -254,7 +254,7 @@
|
|
|
"prompt": { "type": "string" },
|
|
|
"duration": { "type": "string" },
|
|
|
"videoUrl": { "type": "string", "description": "鐢熸垚鐨勮棰慤RL锛堟案涔呮湁鏁堬級" },
|
|
|
- "imageUrl": { "type": "string", "description": "鐢熸垚鐨勯甯у浘URL锛坕mg2video妯″紡锛? }
|
|
|
+ "imageUrl": { "type": "string", "description": "生成的首帧图片 URL(img2video 模式)" }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
@@ -264,7 +264,7 @@
|
|
|
},
|
|
|
"segments": {
|
|
|
"type": "array",
|
|
|
- "description": "瑙嗛鐗囨姹囨€?,
|
|
|
+ "description": "视频片段汇总",
|
|
|
"items": {
|
|
|
"type": "object",
|
|
|
"properties": {
|
|
|
@@ -297,12 +297,12 @@
|
|
|
"text2video_720p_5s": {
|
|
|
"perSegment": 1.4,
|
|
|
"unit": "CNY",
|
|
|
- "formula": "0.28鍏?绉?脳 5绉?
|
|
|
+ "formula": "0.28元/秒 × 5秒"
|
|
|
},
|
|
|
"text2video_720p_10s": {
|
|
|
"perSegment": 2.8,
|
|
|
"unit": "CNY",
|
|
|
- "formula": "0.28鍏?绉?脳 10绉?
|
|
|
+ "formula": "0.28元/秒 × 10秒"
|
|
|
},
|
|
|
"img2video_720p_5s": {
|
|
|
"perSegment": 1.62,
|
|
|
@@ -310,32 +310,32 @@
|
|
|
"formula": "0.22鍏?鍥? + 0.28鍏?绉捗?绉?瑙嗛)"
|
|
|
},
|
|
|
"example_71segments_5s": {
|
|
|
- "text2video": "鈮?9鍏?,
|
|
|
- "img2video": "鈮?15鍏?
|
|
|
+ "text2video": "约99元",
|
|
|
+ "img2video": "约115元"
|
|
|
}
|
|
|
},
|
|
|
|
|
|
"limitations": {
|
|
|
- "videoDuration": "浠呮敮鎸?绉?121甯?鎴?0绉?241甯?锛屾棤娉曠簿纭尮閰峉RT鏃堕棿鎴?,
|
|
|
+ "videoDuration": "仅支持 5 秒(121 帧)或 10 秒(241 帧),无法精确匹配 SRT 时间戳",
|
|
|
"noTTS": "鏃燭TS閰嶉煶鑳藉姏锛岄渶鐢ㄦ埛鍦ㄥ壀鏄犱腑閰嶉煶",
|
|
|
- "noAutoStitch": "鏃犺嚜鍔ㄦ嫾鎺ラ暱瑙嗛鑳藉姏锛宷uickly鏈€闀?0绉?,
|
|
|
- "parallelLimit": "鍗虫ⅵAPI寤鸿鈮?骞惰锛岄伩鍏嶉鐜囬檺鍒?
|
|
|
+ "noAutoStitch": "暂无自动拼接长视频能力,quickly 最长 30 秒",
|
|
|
+ "parallelLimit": "即梦 API 建议并行数不超过 5,避免触发频率限制"
|
|
|
},
|
|
|
|
|
|
"futureExtensions": [
|
|
|
{
|
|
|
"name": "tts-voiceover",
|
|
|
- "description": "TTS閰嶉煶Skill锛氭寜閫愬瓧绋跨敓鎴愯闊抽煶棰?,
|
|
|
+ "description": "TTS 配音 Skill:按逐字稿生成语音音频",
|
|
|
"status": "planned"
|
|
|
},
|
|
|
{
|
|
|
"name": "video-stitch",
|
|
|
- "description": "瑙嗛鎷兼帴Skill锛欶Fmpeg鏈嶅姟绔寜SRT鏃堕棿杞寸簿纭嫾鎺?,
|
|
|
+ "description": "视频拼接 Skill:FFmpeg 服务端按 SRT 时间轴精确拼接",
|
|
|
"status": "planned"
|
|
|
},
|
|
|
{
|
|
|
"name": "seeddance-video",
|
|
|
- "description": "seeddance2.0妯″瀷鎺ュ叆锛氭洿楂樿川閲忚棰戠敓鎴?,
|
|
|
+ "description": "seeddance2.0 模型接入:生成更高质量视频",
|
|
|
"status": "planned"
|
|
|
}
|
|
|
],
|
|
|
@@ -349,23 +349,23 @@
|
|
|
"resolutionOrder": ["configFile", "currentToken"],
|
|
|
"onMissing": {
|
|
|
"action": "showPaymentQR",
|
|
|
- "qrCodeUrl": "https://pwa.fmode.cn/apig-pay.html?authid=T0iOotHcDX&fun_id=HOkkX72PMF",
|
|
|
+ "qrCodeUrl": "https://app.fmode.cn/dev/apig-pay/?authid=T0iOotHcDX&fun_id=HOkkX72PMF",
|
|
|
"paymentCheckEndpoint": "https://server.fmode.cn/api/apig/getApig",
|
|
|
"pollingIntervalMs": 3000,
|
|
|
"pollingTimeoutMs": 300000,
|
|
|
"onPaymentSuccess": "retrySkillWithNewToken",
|
|
|
"title": "鎵爜寮€閫氬嵆姊I瑙嗛鐢熸垚鏈嶅姟",
|
|
|
- "message": "璇锋壂鎻忎笅鏂逛簩缁寸爜瀹屾垚鏀粯锛屾敮浠樻垚鍔熷悗灏嗚嚜鍔ㄨ幏鍙?Token 骞剁户缁墽琛屻€?
|
|
|
+ "message": "请扫描下方二维码完成支付,支付成功后将自动获取新 Token 并继续执行。"
|
|
|
},
|
|
|
"onBalanceInsufficient": {
|
|
|
"action": "showPaymentQR",
|
|
|
- "qrCodeUrl": "https://pwa.fmode.cn/apig-pay.html?authid=T0iOotHcDX&fun_id=HOkkX72PMF",
|
|
|
+ "qrCodeUrl": "https://app.fmode.cn/dev/apig-pay/?authid=T0iOotHcDX&fun_id=HOkkX72PMF",
|
|
|
"paymentCheckEndpoint": "https://server.fmode.cn/api/apig/getApig",
|
|
|
"pollingIntervalMs": 3000,
|
|
|
"pollingTimeoutMs": 300000,
|
|
|
"onPaymentSuccess": "retrySkillWithNewToken",
|
|
|
- "title": "鍗虫ⅵAI Token 浣欓涓嶈冻锛岃鎵爜鍏呭€?,
|
|
|
- "message": "褰撳墠 Token 浣欓涓嶈冻锛岃鎵弿浜岀淮鐮佸厖鍊硷紝鏀粯瀹屾垚鍚庡皢鑷姩缁х画鎵ц銆?
|
|
|
+ "title": "即梦 AI Token 余额不足,请扫码充值",
|
|
|
+ "message": "当前 Token 余额不足,请扫描二维码充值,支付完成后将自动继续执行。"
|
|
|
}
|
|
|
},
|
|
|
|