takomi 2.1.40 → 2.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +22 -22
- package/README.md +3 -3
- package/assets/.agent/skills/remotion/rules/assets/charts-bar-chart.tsx +173 -173
- package/assets/.agent/skills/remotion/rules/assets/text-animations-typewriter.tsx +100 -100
- package/assets/.agent/skills/remotion/rules/text-animations.md +20 -20
- package/assets/.agent/skills/remotion/rules/videos.md +171 -171
- package/assets/.agent/skills/remotion-real-ui-video/SKILL.md +264 -0
- package/assets/.agent/skills/remotion-real-ui-video/references/anti-patterns.md +114 -0
- package/assets/.agent/skills/remotion-real-ui-video/references/completion-checklist.md +75 -0
- package/assets/.agent/skills/remotion-real-ui-video/references/real-ui-bridge-example.md +93 -0
- package/assets/.agent/skills/takomi-flow/SKILL.md +244 -244
- package/docs/features/TakomiFlow_Portable_Plugin.md +82 -82
- package/docs/takomi-flow-onboarding.md +86 -86
- package/docs/takomi-flow-public-distribution.md +94 -94
- package/package.json +1 -1
- package/plugins/takomi-flow/.mcp.json +11 -11
- package/plugins/takomi-flow/assets/capabilities.json +203 -203
- package/plugins/takomi-flow/assets/collection.schema.json +29 -29
- package/plugins/takomi-flow/assets/examples.json +94 -94
- package/plugins/takomi-flow/assets/request.schema.json +91 -91
- package/plugins/takomi-flow/assets/result.schema.json +46 -46
- package/plugins/takomi-flow/assets/templates/image-request.json +17 -17
- package/plugins/takomi-flow/assets/templates/video-request.json +19 -19
- package/plugins/takomi-flow/package.json +38 -38
- package/plugins/takomi-flow/pnpm-lock.yaml +813 -813
- package/plugins/takomi-flow/references/flow-provider-contract.md +349 -349
- package/plugins/takomi-flow/scripts/lib/agent-plan.mjs +140 -140
- package/plugins/takomi-flow/scripts/lib/api.mjs +113 -113
- package/plugins/takomi-flow/scripts/lib/args.mjs +66 -66
- package/plugins/takomi-flow/scripts/lib/audit.mjs +65 -65
- package/plugins/takomi-flow/scripts/lib/browser.mjs +78 -78
- package/plugins/takomi-flow/scripts/lib/capabilities.mjs +11 -11
- package/plugins/takomi-flow/scripts/lib/collect.mjs +53 -53
- package/plugins/takomi-flow/scripts/lib/commands.mjs +192 -192
- package/plugins/takomi-flow/scripts/lib/doctor.mjs +77 -77
- package/plugins/takomi-flow/scripts/lib/examples.mjs +17 -17
- package/plugins/takomi-flow/scripts/lib/flow-media.mjs +39 -39
- package/plugins/takomi-flow/scripts/lib/flow-outcome.mjs +115 -115
- package/plugins/takomi-flow/scripts/lib/flow-project-session.mjs +153 -153
- package/plugins/takomi-flow/scripts/lib/flow-ui.mjs +204 -204
- package/plugins/takomi-flow/scripts/lib/generation.mjs +190 -190
- package/plugins/takomi-flow/scripts/lib/inspect.mjs +81 -81
- package/plugins/takomi-flow/scripts/lib/mcp-prompts.mjs +39 -39
- package/plugins/takomi-flow/scripts/lib/mcp-resources.mjs +16 -16
- package/plugins/takomi-flow/scripts/lib/mcp-tools.mjs +165 -165
- package/plugins/takomi-flow/scripts/lib/media.mjs +78 -78
- package/plugins/takomi-flow/scripts/lib/observe.mjs +54 -54
- package/plugins/takomi-flow/scripts/lib/paths.mjs +37 -37
- package/plugins/takomi-flow/scripts/lib/playwright-loader.mjs +23 -23
- package/plugins/takomi-flow/scripts/lib/prompts.mjs +72 -72
- package/plugins/takomi-flow/scripts/lib/report.mjs +141 -141
- package/plugins/takomi-flow/scripts/lib/request-validator.mjs +73 -73
- package/plugins/takomi-flow/scripts/lib/request.mjs +66 -66
- package/plugins/takomi-flow/scripts/lib/resource-files.mjs +69 -69
- package/plugins/takomi-flow/scripts/lib/result.mjs +31 -31
- package/plugins/takomi-flow/scripts/lib/review.mjs +44 -44
- package/plugins/takomi-flow/scripts/lib/selftest.mjs +153 -153
- package/plugins/takomi-flow/scripts/lib/settings-plan.mjs +44 -44
- package/plugins/takomi-flow/scripts/lib/templates.mjs +37 -37
- package/plugins/takomi-flow/scripts/lib/trusted-chrome.mjs +67 -67
- package/plugins/takomi-flow/scripts/lib/workflow.mjs +56 -56
- package/plugins/takomi-flow/scripts/mcp-server.mjs +18 -18
- package/plugins/takomi-flow/scripts/mcp-smoke.mjs +144 -144
- package/plugins/takomi-flow/scripts/takomi-flow.mjs +17 -17
- package/plugins/takomi-flow/skills/takomi-flow/SKILL.md +244 -244
- package/plugins/takomi-flow/skills/takomi-flow/agents/openai.yaml +7 -7
- package/scripts/install-takomi-flow.ps1 +85 -85
- package/src/skills-catalog.js +10 -9
|
@@ -1,203 +1,203 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": 1,
|
|
3
|
-
"provider": "takomi-flow",
|
|
4
|
-
"description": "Safe browser-driven Google Flow asset generation for Codex agents.",
|
|
5
|
-
"kinds": ["video", "image"],
|
|
6
|
-
"modes": {
|
|
7
|
-
"video": ["text-to-video", "image-to-video"],
|
|
8
|
-
"image": ["text-to-image"]
|
|
9
|
-
},
|
|
10
|
-
"variations": {
|
|
11
|
-
"min": 1,
|
|
12
|
-
"max": 4,
|
|
13
|
-
"default": 1
|
|
14
|
-
},
|
|
15
|
-
"aspectRatios": ["16:9", "9:16", "1:1"],
|
|
16
|
-
"durationSeconds": {
|
|
17
|
-
"suggested": [4, 6, 8, 10],
|
|
18
|
-
"default": 4
|
|
19
|
-
},
|
|
20
|
-
"requestFields": [
|
|
21
|
-
{
|
|
22
|
-
"name": "kind",
|
|
23
|
-
"type": "enum",
|
|
24
|
-
"required": true,
|
|
25
|
-
"values": ["video", "image"],
|
|
26
|
-
"description": "The asset type to ask Flow for."
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"name": "prompt",
|
|
30
|
-
"type": "string",
|
|
31
|
-
"required": true,
|
|
32
|
-
"description": "The natural-language generation prompt."
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"name": "mode",
|
|
36
|
-
"type": "enum",
|
|
37
|
-
"required": false,
|
|
38
|
-
"values": ["text-to-video", "image-to-video", "text-to-image"],
|
|
39
|
-
"description": "The basic Flow generation mode hint."
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"name": "variations",
|
|
43
|
-
"type": "integer",
|
|
44
|
-
"required": false,
|
|
45
|
-
"min": 1,
|
|
46
|
-
"max": 4,
|
|
47
|
-
"description": "How many variations to request or look for."
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"name": "aspectRatio",
|
|
51
|
-
"type": "enum",
|
|
52
|
-
"required": false,
|
|
53
|
-
"values": ["16:9", "9:16", "1:1"],
|
|
54
|
-
"description": "Preferred image/video frame shape."
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"name": "durationSeconds",
|
|
58
|
-
"type": "number",
|
|
59
|
-
"required": false,
|
|
60
|
-
"values": [4, 6, 8, 10],
|
|
61
|
-
"description": "Preferred video duration hint."
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"name": "sourceAssets",
|
|
65
|
-
"type": "string[]",
|
|
66
|
-
"required": false,
|
|
67
|
-
"description": "Local images/videos to use as references when the Flow UI supports the selected mode."
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"name": "extractFrames",
|
|
71
|
-
"type": "integer",
|
|
72
|
-
"required": false,
|
|
73
|
-
"description": "Number of review frames to extract from downloaded videos."
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"name": "allowSpend",
|
|
77
|
-
"type": "boolean",
|
|
78
|
-
"required": false,
|
|
79
|
-
"description": "Explicit user approval to submit a generation that may spend Flow credits."
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"name": "projectUrl",
|
|
83
|
-
"type": "string",
|
|
84
|
-
"required": false,
|
|
85
|
-
"description": "Existing Flow project URL to reuse instead of creating a new project."
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"name": "reuseCurrentProject",
|
|
89
|
-
"type": "boolean",
|
|
90
|
-
"required": false,
|
|
91
|
-
"description": "Prefer the already open Flow project tab when attached to trusted Chrome."
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"name": "allowNewProject",
|
|
95
|
-
"type": "boolean",
|
|
96
|
-
"required": false,
|
|
97
|
-
"description": "Permit clicking New project when no reusable project is available."
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"name": "freshChatOnFailure",
|
|
101
|
-
"type": "boolean",
|
|
102
|
-
"required": false,
|
|
103
|
-
"description": "Recover stale or broken chat state by starting a fresh chat inside the same project."
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"name": "editorWaitMs",
|
|
107
|
-
"type": "integer",
|
|
108
|
-
"required": false,
|
|
109
|
-
"description": "Override the Flow project editor readiness wait budget in milliseconds."
|
|
110
|
-
}
|
|
111
|
-
],
|
|
112
|
-
"sourceAssets": {
|
|
113
|
-
"supported": true,
|
|
114
|
-
"note": "Source assets are part of the request contract; live UI attachment selectors still need tuning after observation."
|
|
115
|
-
},
|
|
116
|
-
"outputs": {
|
|
117
|
-
"runMetadata": "run.json",
|
|
118
|
-
"assetCatalog": "assets.json",
|
|
119
|
-
"downloadsFolder": "downloads/",
|
|
120
|
-
"screenshotsFolder": "screenshots/",
|
|
121
|
-
"framesFolder": "frames/"
|
|
122
|
-
},
|
|
123
|
-
"schemas": {
|
|
124
|
-
"request": "takomi-flow://schemas/request",
|
|
125
|
-
"result": "takomi-flow://schemas/result",
|
|
126
|
-
"collection": "takomi-flow://schemas/collection"
|
|
127
|
-
},
|
|
128
|
-
"settingsCoverage": {
|
|
129
|
-
"automatic": ["prompt", "project reuse", "same-project chat recovery", "download folder", "metadata", "asset catalog", "video review frame extraction"],
|
|
130
|
-
"selectorDependent": ["mode", "aspectRatio", "durationSeconds", "modelHint", "sourceAssets", "variations"],
|
|
131
|
-
"note": "Selector-dependent settings are preserved in settingsPlan metadata until live Flow controls are observed and tuned."
|
|
132
|
-
},
|
|
133
|
-
"safety": {
|
|
134
|
-
"spendGuardDefault": false,
|
|
135
|
-
"requiresAllowSpend": true,
|
|
136
|
-
"newProjectDefault": false,
|
|
137
|
-
"sameProjectChatRecovery": true,
|
|
138
|
-
"bypassCaptcha": false,
|
|
139
|
-
"bypassQuota": false,
|
|
140
|
-
"automateCredentials": false
|
|
141
|
-
},
|
|
142
|
-
"commands": [
|
|
143
|
-
"doctor",
|
|
144
|
-
"audit",
|
|
145
|
-
"examples",
|
|
146
|
-
"trusted-chrome",
|
|
147
|
-
"plan",
|
|
148
|
-
"bootstrap",
|
|
149
|
-
"observe",
|
|
150
|
-
"smoke",
|
|
151
|
-
"template",
|
|
152
|
-
"prepare",
|
|
153
|
-
"workflow",
|
|
154
|
-
"validate",
|
|
155
|
-
"generate",
|
|
156
|
-
"selftest",
|
|
157
|
-
"inspect",
|
|
158
|
-
"latest",
|
|
159
|
-
"runs",
|
|
160
|
-
"assets",
|
|
161
|
-
"review",
|
|
162
|
-
"collect",
|
|
163
|
-
"report",
|
|
164
|
-
"capabilities"
|
|
165
|
-
],
|
|
166
|
-
"mcpTools": [
|
|
167
|
-
"takomi_flow_capabilities",
|
|
168
|
-
"takomi_flow_doctor",
|
|
169
|
-
"takomi_flow_audit",
|
|
170
|
-
"takomi_flow_examples",
|
|
171
|
-
"takomi_flow_plan",
|
|
172
|
-
"takomi_flow_template",
|
|
173
|
-
"takomi_flow_prepare",
|
|
174
|
-
"takomi_flow_workflow",
|
|
175
|
-
"takomi_flow_validate",
|
|
176
|
-
"takomi_flow_observe",
|
|
177
|
-
"takomi_flow_generate",
|
|
178
|
-
"takomi_flow_selftest",
|
|
179
|
-
"takomi_flow_inspect",
|
|
180
|
-
"takomi_flow_latest",
|
|
181
|
-
"takomi_flow_runs",
|
|
182
|
-
"takomi_flow_assets",
|
|
183
|
-
"takomi_flow_review",
|
|
184
|
-
"takomi_flow_collect",
|
|
185
|
-
"takomi_flow_report"
|
|
186
|
-
],
|
|
187
|
-
"mcpResources": [
|
|
188
|
-
"takomi-flow://contract",
|
|
189
|
-
"takomi-flow://capabilities",
|
|
190
|
-
"takomi-flow://examples",
|
|
191
|
-
"takomi-flow://schemas/request",
|
|
192
|
-
"takomi-flow://schemas/result",
|
|
193
|
-
"takomi-flow://schemas/collection",
|
|
194
|
-
"takomi-flow://templates/video",
|
|
195
|
-
"takomi-flow://templates/image"
|
|
196
|
-
],
|
|
197
|
-
"mcpPrompts": [
|
|
198
|
-
"takomi_flow_video_workflow",
|
|
199
|
-
"takomi_flow_image_workflow",
|
|
200
|
-
"takomi_flow_review_workflow",
|
|
201
|
-
"takomi_flow_collect_workflow"
|
|
202
|
-
]
|
|
203
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"provider": "takomi-flow",
|
|
4
|
+
"description": "Safe browser-driven Google Flow asset generation for Codex agents.",
|
|
5
|
+
"kinds": ["video", "image"],
|
|
6
|
+
"modes": {
|
|
7
|
+
"video": ["text-to-video", "image-to-video"],
|
|
8
|
+
"image": ["text-to-image"]
|
|
9
|
+
},
|
|
10
|
+
"variations": {
|
|
11
|
+
"min": 1,
|
|
12
|
+
"max": 4,
|
|
13
|
+
"default": 1
|
|
14
|
+
},
|
|
15
|
+
"aspectRatios": ["16:9", "9:16", "1:1"],
|
|
16
|
+
"durationSeconds": {
|
|
17
|
+
"suggested": [4, 6, 8, 10],
|
|
18
|
+
"default": 4
|
|
19
|
+
},
|
|
20
|
+
"requestFields": [
|
|
21
|
+
{
|
|
22
|
+
"name": "kind",
|
|
23
|
+
"type": "enum",
|
|
24
|
+
"required": true,
|
|
25
|
+
"values": ["video", "image"],
|
|
26
|
+
"description": "The asset type to ask Flow for."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "prompt",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"required": true,
|
|
32
|
+
"description": "The natural-language generation prompt."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "mode",
|
|
36
|
+
"type": "enum",
|
|
37
|
+
"required": false,
|
|
38
|
+
"values": ["text-to-video", "image-to-video", "text-to-image"],
|
|
39
|
+
"description": "The basic Flow generation mode hint."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "variations",
|
|
43
|
+
"type": "integer",
|
|
44
|
+
"required": false,
|
|
45
|
+
"min": 1,
|
|
46
|
+
"max": 4,
|
|
47
|
+
"description": "How many variations to request or look for."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "aspectRatio",
|
|
51
|
+
"type": "enum",
|
|
52
|
+
"required": false,
|
|
53
|
+
"values": ["16:9", "9:16", "1:1"],
|
|
54
|
+
"description": "Preferred image/video frame shape."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "durationSeconds",
|
|
58
|
+
"type": "number",
|
|
59
|
+
"required": false,
|
|
60
|
+
"values": [4, 6, 8, 10],
|
|
61
|
+
"description": "Preferred video duration hint."
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "sourceAssets",
|
|
65
|
+
"type": "string[]",
|
|
66
|
+
"required": false,
|
|
67
|
+
"description": "Local images/videos to use as references when the Flow UI supports the selected mode."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "extractFrames",
|
|
71
|
+
"type": "integer",
|
|
72
|
+
"required": false,
|
|
73
|
+
"description": "Number of review frames to extract from downloaded videos."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "allowSpend",
|
|
77
|
+
"type": "boolean",
|
|
78
|
+
"required": false,
|
|
79
|
+
"description": "Explicit user approval to submit a generation that may spend Flow credits."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "projectUrl",
|
|
83
|
+
"type": "string",
|
|
84
|
+
"required": false,
|
|
85
|
+
"description": "Existing Flow project URL to reuse instead of creating a new project."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "reuseCurrentProject",
|
|
89
|
+
"type": "boolean",
|
|
90
|
+
"required": false,
|
|
91
|
+
"description": "Prefer the already open Flow project tab when attached to trusted Chrome."
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "allowNewProject",
|
|
95
|
+
"type": "boolean",
|
|
96
|
+
"required": false,
|
|
97
|
+
"description": "Permit clicking New project when no reusable project is available."
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "freshChatOnFailure",
|
|
101
|
+
"type": "boolean",
|
|
102
|
+
"required": false,
|
|
103
|
+
"description": "Recover stale or broken chat state by starting a fresh chat inside the same project."
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "editorWaitMs",
|
|
107
|
+
"type": "integer",
|
|
108
|
+
"required": false,
|
|
109
|
+
"description": "Override the Flow project editor readiness wait budget in milliseconds."
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"sourceAssets": {
|
|
113
|
+
"supported": true,
|
|
114
|
+
"note": "Source assets are part of the request contract; live UI attachment selectors still need tuning after observation."
|
|
115
|
+
},
|
|
116
|
+
"outputs": {
|
|
117
|
+
"runMetadata": "run.json",
|
|
118
|
+
"assetCatalog": "assets.json",
|
|
119
|
+
"downloadsFolder": "downloads/",
|
|
120
|
+
"screenshotsFolder": "screenshots/",
|
|
121
|
+
"framesFolder": "frames/"
|
|
122
|
+
},
|
|
123
|
+
"schemas": {
|
|
124
|
+
"request": "takomi-flow://schemas/request",
|
|
125
|
+
"result": "takomi-flow://schemas/result",
|
|
126
|
+
"collection": "takomi-flow://schemas/collection"
|
|
127
|
+
},
|
|
128
|
+
"settingsCoverage": {
|
|
129
|
+
"automatic": ["prompt", "project reuse", "same-project chat recovery", "download folder", "metadata", "asset catalog", "video review frame extraction"],
|
|
130
|
+
"selectorDependent": ["mode", "aspectRatio", "durationSeconds", "modelHint", "sourceAssets", "variations"],
|
|
131
|
+
"note": "Selector-dependent settings are preserved in settingsPlan metadata until live Flow controls are observed and tuned."
|
|
132
|
+
},
|
|
133
|
+
"safety": {
|
|
134
|
+
"spendGuardDefault": false,
|
|
135
|
+
"requiresAllowSpend": true,
|
|
136
|
+
"newProjectDefault": false,
|
|
137
|
+
"sameProjectChatRecovery": true,
|
|
138
|
+
"bypassCaptcha": false,
|
|
139
|
+
"bypassQuota": false,
|
|
140
|
+
"automateCredentials": false
|
|
141
|
+
},
|
|
142
|
+
"commands": [
|
|
143
|
+
"doctor",
|
|
144
|
+
"audit",
|
|
145
|
+
"examples",
|
|
146
|
+
"trusted-chrome",
|
|
147
|
+
"plan",
|
|
148
|
+
"bootstrap",
|
|
149
|
+
"observe",
|
|
150
|
+
"smoke",
|
|
151
|
+
"template",
|
|
152
|
+
"prepare",
|
|
153
|
+
"workflow",
|
|
154
|
+
"validate",
|
|
155
|
+
"generate",
|
|
156
|
+
"selftest",
|
|
157
|
+
"inspect",
|
|
158
|
+
"latest",
|
|
159
|
+
"runs",
|
|
160
|
+
"assets",
|
|
161
|
+
"review",
|
|
162
|
+
"collect",
|
|
163
|
+
"report",
|
|
164
|
+
"capabilities"
|
|
165
|
+
],
|
|
166
|
+
"mcpTools": [
|
|
167
|
+
"takomi_flow_capabilities",
|
|
168
|
+
"takomi_flow_doctor",
|
|
169
|
+
"takomi_flow_audit",
|
|
170
|
+
"takomi_flow_examples",
|
|
171
|
+
"takomi_flow_plan",
|
|
172
|
+
"takomi_flow_template",
|
|
173
|
+
"takomi_flow_prepare",
|
|
174
|
+
"takomi_flow_workflow",
|
|
175
|
+
"takomi_flow_validate",
|
|
176
|
+
"takomi_flow_observe",
|
|
177
|
+
"takomi_flow_generate",
|
|
178
|
+
"takomi_flow_selftest",
|
|
179
|
+
"takomi_flow_inspect",
|
|
180
|
+
"takomi_flow_latest",
|
|
181
|
+
"takomi_flow_runs",
|
|
182
|
+
"takomi_flow_assets",
|
|
183
|
+
"takomi_flow_review",
|
|
184
|
+
"takomi_flow_collect",
|
|
185
|
+
"takomi_flow_report"
|
|
186
|
+
],
|
|
187
|
+
"mcpResources": [
|
|
188
|
+
"takomi-flow://contract",
|
|
189
|
+
"takomi-flow://capabilities",
|
|
190
|
+
"takomi-flow://examples",
|
|
191
|
+
"takomi-flow://schemas/request",
|
|
192
|
+
"takomi-flow://schemas/result",
|
|
193
|
+
"takomi-flow://schemas/collection",
|
|
194
|
+
"takomi-flow://templates/video",
|
|
195
|
+
"takomi-flow://templates/image"
|
|
196
|
+
],
|
|
197
|
+
"mcpPrompts": [
|
|
198
|
+
"takomi_flow_video_workflow",
|
|
199
|
+
"takomi_flow_image_workflow",
|
|
200
|
+
"takomi_flow_review_workflow",
|
|
201
|
+
"takomi_flow_collect_workflow"
|
|
202
|
+
]
|
|
203
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "takomi-flow://schemas/collection",
|
|
4
|
-
"title": "TakomiFlow Collection Manifest",
|
|
5
|
-
"description": "Manifest written by the collect command when packaging run outputs for downstream projects.",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"additionalProperties": true,
|
|
8
|
-
"required": ["schemaVersion", "status", "runId", "targetDir", "copied"],
|
|
9
|
-
"properties": {
|
|
10
|
-
"schemaVersion": { "type": "integer", "const": 1 },
|
|
11
|
-
"status": { "type": "string", "enum": ["collected", "empty"] },
|
|
12
|
-
"runId": { "type": "string" },
|
|
13
|
-
"sourceRunDir": { "type": "string" },
|
|
14
|
-
"targetDir": { "type": "string" },
|
|
15
|
-
"manifestPath": { "type": "string" },
|
|
16
|
-
"copied": {
|
|
17
|
-
"type": "array",
|
|
18
|
-
"items": {
|
|
19
|
-
"type": "object",
|
|
20
|
-
"required": ["source", "target"],
|
|
21
|
-
"properties": {
|
|
22
|
-
"source": { "type": "string" },
|
|
23
|
-
"target": { "type": "string" }
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
"review": { "type": "object" }
|
|
28
|
-
}
|
|
29
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "takomi-flow://schemas/collection",
|
|
4
|
+
"title": "TakomiFlow Collection Manifest",
|
|
5
|
+
"description": "Manifest written by the collect command when packaging run outputs for downstream projects.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": ["schemaVersion", "status", "runId", "targetDir", "copied"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"schemaVersion": { "type": "integer", "const": 1 },
|
|
11
|
+
"status": { "type": "string", "enum": ["collected", "empty"] },
|
|
12
|
+
"runId": { "type": "string" },
|
|
13
|
+
"sourceRunDir": { "type": "string" },
|
|
14
|
+
"targetDir": { "type": "string" },
|
|
15
|
+
"manifestPath": { "type": "string" },
|
|
16
|
+
"copied": {
|
|
17
|
+
"type": "array",
|
|
18
|
+
"items": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"required": ["source", "target"],
|
|
21
|
+
"properties": {
|
|
22
|
+
"source": { "type": "string" },
|
|
23
|
+
"target": { "type": "string" }
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"review": { "type": "object" }
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": 1,
|
|
3
|
-
"examples": [
|
|
4
|
-
{
|
|
5
|
-
"name": "cinematic-video",
|
|
6
|
-
"description": "A polished text-to-video shot with review frames and a clean handoff.",
|
|
7
|
-
"request": {
|
|
8
|
-
"schemaVersion": 1,
|
|
9
|
-
"kind": "video",
|
|
10
|
-
"prompt": "A 4 second cinematic hero shot of a creator's production desk at night: printed storyboards, reference photos, camera lens, warm desk lamp, slow push-in, premium film look, no readable text",
|
|
11
|
-
"variations": 1,
|
|
12
|
-
"aspectRatio": "16:9",
|
|
13
|
-
"durationSeconds": 4,
|
|
14
|
-
"mode": "text-to-video",
|
|
15
|
-
"modelHint": "best-available",
|
|
16
|
-
"allowSpend": false,
|
|
17
|
-
"extractFrames": 4,
|
|
18
|
-
"sourceAssets": []
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"name": "moodboard-keyframe",
|
|
23
|
-
"description": "A square image/keyframe request for brand, pitch, or scene development.",
|
|
24
|
-
"request": {
|
|
25
|
-
"schemaVersion": 1,
|
|
26
|
-
"kind": "image",
|
|
27
|
-
"prompt": "Generate 1 1:1 image of a premium creative studio moodboard on a clean table: printed reference photos, storyboard cards, color swatches, a camera lens, warm desk lamp lighting, realistic paper texture, editorial composition, no readable text",
|
|
28
|
-
"variations": 1,
|
|
29
|
-
"aspectRatio": "1:1",
|
|
30
|
-
"mode": "text-to-image",
|
|
31
|
-
"modelHint": "best-available",
|
|
32
|
-
"allowSpend": false,
|
|
33
|
-
"sourceAssets": []
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"name": "reference-image-to-video",
|
|
38
|
-
"description": "Animate a local reference image into a short cinematic motion asset.",
|
|
39
|
-
"request": {
|
|
40
|
-
"schemaVersion": 1,
|
|
41
|
-
"kind": "video",
|
|
42
|
-
"prompt": "Animate the source image into a slow cinematic push-in with soft parallax, practical light flicker, subtle dust in the air, and no readable text",
|
|
43
|
-
"variations": 1,
|
|
44
|
-
"aspectRatio": "16:9",
|
|
45
|
-
"durationSeconds": 4,
|
|
46
|
-
"mode": "image-to-video",
|
|
47
|
-
"modelHint": "best-available",
|
|
48
|
-
"allowSpend": false,
|
|
49
|
-
"extractFrames": 4,
|
|
50
|
-
"sourceAssets": ["C:/path/to/source-image.png"]
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"name": "product-reveal-video",
|
|
55
|
-
"description": "A quick product-style B-roll prompt for social, landing pages, or pitch decks.",
|
|
56
|
-
"request": {
|
|
57
|
-
"schemaVersion": 1,
|
|
58
|
-
"kind": "video",
|
|
59
|
-
"prompt": "A 4 second premium product reveal shot of a matte black creative workstation on a clean table, soft cyan rim light, camera gliding past glass reflections, practical studio lighting, no readable text",
|
|
60
|
-
"variations": 1,
|
|
61
|
-
"aspectRatio": "16:9",
|
|
62
|
-
"durationSeconds": 4,
|
|
63
|
-
"mode": "text-to-video",
|
|
64
|
-
"modelHint": "best-available",
|
|
65
|
-
"allowSpend": false,
|
|
66
|
-
"extractFrames": 4,
|
|
67
|
-
"sourceAssets": []
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"name": "character-portrait-image",
|
|
72
|
-
"description": "A visual-development portrait that can become a Flow video source later.",
|
|
73
|
-
"request": {
|
|
74
|
-
"schemaVersion": 1,
|
|
75
|
-
"kind": "image",
|
|
76
|
-
"prompt": "Generate 1 cinematic character portrait image of a young film director in a neon-lit editing suite, thoughtful expression, shallow depth of field, editorial realism, no readable text",
|
|
77
|
-
"variations": 1,
|
|
78
|
-
"aspectRatio": "1:1",
|
|
79
|
-
"mode": "text-to-image",
|
|
80
|
-
"modelHint": "best-available",
|
|
81
|
-
"allowSpend": false,
|
|
82
|
-
"sourceAssets": []
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"name": "collect-after-review",
|
|
87
|
-
"description": "Downstream packaging pattern after a run has downloaded assets.",
|
|
88
|
-
"commands": [
|
|
89
|
-
"node scripts/takomi-flow.mjs review --run <run.json|run-dir> --frames 4",
|
|
90
|
-
"node scripts/takomi-flow.mjs collect --run <run.json|run-dir> --target-dir <project-output-folder> --frames 4 --include-frames"
|
|
91
|
-
]
|
|
92
|
-
}
|
|
93
|
-
]
|
|
94
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"examples": [
|
|
4
|
+
{
|
|
5
|
+
"name": "cinematic-video",
|
|
6
|
+
"description": "A polished text-to-video shot with review frames and a clean handoff.",
|
|
7
|
+
"request": {
|
|
8
|
+
"schemaVersion": 1,
|
|
9
|
+
"kind": "video",
|
|
10
|
+
"prompt": "A 4 second cinematic hero shot of a creator's production desk at night: printed storyboards, reference photos, camera lens, warm desk lamp, slow push-in, premium film look, no readable text",
|
|
11
|
+
"variations": 1,
|
|
12
|
+
"aspectRatio": "16:9",
|
|
13
|
+
"durationSeconds": 4,
|
|
14
|
+
"mode": "text-to-video",
|
|
15
|
+
"modelHint": "best-available",
|
|
16
|
+
"allowSpend": false,
|
|
17
|
+
"extractFrames": 4,
|
|
18
|
+
"sourceAssets": []
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "moodboard-keyframe",
|
|
23
|
+
"description": "A square image/keyframe request for brand, pitch, or scene development.",
|
|
24
|
+
"request": {
|
|
25
|
+
"schemaVersion": 1,
|
|
26
|
+
"kind": "image",
|
|
27
|
+
"prompt": "Generate 1 1:1 image of a premium creative studio moodboard on a clean table: printed reference photos, storyboard cards, color swatches, a camera lens, warm desk lamp lighting, realistic paper texture, editorial composition, no readable text",
|
|
28
|
+
"variations": 1,
|
|
29
|
+
"aspectRatio": "1:1",
|
|
30
|
+
"mode": "text-to-image",
|
|
31
|
+
"modelHint": "best-available",
|
|
32
|
+
"allowSpend": false,
|
|
33
|
+
"sourceAssets": []
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "reference-image-to-video",
|
|
38
|
+
"description": "Animate a local reference image into a short cinematic motion asset.",
|
|
39
|
+
"request": {
|
|
40
|
+
"schemaVersion": 1,
|
|
41
|
+
"kind": "video",
|
|
42
|
+
"prompt": "Animate the source image into a slow cinematic push-in with soft parallax, practical light flicker, subtle dust in the air, and no readable text",
|
|
43
|
+
"variations": 1,
|
|
44
|
+
"aspectRatio": "16:9",
|
|
45
|
+
"durationSeconds": 4,
|
|
46
|
+
"mode": "image-to-video",
|
|
47
|
+
"modelHint": "best-available",
|
|
48
|
+
"allowSpend": false,
|
|
49
|
+
"extractFrames": 4,
|
|
50
|
+
"sourceAssets": ["C:/path/to/source-image.png"]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "product-reveal-video",
|
|
55
|
+
"description": "A quick product-style B-roll prompt for social, landing pages, or pitch decks.",
|
|
56
|
+
"request": {
|
|
57
|
+
"schemaVersion": 1,
|
|
58
|
+
"kind": "video",
|
|
59
|
+
"prompt": "A 4 second premium product reveal shot of a matte black creative workstation on a clean table, soft cyan rim light, camera gliding past glass reflections, practical studio lighting, no readable text",
|
|
60
|
+
"variations": 1,
|
|
61
|
+
"aspectRatio": "16:9",
|
|
62
|
+
"durationSeconds": 4,
|
|
63
|
+
"mode": "text-to-video",
|
|
64
|
+
"modelHint": "best-available",
|
|
65
|
+
"allowSpend": false,
|
|
66
|
+
"extractFrames": 4,
|
|
67
|
+
"sourceAssets": []
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "character-portrait-image",
|
|
72
|
+
"description": "A visual-development portrait that can become a Flow video source later.",
|
|
73
|
+
"request": {
|
|
74
|
+
"schemaVersion": 1,
|
|
75
|
+
"kind": "image",
|
|
76
|
+
"prompt": "Generate 1 cinematic character portrait image of a young film director in a neon-lit editing suite, thoughtful expression, shallow depth of field, editorial realism, no readable text",
|
|
77
|
+
"variations": 1,
|
|
78
|
+
"aspectRatio": "1:1",
|
|
79
|
+
"mode": "text-to-image",
|
|
80
|
+
"modelHint": "best-available",
|
|
81
|
+
"allowSpend": false,
|
|
82
|
+
"sourceAssets": []
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "collect-after-review",
|
|
87
|
+
"description": "Downstream packaging pattern after a run has downloaded assets.",
|
|
88
|
+
"commands": [
|
|
89
|
+
"node scripts/takomi-flow.mjs review --run <run.json|run-dir> --frames 4",
|
|
90
|
+
"node scripts/takomi-flow.mjs collect --run <run.json|run-dir> --target-dir <project-output-folder> --frames 4 --include-frames"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|