@larkup/tool-video-intelligence 0.2.0
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/.env.example +150 -0
- package/LICENSE +176 -0
- package/README.md +281 -0
- package/compose.gpu.yaml +14 -0
- package/compose.yaml +71 -0
- package/dist/agent.d.ts +131 -0
- package/dist/agent.js +2087 -0
- package/dist/brief.d.ts +2 -0
- package/dist/brief.js +37 -0
- package/dist/client.d.ts +46 -0
- package/dist/client.js +139 -0
- package/dist/contracts.d.ts +331 -0
- package/dist/contracts.js +1 -0
- package/dist/index.d.ts +87 -0
- package/dist/index.js +391 -0
- package/dist/runtime.d.ts +96 -0
- package/dist/runtime.js +592 -0
- package/dist/ui.d.ts +82 -0
- package/dist/ui.js +87 -0
- package/package.json +84 -0
- package/runtime/Dockerfile +119 -0
- package/runtime/app/__init__.py +3 -0
- package/runtime/app/__main__.py +19 -0
- package/runtime/app/api/__init__.py +0 -0
- package/runtime/app/api/deps.py +69 -0
- package/runtime/app/api/v1.py +166 -0
- package/runtime/app/config.py +78 -0
- package/runtime/app/db/__init__.py +0 -0
- package/runtime/app/db/schemas.py +162 -0
- package/runtime/app/db/store.py +466 -0
- package/runtime/app/main.py +27 -0
- package/runtime/app/model_configuration.py +157 -0
- package/runtime/app/services/__init__.py +0 -0
- package/runtime/app/services/brain.py +2221 -0
- package/runtime/app/services/embedding.py +473 -0
- package/runtime/app/services/jobs.py +237 -0
- package/runtime/app/services/motion.py +66 -0
- package/runtime/app/services/pipeline.py +1911 -0
- package/runtime/app/services/scene.py +161 -0
- package/runtime/app/services/storage.py +44 -0
- package/runtime/app/services/transcription.py +667 -0
- package/runtime/app/services/vision.py +1441 -0
- package/runtime/app/utils/__init__.py +0 -0
- package/runtime/app/utils/timing.py +99 -0
- package/runtime/app/worker.py +20 -0
- package/runtime/pyproject.toml +56 -0
- package/runtime/requirements-cpu.txt +15 -0
- package/runtime/requirements-smoke.txt +7 -0
- package/runtime/requirements.txt +14 -0
- package/runtime/uv.lock +3637 -0
- package/scripts/grant-cloud-credits.sh +43 -0
- package/scripts/runtime.mjs +156 -0
- package/scripts/validate-indexing.mjs +168 -0
- package/tool.manifest.json +617 -0
|
@@ -0,0 +1,617 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://hub.larkup.de/schemas/tool-manifest.v3.json",
|
|
3
|
+
"manifestVersion": "3.0",
|
|
4
|
+
"kind": "tool",
|
|
5
|
+
"id": "video-intelligence",
|
|
6
|
+
"name": "Video Intelligence",
|
|
7
|
+
"description": "Help your AI understand your videos, so you can ask questions and get answers from the right moments.",
|
|
8
|
+
"longDescription": "Turn videos into knowledge your AI can understand. It listens to what is said, reads what appears on screen, and helps you find the moments that matter.",
|
|
9
|
+
"category": "media",
|
|
10
|
+
"version": "0.2.0",
|
|
11
|
+
"pricing": "free",
|
|
12
|
+
"emoji": "🎥",
|
|
13
|
+
"icon": "Film",
|
|
14
|
+
"packageName": "@larkup/tool-video-intelligence",
|
|
15
|
+
"installSize": "~120 KB",
|
|
16
|
+
"requiresSandbox": false,
|
|
17
|
+
"author": "Larkup",
|
|
18
|
+
"capabilities": [
|
|
19
|
+
"video-indexing",
|
|
20
|
+
"video-indexing-brief",
|
|
21
|
+
"agentic-video-indexing",
|
|
22
|
+
"cloud-video-runtime",
|
|
23
|
+
"timestamped-transcription",
|
|
24
|
+
"ocr",
|
|
25
|
+
"object-detection",
|
|
26
|
+
"anonymous-object-tracking",
|
|
27
|
+
"usage-metering"
|
|
28
|
+
],
|
|
29
|
+
"entrypoints": {
|
|
30
|
+
"server": ".",
|
|
31
|
+
"agent": ".",
|
|
32
|
+
"ui": "./ui"
|
|
33
|
+
},
|
|
34
|
+
"runtime": {
|
|
35
|
+
"protocolVersion": "1",
|
|
36
|
+
"defaultMode": "managed-cloud",
|
|
37
|
+
"healthPath": "/v1/health",
|
|
38
|
+
"modes": [
|
|
39
|
+
{
|
|
40
|
+
"id": "managed-cloud",
|
|
41
|
+
"label": "Larkup Cloud",
|
|
42
|
+
"description": "Index with managed private GPU capacity and your Larkup Cloud allowance.",
|
|
43
|
+
"requiresGpu": true
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": "local",
|
|
47
|
+
"label": "Local runtime",
|
|
48
|
+
"icon": "/docker.png",
|
|
49
|
+
"description": "Run the application locally on your computer.",
|
|
50
|
+
"endpointConfigKey": "localRuntimeUrl",
|
|
51
|
+
"credentialConfigKey": "localRuntimeApiKey",
|
|
52
|
+
"image": "ghcr.io/larkup-ai/video-intelligence:0.1.0",
|
|
53
|
+
"composeFile": "compose.yaml",
|
|
54
|
+
"setupNotice": "The local application and its models download to this computer. The initial download can be large."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "custom-remote",
|
|
58
|
+
"label": "Custom runtime",
|
|
59
|
+
"description": "Connect a compatible Video Intelligence deployment you operate.",
|
|
60
|
+
"endpointConfigKey": "customRuntimeUrl",
|
|
61
|
+
"credentialConfigKey": "customRuntimeApiKey",
|
|
62
|
+
"requiresGpu": true
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"billing": {
|
|
67
|
+
"model": "hybrid",
|
|
68
|
+
"entitlementVersion": "1",
|
|
69
|
+
"meters": [
|
|
70
|
+
{
|
|
71
|
+
"id": "source-minute",
|
|
72
|
+
"unit": "minute",
|
|
73
|
+
"description": "Minutes of source media indexed."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "thorough-inspection-minute",
|
|
77
|
+
"unit": "minute",
|
|
78
|
+
"description": "Minutes inspected with Thorough agent coverage."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "gpu-second",
|
|
82
|
+
"unit": "second",
|
|
83
|
+
"description": "GPU worker time used."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "ocr-frame",
|
|
87
|
+
"unit": "frame",
|
|
88
|
+
"description": "Frames sent through OCR."
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"usage": {
|
|
93
|
+
"label": "Usage this month",
|
|
94
|
+
"visibleWhenRuntimeMode": ["managed-cloud"],
|
|
95
|
+
"visualization": {
|
|
96
|
+
"usedKey": "sourceMinutesUsed",
|
|
97
|
+
"limitKey": "sourceMinutesLimit"
|
|
98
|
+
},
|
|
99
|
+
"support": {
|
|
100
|
+
"contactLabel": "Request more usage",
|
|
101
|
+
"description": "Each installation receives Cloud access automatically. Request more video-processing usage when your allowance is low.",
|
|
102
|
+
"userIdConfigKey": "cloudInstallationId"
|
|
103
|
+
},
|
|
104
|
+
"fields": [
|
|
105
|
+
{
|
|
106
|
+
"key": "sourceMinutesUsed",
|
|
107
|
+
"label": "Used",
|
|
108
|
+
"format": "minutes"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"key": "sourceMinutesLimit",
|
|
112
|
+
"label": "Included",
|
|
113
|
+
"format": "minutes"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"key": "activeJobs",
|
|
117
|
+
"label": "Active jobs",
|
|
118
|
+
"format": "number"
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"ui": {
|
|
123
|
+
"isolation": "sandboxed-iframe",
|
|
124
|
+
"surfaces": [
|
|
125
|
+
{
|
|
126
|
+
"id": "video-indexing-brief",
|
|
127
|
+
"slot": "data-indexing",
|
|
128
|
+
"title": "Let your AI understand this video",
|
|
129
|
+
"entrypoint": "./ui",
|
|
130
|
+
"appliesTo": ["video"],
|
|
131
|
+
"description": "Choose how deeply to analyze it and optionally point it to what matters most.",
|
|
132
|
+
"estimate": {
|
|
133
|
+
"modeField": "indexingMode",
|
|
134
|
+
"variants": [
|
|
135
|
+
{
|
|
136
|
+
"value": "fast",
|
|
137
|
+
"analyzedFramesPerSourceMinute": 5,
|
|
138
|
+
"ocrFramesPerSourceMinute": 3,
|
|
139
|
+
"processingSecondsPerSourceMinute": 4,
|
|
140
|
+
"maxProcessingSecondsPerSourceMinute": 5,
|
|
141
|
+
"fixedOverheadSeconds": 60,
|
|
142
|
+
"maxFixedOverheadSeconds": 60,
|
|
143
|
+
"creditsPerSourceMinute": 1
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"value": "balanced",
|
|
147
|
+
"analyzedFramesPerSourceMinute": 12,
|
|
148
|
+
"ocrFramesPerSourceMinute": 8,
|
|
149
|
+
"processingSecondsPerSourceMinute": 16,
|
|
150
|
+
"maxProcessingSecondsPerSourceMinute": 30,
|
|
151
|
+
"fixedOverheadSeconds": 120,
|
|
152
|
+
"maxFixedOverheadSeconds": 240,
|
|
153
|
+
"creditsPerSourceMinute": 2
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"value": "thorough",
|
|
157
|
+
"analyzedFramesPerSourceMinute": 30,
|
|
158
|
+
"ocrFramesPerSourceMinute": 20,
|
|
159
|
+
"processingSecondsPerSourceMinute": 32,
|
|
160
|
+
"maxProcessingSecondsPerSourceMinute": 60,
|
|
161
|
+
"fixedOverheadSeconds": 180,
|
|
162
|
+
"maxFixedOverheadSeconds": 360,
|
|
163
|
+
"creditsPerSourceMinute": 4
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
"form": {
|
|
168
|
+
"submitLabel": "Start indexing",
|
|
169
|
+
"fields": [
|
|
170
|
+
{
|
|
171
|
+
"key": "goal",
|
|
172
|
+
"type": "textarea",
|
|
173
|
+
"label": "What should your AI look for? (optional)",
|
|
174
|
+
"placeholder": "For example: find the final score, the moment the package is dropped, or every mention of pricing."
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"key": "indexingMode",
|
|
178
|
+
"type": "select",
|
|
179
|
+
"label": "Coverage",
|
|
180
|
+
"defaultValue": "balanced",
|
|
181
|
+
"options": [
|
|
182
|
+
{
|
|
183
|
+
"label": "Fast",
|
|
184
|
+
"value": "fast",
|
|
185
|
+
"description": "Sample key frames for a quick overview.",
|
|
186
|
+
"setValues": {
|
|
187
|
+
"processingAuthorityConfirmed": false
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"label": "Balanced",
|
|
192
|
+
"value": "balanced",
|
|
193
|
+
"description": "Sample visual and OCR evidence across the video.",
|
|
194
|
+
"setValues": {
|
|
195
|
+
"processingAuthorityConfirmed": false
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"label": "Thorough",
|
|
200
|
+
"value": "thorough",
|
|
201
|
+
"description": "Let the agent inspect denser evidence around subtle or infrequent details.",
|
|
202
|
+
"setValues": {
|
|
203
|
+
"processingAuthorityConfirmed": false
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
]
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"id": "video-evidence-result",
|
|
213
|
+
"slot": "chat-result",
|
|
214
|
+
"title": "Video evidence",
|
|
215
|
+
"entrypoint": "./ui"
|
|
216
|
+
}
|
|
217
|
+
]
|
|
218
|
+
},
|
|
219
|
+
"configSchema": [
|
|
220
|
+
{
|
|
221
|
+
"key": "runtimeMode",
|
|
222
|
+
"label": "Runtime",
|
|
223
|
+
"type": "select",
|
|
224
|
+
"group": "Runtime",
|
|
225
|
+
"defaultValue": "managed-cloud",
|
|
226
|
+
"help": "Choose managed Larkup Cloud, a local runtime that automatically selects Docker or native, or your own compatible deployment.",
|
|
227
|
+
"options": [
|
|
228
|
+
{
|
|
229
|
+
"label": "Larkup Cloud",
|
|
230
|
+
"value": "managed-cloud",
|
|
231
|
+
"icon": "/logo.png",
|
|
232
|
+
"description": "Managed GPU capacity and automatic device access."
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"label": "Local runtime",
|
|
236
|
+
"value": "local",
|
|
237
|
+
"icon": "/docker.png",
|
|
238
|
+
"description": "Run the application locally on your computer."
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"label": "Custom runtime",
|
|
242
|
+
"value": "custom-remote",
|
|
243
|
+
"icon": "/icons/cloudflare.png",
|
|
244
|
+
"description": "Use your compatible deployment URL and key."
|
|
245
|
+
}
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"key": "localRuntimeUrl",
|
|
250
|
+
"label": "Local runtime URL",
|
|
251
|
+
"type": "text",
|
|
252
|
+
"group": "Local runtime",
|
|
253
|
+
"defaultValue": "http://127.0.0.1:8787",
|
|
254
|
+
"help": "Use this machine's LAN address instead of 127.0.0.1 when another Larkup user should connect to it.",
|
|
255
|
+
"verification": {
|
|
256
|
+
"endpoint": "/api/tools/video-intelligence/verify",
|
|
257
|
+
"method": "POST",
|
|
258
|
+
"fields": {
|
|
259
|
+
"localRuntimeUrl": "localRuntimeUrl",
|
|
260
|
+
"localRuntimeApiKey": "localRuntimeApiKey",
|
|
261
|
+
"runtimeMode": "runtimeMode"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"visibleWhen": {
|
|
265
|
+
"field": "runtimeMode",
|
|
266
|
+
"equals": "local"
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"key": "localRuntimeApiKey",
|
|
271
|
+
"label": "Shared local API key",
|
|
272
|
+
"type": "password",
|
|
273
|
+
"group": "Local runtime",
|
|
274
|
+
"help": "Optional bearer key to use when your local runtime authentication is enabled. Share it only with trusted users on your private network.",
|
|
275
|
+
"visibleWhen": {
|
|
276
|
+
"field": "runtimeMode",
|
|
277
|
+
"equals": "local"
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"key": "videoVisionProvider",
|
|
282
|
+
"label": "Vision provider",
|
|
283
|
+
"type": "select",
|
|
284
|
+
"group": "Video understanding",
|
|
285
|
+
"defaultValue": "vercel_ai_gateway",
|
|
286
|
+
"defaultFromGlobalConfigKey": "visionProvider",
|
|
287
|
+
"help": "Defaults to your saved AI Models vision provider. Choose another provider here only for this tool.",
|
|
288
|
+
"options": [
|
|
289
|
+
{
|
|
290
|
+
"label": "Use AI Models",
|
|
291
|
+
"value": "auto",
|
|
292
|
+
"description": "Follow the workspace Vision Model setting."
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"label": "Google Gemini",
|
|
296
|
+
"value": "google",
|
|
297
|
+
"icon": "/icons/gemini.svg",
|
|
298
|
+
"description": "Use Gemini directly with a Google API key."
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"label": "Vercel AI Gateway",
|
|
302
|
+
"value": "vercel_ai_gateway",
|
|
303
|
+
"icon": "/icons/vercel.svg",
|
|
304
|
+
"description": "Use a Gateway vision model and key."
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"label": "OpenAI",
|
|
308
|
+
"value": "openai",
|
|
309
|
+
"icon": "/icons/openai.svg",
|
|
310
|
+
"description": "Use an OpenAI vision model directly."
|
|
311
|
+
}
|
|
312
|
+
]
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"key": "videoVisionApiKey",
|
|
316
|
+
"label": "Vision provider API key",
|
|
317
|
+
"type": "password",
|
|
318
|
+
"group": "Video understanding",
|
|
319
|
+
"help": "Optional tool override. Leave empty to use the matching provider key from AI Models; it is forwarded only for the active job."
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"key": "semanticVisionModel",
|
|
323
|
+
"label": "Video vision model",
|
|
324
|
+
"type": "select",
|
|
325
|
+
"group": "Video understanding",
|
|
326
|
+
"defaultValue": "google/gemini-3.6-flash",
|
|
327
|
+
"defaultFromGlobalConfigKey": "visionModelId",
|
|
328
|
+
"providerField": "videoVisionProvider",
|
|
329
|
+
"defaultValueByProvider": {
|
|
330
|
+
"auto": "auto",
|
|
331
|
+
"google": "google/gemini-3.6-flash",
|
|
332
|
+
"vercel_ai_gateway": "google/gemini-3.6-flash",
|
|
333
|
+
"openai": "openai/gpt-4o-mini"
|
|
334
|
+
},
|
|
335
|
+
"help": "Defaults to the Vision Model in AI Models. Choose another video-capable model to override it only for this tool.",
|
|
336
|
+
"verification": {
|
|
337
|
+
"endpoint": "/api/tools/video-intelligence/verify",
|
|
338
|
+
"method": "POST",
|
|
339
|
+
"fields": {
|
|
340
|
+
"videoVisionProvider": "videoVisionProvider",
|
|
341
|
+
"videoVisionApiKey": "videoVisionApiKey",
|
|
342
|
+
"semanticVisionModel": "semanticVisionModel"
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
"options": [
|
|
346
|
+
{
|
|
347
|
+
"label": "Use AI Models",
|
|
348
|
+
"value": "auto",
|
|
349
|
+
"description": "Follow the workspace Vision Model setting."
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"label": "Gemini 3.6 Flash",
|
|
353
|
+
"value": "google/gemini-3.6-flash",
|
|
354
|
+
"icon": "/icons/gemini.svg",
|
|
355
|
+
"description": "Current Google multimodal model for video understanding."
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"label": "Gemini 3.5 Flash",
|
|
359
|
+
"value": "google/gemini-3.5-flash",
|
|
360
|
+
"icon": "/icons/gemini.svg",
|
|
361
|
+
"description": "Fast video and image understanding."
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"label": "GPT-4o mini",
|
|
365
|
+
"value": "openai/gpt-4o-mini",
|
|
366
|
+
"icon": "/icons/openai.svg",
|
|
367
|
+
"description": "Efficient OpenAI vision model."
|
|
368
|
+
}
|
|
369
|
+
]
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"key": "videoAgentProvider",
|
|
373
|
+
"label": "Agent provider",
|
|
374
|
+
"type": "select",
|
|
375
|
+
"group": "Agent planning",
|
|
376
|
+
"defaultValue": "vercel_ai_gateway",
|
|
377
|
+
"defaultFromGlobalConfigKey": "chatProvider",
|
|
378
|
+
"help": "Defaults to your saved AI Models chat provider. Choose another provider here only for this tool.",
|
|
379
|
+
"options": [
|
|
380
|
+
{
|
|
381
|
+
"label": "Use AI Models",
|
|
382
|
+
"value": "auto",
|
|
383
|
+
"description": "Follow the workspace Chat Model setting."
|
|
384
|
+
},
|
|
385
|
+
{ "label": "Google Gemini", "value": "google", "icon": "/icons/gemini.svg" },
|
|
386
|
+
{ "label": "Vercel AI Gateway", "value": "vercel_ai_gateway", "icon": "/icons/vercel.svg" },
|
|
387
|
+
{ "label": "OpenAI", "value": "openai", "icon": "/icons/openai.svg" },
|
|
388
|
+
{
|
|
389
|
+
"label": "DeepSeek",
|
|
390
|
+
"value": "deepseek",
|
|
391
|
+
"icon": "https://models.dev/logos/deepseek.svg"
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"label": "Anthropic",
|
|
395
|
+
"value": "anthropic",
|
|
396
|
+
"icon": "https://models.dev/logos/anthropic.svg"
|
|
397
|
+
},
|
|
398
|
+
{ "label": "Mistral", "value": "mistral", "icon": "https://models.dev/logos/mistral.svg" },
|
|
399
|
+
{ "label": "Cohere", "value": "cohere", "icon": "https://models.dev/logos/cohere.svg" }
|
|
400
|
+
]
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"key": "videoAgentApiKey",
|
|
404
|
+
"label": "Agent provider API key",
|
|
405
|
+
"type": "password",
|
|
406
|
+
"group": "Agent planning",
|
|
407
|
+
"help": "Optional tool override. Leave empty to use the matching chat-provider key from AI Models; it is forwarded only for the active job."
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"key": "agentModel",
|
|
411
|
+
"label": "Agent / tool-brain model",
|
|
412
|
+
"type": "select",
|
|
413
|
+
"group": "Agent planning",
|
|
414
|
+
"defaultValue": "openai/gpt-5-mini",
|
|
415
|
+
"defaultFromGlobalConfigKey": "chatModelId",
|
|
416
|
+
"providerField": "videoAgentProvider",
|
|
417
|
+
"defaultValueByProvider": {
|
|
418
|
+
"auto": "auto",
|
|
419
|
+
"google": "google/gemini-3.5-flash-lite",
|
|
420
|
+
"vercel_ai_gateway": "openai/gpt-5-mini",
|
|
421
|
+
"openai": "openai/gpt-5-mini",
|
|
422
|
+
"deepseek": "deepseek/deepseek-v3.2",
|
|
423
|
+
"anthropic": "anthropic/claude-sonnet-4",
|
|
424
|
+
"mistral": "mistral/mistral-large-3",
|
|
425
|
+
"cohere": "cohere/command-a"
|
|
426
|
+
},
|
|
427
|
+
"help": "Defaults to the Chat Model in AI Models. Choose another model to override it only for video planning and synthesis.",
|
|
428
|
+
"verification": {
|
|
429
|
+
"endpoint": "/api/tools/video-intelligence/verify",
|
|
430
|
+
"method": "POST",
|
|
431
|
+
"fields": {
|
|
432
|
+
"videoAgentProvider": "videoAgentProvider",
|
|
433
|
+
"videoAgentApiKey": "videoAgentApiKey",
|
|
434
|
+
"agentModel": "agentModel"
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
"options": [
|
|
438
|
+
{
|
|
439
|
+
"label": "Use AI Models",
|
|
440
|
+
"value": "auto",
|
|
441
|
+
"description": "Follow the workspace Chat Model setting."
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"label": "Gemini 3.5 Flash Lite",
|
|
445
|
+
"value": "google/gemini-3.5-flash-lite",
|
|
446
|
+
"icon": "/icons/gemini.svg"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"label": "Gemini 3.6 Flash",
|
|
450
|
+
"value": "google/gemini-3.6-flash",
|
|
451
|
+
"icon": "/icons/gemini.svg"
|
|
452
|
+
},
|
|
453
|
+
{ "label": "GPT-5 mini", "value": "openai/gpt-5-mini", "icon": "/icons/openai.svg" },
|
|
454
|
+
{ "label": "GPT-5.2", "value": "openai/gpt-5.2", "icon": "/icons/openai.svg" },
|
|
455
|
+
{
|
|
456
|
+
"label": "DeepSeek V3.2",
|
|
457
|
+
"value": "deepseek/deepseek-v3.2",
|
|
458
|
+
"icon": "https://models.dev/logos/deepseek.svg"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"label": "DeepSeek V4 Pro",
|
|
462
|
+
"value": "deepseek/deepseek-v4-pro",
|
|
463
|
+
"icon": "https://models.dev/logos/deepseek.svg"
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"label": "Claude Sonnet 4",
|
|
467
|
+
"value": "anthropic/claude-sonnet-4",
|
|
468
|
+
"icon": "https://models.dev/logos/anthropic.svg"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"label": "Mistral Large 3",
|
|
472
|
+
"value": "mistral/mistral-large-3",
|
|
473
|
+
"icon": "https://models.dev/logos/mistral.svg"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"label": "Command A",
|
|
477
|
+
"value": "cohere/command-a",
|
|
478
|
+
"icon": "https://models.dev/logos/cohere.svg"
|
|
479
|
+
}
|
|
480
|
+
]
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"key": "customRuntimeUrl",
|
|
484
|
+
"label": "Custom runtime URL",
|
|
485
|
+
"type": "text",
|
|
486
|
+
"group": "Custom runtime",
|
|
487
|
+
"required": true,
|
|
488
|
+
"help": "HTTPS URL of a compatible Video Intelligence /v1 runtime.",
|
|
489
|
+
"verification": {
|
|
490
|
+
"endpoint": "/api/tools/video-intelligence/verify",
|
|
491
|
+
"method": "POST",
|
|
492
|
+
"fields": {
|
|
493
|
+
"customRuntimeUrl": "customRuntimeUrl",
|
|
494
|
+
"customRuntimeApiKey": "customRuntimeApiKey",
|
|
495
|
+
"runtimeMode": "runtimeMode"
|
|
496
|
+
}
|
|
497
|
+
},
|
|
498
|
+
"visibleWhen": {
|
|
499
|
+
"field": "runtimeMode",
|
|
500
|
+
"equals": "custom-remote"
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"key": "customRuntimeApiKey",
|
|
505
|
+
"label": "Custom runtime API key",
|
|
506
|
+
"type": "password",
|
|
507
|
+
"group": "Custom runtime",
|
|
508
|
+
"required": true,
|
|
509
|
+
"visibleWhen": {
|
|
510
|
+
"field": "runtimeMode",
|
|
511
|
+
"equals": "custom-remote"
|
|
512
|
+
}
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
"key": "audioProvider",
|
|
516
|
+
"label": "Audio provider",
|
|
517
|
+
"type": "select",
|
|
518
|
+
"group": "Audio",
|
|
519
|
+
"defaultValue": "deepgram",
|
|
520
|
+
"help": "Required for every runtime. Transcription is billed directly to your selected provider; Larkup Cloud does not supply audio-model credits.",
|
|
521
|
+
"options": [
|
|
522
|
+
{
|
|
523
|
+
"label": "OpenAI",
|
|
524
|
+
"value": "openai",
|
|
525
|
+
"icon": "/icons/openai.svg",
|
|
526
|
+
"description": "Use your OpenAI transcription allowance."
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"label": "Groq",
|
|
530
|
+
"value": "groq",
|
|
531
|
+
"icon": "https://models.dev/logos/groq.svg",
|
|
532
|
+
"description": "Fast hosted Whisper inference."
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"label": "Deepgram",
|
|
536
|
+
"value": "deepgram",
|
|
537
|
+
"icon": "/icons/deepgram.png",
|
|
538
|
+
"description": "Speech-to-text with language features."
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"label": "ElevenLabs",
|
|
542
|
+
"value": "elevenlabs",
|
|
543
|
+
"icon": "/icons/elevenlabs.png",
|
|
544
|
+
"description": "Use your ElevenLabs speech-to-text account."
|
|
545
|
+
}
|
|
546
|
+
]
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"key": "audioApiKey",
|
|
550
|
+
"label": "Audio provider API key",
|
|
551
|
+
"type": "password",
|
|
552
|
+
"group": "Audio",
|
|
553
|
+
"help": "Required. It stays in this installation and is forwarded only for the active video job.",
|
|
554
|
+
"verification": {
|
|
555
|
+
"endpoint": "/api/tools/video-intelligence/verify",
|
|
556
|
+
"method": "POST",
|
|
557
|
+
"fields": {
|
|
558
|
+
"audioProvider": "audioProvider",
|
|
559
|
+
"audioApiKey": "audioApiKey"
|
|
560
|
+
}
|
|
561
|
+
},
|
|
562
|
+
"visibleWhen": {
|
|
563
|
+
"field": "audioProvider",
|
|
564
|
+
"equals": ["openai", "groq", "deepgram", "elevenlabs"]
|
|
565
|
+
}
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"key": "defaultIndexingMode",
|
|
569
|
+
"label": "Default indexing mode",
|
|
570
|
+
"type": "select",
|
|
571
|
+
"group": "Indexing",
|
|
572
|
+
"defaultValue": "balanced",
|
|
573
|
+
"options": [
|
|
574
|
+
{
|
|
575
|
+
"label": "Fast",
|
|
576
|
+
"value": "fast"
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"label": "Balanced",
|
|
580
|
+
"value": "balanced"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"label": "Thorough",
|
|
584
|
+
"value": "thorough"
|
|
585
|
+
}
|
|
586
|
+
]
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"key": "cloudAccessKey",
|
|
590
|
+
"label": "Larkup Cloud API key",
|
|
591
|
+
"type": "password",
|
|
592
|
+
"group": "Managed cloud connection",
|
|
593
|
+
"help": "Paste the key Larkup provides for managed cloud access. Leave this empty only when automatic project provisioning is enabled.",
|
|
594
|
+
"visibleWhen": {
|
|
595
|
+
"field": "runtimeMode",
|
|
596
|
+
"equals": "managed-cloud"
|
|
597
|
+
}
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"key": "cloudInstallationId",
|
|
601
|
+
"label": "Managed cloud installation ID",
|
|
602
|
+
"type": "text",
|
|
603
|
+
"group": "Managed cloud connection",
|
|
604
|
+
"help": "Provisioned automatically on first use; never entered or shown to a client.",
|
|
605
|
+
"serverManaged": true
|
|
606
|
+
}
|
|
607
|
+
],
|
|
608
|
+
"tags": ["video", "ocr", "tracking", "cloud", "gpu", "private", "gdpr"],
|
|
609
|
+
"downloads": 0,
|
|
610
|
+
"repositoryUrl": "https://github.com/Larkup-AI/larkup",
|
|
611
|
+
"license": "Apache-2.0",
|
|
612
|
+
"updatedAt": "2026-08-20",
|
|
613
|
+
"trustLevel": "elevated",
|
|
614
|
+
"permissions": {
|
|
615
|
+
"httpAllow": ["video.larkup.de"]
|
|
616
|
+
}
|
|
617
|
+
}
|