@apteva/integrations 0.2.3 → 0.3.1

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.
Files changed (236) hide show
  1. package/package.json +1 -1
  2. package/src/apps/activecampaign.json +209 -0
  3. package/src/apps/activecollab.json +417 -0
  4. package/src/apps/airtable.json +235 -0
  5. package/src/apps/alpaca-trading.json +1554 -0
  6. package/src/apps/amadeus.json +225 -0
  7. package/src/apps/anthropic-api.json +96 -0
  8. package/src/apps/apify.json +203 -0
  9. package/src/apps/apollo.json +748 -0
  10. package/src/apps/apple-podcasts.json +116 -0
  11. package/src/apps/archive-api.json +104 -0
  12. package/src/apps/archive.json +151 -0
  13. package/src/apps/arduino-cloud.json +301 -0
  14. package/src/apps/arest.json +492 -0
  15. package/src/apps/asana.json +184 -0
  16. package/src/apps/ashby.json +176 -0
  17. package/src/apps/assemblyai.json +163 -0
  18. package/src/apps/attio.json +243 -0
  19. package/src/apps/aws-cloudfront.json +132 -0
  20. package/src/apps/aws-dynamodb.json +295 -0
  21. package/src/apps/aws-ec2.json +184 -0
  22. package/src/apps/aws-lambda.json +361 -0
  23. package/src/apps/aws-route53.json +110 -0
  24. package/src/apps/aws-s3.json +303 -0
  25. package/src/apps/aws-ses.json +556 -0
  26. package/src/apps/aws-sns.json +217 -0
  27. package/src/apps/aws-sqs.json +234 -0
  28. package/src/apps/axiom.json +123 -0
  29. package/src/apps/beehiiv.json +252 -0
  30. package/src/apps/binance-trading.json +555 -0
  31. package/src/apps/bitly.json +175 -0
  32. package/src/apps/bloobirds.json +246 -0
  33. package/src/apps/bluesky.json +201 -0
  34. package/src/apps/blynk.json +316 -0
  35. package/src/apps/booking-com.json +144 -0
  36. package/src/apps/box.json +289 -0
  37. package/src/apps/brevo.json +1423 -0
  38. package/src/apps/browse-ai.json +148 -0
  39. package/src/apps/bunny-cdn.json +330 -0
  40. package/src/apps/bunny-stream.json +387 -0
  41. package/src/apps/cal-com.json +240 -0
  42. package/src/apps/calendly.json +578 -0
  43. package/src/apps/calflow-calendar.json +706 -0
  44. package/src/apps/callrail.json +190 -0
  45. package/src/apps/canva.json +197 -0
  46. package/src/apps/cartesia.json +201 -0
  47. package/src/apps/castbase.json +753 -0
  48. package/src/apps/chargebee.json +226 -0
  49. package/src/apps/cleanster.json +359 -0
  50. package/src/apps/clicksend.json +278 -0
  51. package/src/apps/clickup.json +266 -0
  52. package/src/apps/clipkit.json +517 -0
  53. package/src/apps/close.json +359 -0
  54. package/src/apps/cloudflare.json +329 -0
  55. package/src/apps/cloudinary.json +164 -0
  56. package/src/apps/coda.json +288 -0
  57. package/src/apps/cohere.json +158 -0
  58. package/src/apps/coinbase.json +268 -0
  59. package/src/apps/composio.json +146 -0
  60. package/src/apps/confluence.json +270 -0
  61. package/src/apps/consensus.json +879 -0
  62. package/src/apps/contabo.json +733 -0
  63. package/src/apps/convertkit.json +211 -0
  64. package/src/apps/core-image.json +426 -0
  65. package/src/apps/core-video.json +1246 -0
  66. package/src/apps/craftcloud.json +298 -0
  67. package/src/apps/datadog.json +401 -0
  68. package/src/apps/dataforseo.json +1273 -0
  69. package/src/apps/deepseek.json +150 -0
  70. package/src/apps/dialpad.json +229 -0
  71. package/src/apps/discord.json +239 -0
  72. package/src/apps/dnsimple.json +405 -0
  73. package/src/apps/docusign.json +214 -0
  74. package/src/apps/docx.json +282 -0
  75. package/src/apps/dropbox.json +185 -0
  76. package/src/apps/duffel.json +231 -0
  77. package/src/apps/dux-soup.json +694 -0
  78. package/src/apps/dynadot.json +250 -0
  79. package/src/apps/elevenlabs.json +327 -0
  80. package/src/apps/eventbrite-events.json +598 -0
  81. package/src/apps/facebook-ads.json +1399 -0
  82. package/src/apps/facebook-api.json +282 -0
  83. package/src/apps/fal-ai.json +400 -0
  84. package/src/apps/fathom.json +86 -0
  85. package/src/apps/figma.json +162 -0
  86. package/src/apps/filestack.json +159 -0
  87. package/src/apps/firebase.json +271 -0
  88. package/src/apps/firecrawl.json +278 -0
  89. package/src/apps/folk.json +564 -0
  90. package/src/apps/forecast-app.json +377 -0
  91. package/src/apps/freshdesk.json +283 -0
  92. package/src/apps/gemini.json +528 -0
  93. package/src/apps/ghost.json +439 -0
  94. package/src/apps/gigs-marketplace.json +1442 -0
  95. package/src/apps/github.json +1479 -47
  96. package/src/apps/gitlab.json +448 -0
  97. package/src/apps/gmail.json +839 -28
  98. package/src/apps/gohighlevel.json +596 -0
  99. package/src/apps/google-ads.json +270 -0
  100. package/src/apps/google-calendar.json +996 -36
  101. package/src/apps/google-docs.json +278 -0
  102. package/src/apps/google-drive.json +360 -0
  103. package/src/apps/google-maps.json +473 -0
  104. package/src/apps/google-sheets.json +330 -0
  105. package/src/apps/gooten.json +411 -0
  106. package/src/apps/gravity-forms.json +385 -0
  107. package/src/apps/gusto.json +171 -0
  108. package/src/apps/hackernews.json +221 -0
  109. package/src/apps/harmonic.json +86 -0
  110. package/src/apps/helpscout.json +664 -0
  111. package/src/apps/hetzner.json +658 -0
  112. package/src/apps/heygen.json +184 -0
  113. package/src/apps/heyreach.json +388 -0
  114. package/src/apps/hospitable.json +340 -0
  115. package/src/apps/hostinger.json +374 -0
  116. package/src/apps/hubspot.json +682 -0
  117. package/src/apps/huggingface.json +97 -0
  118. package/src/apps/hunter.json +504 -0
  119. package/src/apps/ig-trading.json +849 -0
  120. package/src/apps/imaterialise.json +349 -0
  121. package/src/apps/instagram-api.json +538 -0
  122. package/src/apps/intercom.json +648 -0
  123. package/src/apps/jira.json +226 -0
  124. package/src/apps/klaviyo.json +199 -0
  125. package/src/apps/kling-ai.json +206 -0
  126. package/src/apps/kraken.json +870 -0
  127. package/src/apps/late.json +1056 -0
  128. package/src/apps/leadpages.json +243 -0
  129. package/src/apps/learning-platform.json +2244 -0
  130. package/src/apps/linear.json +184 -57
  131. package/src/apps/linkedin.json +179 -0
  132. package/src/apps/listen-notes.json +136 -0
  133. package/src/apps/lnk-bio.json +125 -0
  134. package/src/apps/loom.json +188 -0
  135. package/src/apps/luma.json +280 -0
  136. package/src/apps/mailchimp.json +238 -0
  137. package/src/apps/mailgun.json +310 -0
  138. package/src/apps/manychat.json +312 -0
  139. package/src/apps/marin-software.json +843 -0
  140. package/src/apps/media-downloader.json +157 -0
  141. package/src/apps/meetup-events.json +361 -0
  142. package/src/apps/meshy.json +248 -0
  143. package/src/apps/microsoft-teams.json +162 -0
  144. package/src/apps/monday.json +213 -0
  145. package/src/apps/mongodb-atlas.json +467 -0
  146. package/src/apps/namecheap.json +252 -0
  147. package/src/apps/nexar.json +289 -0
  148. package/src/apps/notion.json +530 -50
  149. package/src/apps/omnikit-analytics.json +374 -0
  150. package/src/apps/omnikit-api-gateway.json +660 -0
  151. package/src/apps/omnikit-billing.json +1781 -0
  152. package/src/apps/omnikit-cms.json +899 -0
  153. package/src/apps/omnikit-functions.json +329 -0
  154. package/src/apps/omnikit-intelligence.json +650 -0
  155. package/src/apps/omnikit-management.json +214 -0
  156. package/src/apps/omnikit-media.json +646 -0
  157. package/src/apps/omnikit-messaging.json +1826 -0
  158. package/src/apps/omnikit-redirects.json +209 -0
  159. package/src/apps/omnikit-webhooks.json +269 -0
  160. package/src/apps/omnikit-workflows.json +323 -0
  161. package/src/apps/openai-api.json +462 -0
  162. package/src/apps/openmeteo-weather.json +75 -0
  163. package/src/apps/optinmonster.json +244 -0
  164. package/src/apps/paidkit.json +1218 -0
  165. package/src/apps/paypal.json +254 -0
  166. package/src/apps/pdf.json +366 -0
  167. package/src/apps/pipedrive.json +255 -0
  168. package/src/apps/polymarket.json +653 -0
  169. package/src/apps/porkbun.json +417 -0
  170. package/src/apps/portfolio.json +501 -0
  171. package/src/apps/postmark.json +257 -0
  172. package/src/apps/printful.json +273 -0
  173. package/src/apps/printify.json +295 -0
  174. package/src/apps/producthunt.json +346 -0
  175. package/src/apps/pushover-notifications.json +113 -0
  176. package/src/apps/qonto.json +366 -0
  177. package/src/apps/quickbooks.json +234 -0
  178. package/src/apps/replicate.json +106 -0
  179. package/src/apps/rss.json +281 -0
  180. package/src/apps/salesflow.json +538 -0
  181. package/src/apps/salesforce-crm.json +216 -0
  182. package/src/apps/sap.json +256 -0
  183. package/src/apps/scaleway.json +911 -0
  184. package/src/apps/sculpteo.json +234 -0
  185. package/src/apps/sendgrid-email.json +233 -0
  186. package/src/apps/sendgrid.json +160 -35
  187. package/src/apps/shapeways.json +188 -0
  188. package/src/apps/shopify.json +1217 -0
  189. package/src/apps/skai.json +779 -0
  190. package/src/apps/slack.json +228 -38
  191. package/src/apps/slant3d.json +231 -0
  192. package/src/apps/slides.json +760 -0
  193. package/src/apps/smartly.json +504 -0
  194. package/src/apps/snov.json +467 -0
  195. package/src/apps/socialcast.json +553 -63
  196. package/src/apps/square.json +274 -0
  197. package/src/apps/storage-management.json +788 -0
  198. package/src/apps/storylane.json +180 -0
  199. package/src/apps/strapi.json +338 -0
  200. package/src/apps/stripe-payments.json +847 -0
  201. package/src/apps/stripe.json +472 -35
  202. package/src/apps/supabase.json +169 -0
  203. package/src/apps/supademo.json +115 -0
  204. package/src/apps/taskflow.json +714 -0
  205. package/src/apps/teamwork.json +457 -0
  206. package/src/apps/telegram.json +444 -0
  207. package/src/apps/thinger.json +458 -0
  208. package/src/apps/ticktick.json +169 -0
  209. package/src/apps/tiktok-api.json +406 -0
  210. package/src/apps/todoist.json +151 -0
  211. package/src/apps/together.json +123 -0
  212. package/src/apps/torrent.json +267 -0
  213. package/src/apps/trading.json +1012 -0
  214. package/src/apps/trading212.json +383 -0
  215. package/src/apps/trello.json +205 -0
  216. package/src/apps/tripo.json +157 -0
  217. package/src/apps/twilio.json +1008 -0
  218. package/src/apps/twitter-ads.json +875 -0
  219. package/src/apps/twitter-api.json +1151 -0
  220. package/src/apps/twitterapiio.json +548 -0
  221. package/src/apps/typeform.json +210 -0
  222. package/src/apps/vidforge.json +1020 -0
  223. package/src/apps/vonage.json +394 -0
  224. package/src/apps/vultr.json +225 -0
  225. package/src/apps/webflow.json +223 -0
  226. package/src/apps/wise.json +273 -0
  227. package/src/apps/wistia.json +283 -0
  228. package/src/apps/woocommerce.json +288 -0
  229. package/src/apps/wordpress.json +1675 -0
  230. package/src/apps/xero.json +257 -0
  231. package/src/apps/youtube-api.json +861 -0
  232. package/src/apps/zendesk.json +295 -0
  233. package/src/apps/zite.json +173 -0
  234. package/src/apps/zoho-crm.json +386 -0
  235. package/src/apps/zoo.json +193 -0
  236. package/src/apps/zoom.json +334 -0
@@ -0,0 +1,517 @@
1
+ {
2
+ "slug": "clipkit",
3
+ "name": "ClipKit",
4
+ "description": "Transform any video instantly - Extract clips, resize for social media, create GIFs, compress videos, and more",
5
+ "logo": "https://www.google.com/s2/favicons?domain=clipkit.io&sz=128",
6
+ "categories": [
7
+ "video",
8
+ "media",
9
+ "processing",
10
+ "social-media",
11
+ "transcoding",
12
+ "compression",
13
+ "audio",
14
+ "gif",
15
+ "clips",
16
+ "resize"
17
+ ],
18
+ "base_url": "",
19
+ "auth": {
20
+ "types": [
21
+ "api_key"
22
+ ],
23
+ "headers": {
24
+ "X-API-Key": "{{token}}"
25
+ },
26
+ "credential_fields": [
27
+ {
28
+ "name": "token",
29
+ "label": "Api Key",
30
+ "description": "Your ClipKit API Key for authentication"
31
+ }
32
+ ]
33
+ },
34
+ "tools": [
35
+ {
36
+ "name": "extract_audio",
37
+ "description": "Extract audio track from video file with configurable format, sample rate, and channels",
38
+ "method": "GET",
39
+ "path": "/extract-audio",
40
+ "input_schema": {
41
+ "type": "object",
42
+ "properties": {
43
+ "file_id": {
44
+ "type": "integer",
45
+ "description": "Source video file ID"
46
+ },
47
+ "project_id": {
48
+ "type": "integer",
49
+ "description": "Project ID"
50
+ },
51
+ "output_format": {
52
+ "type": "string",
53
+ "enum": [
54
+ "mp3",
55
+ "wav",
56
+ "flac",
57
+ "m4a",
58
+ "aac"
59
+ ],
60
+ "description": "Audio output format",
61
+ "default": "mp3"
62
+ },
63
+ "sample_rate": {
64
+ "type": "integer",
65
+ "enum": [
66
+ 16000,
67
+ 22050,
68
+ 44100,
69
+ 48000
70
+ ],
71
+ "description": "Audio sample rate (16000 for transcription, 44100+ for quality)",
72
+ "default": 16000
73
+ },
74
+ "channels": {
75
+ "type": "integer",
76
+ "enum": [
77
+ 1,
78
+ 2
79
+ ],
80
+ "description": "Audio channels (1=mono, 2=stereo)",
81
+ "default": 1
82
+ },
83
+ "bit_rate": {
84
+ "type": "string",
85
+ "description": "Audio bitrate (e.g., '128k', '192k', '256k')",
86
+ "default": "128k"
87
+ }
88
+ },
89
+ "required": [
90
+ "file_id",
91
+ "project_id"
92
+ ]
93
+ }
94
+ },
95
+ {
96
+ "name": "extract_screenshots",
97
+ "description": "Extract multiple frames from video at specific timestamps, intervals, or evenly-spaced positions",
98
+ "method": "GET",
99
+ "path": "/extract-screenshots",
100
+ "input_schema": {
101
+ "type": "object",
102
+ "properties": {
103
+ "file_id": {
104
+ "type": "integer",
105
+ "description": "Source video file ID"
106
+ },
107
+ "project_id": {
108
+ "type": "integer",
109
+ "description": "Project ID"
110
+ },
111
+ "timestamps": {
112
+ "type": "array",
113
+ "items": {
114
+ "type": "number"
115
+ },
116
+ "description": "Specific timestamps in seconds (e.g., [2.5, 5.0, 10.5])"
117
+ },
118
+ "interval": {
119
+ "type": "number",
120
+ "description": "Extract frame every N seconds (e.g., 30 for every 30s)"
121
+ },
122
+ "count": {
123
+ "type": "integer",
124
+ "description": "Number of evenly-spaced frames to extract",
125
+ "minimum": 1,
126
+ "maximum": 20
127
+ },
128
+ "percentage": {
129
+ "type": "boolean",
130
+ "description": "Extract at 0%, 25%, 50%, 75%, 100% of video duration",
131
+ "default": false
132
+ },
133
+ "output_format": {
134
+ "type": "string",
135
+ "enum": [
136
+ "jpg",
137
+ "png"
138
+ ],
139
+ "description": "Image output format",
140
+ "default": "jpg"
141
+ },
142
+ "output_size": {
143
+ "type": "string",
144
+ "description": "Output size: 'thumbnail' (320x180), 'preview' (640x360), 'hd' (1280x720), or custom 'WxH'",
145
+ "default": "preview"
146
+ },
147
+ "quality": {
148
+ "type": "integer",
149
+ "description": "JPEG quality (1-31, lower=better)",
150
+ "minimum": 1,
151
+ "maximum": 31,
152
+ "default": 2
153
+ }
154
+ },
155
+ "required": [
156
+ "file_id",
157
+ "project_id"
158
+ ]
159
+ }
160
+ },
161
+ {
162
+ "name": "extract_clip",
163
+ "description": "Extract a segment from video or audio file at specific time interval",
164
+ "method": "GET",
165
+ "path": "/extract-clip",
166
+ "input_schema": {
167
+ "type": "object",
168
+ "properties": {
169
+ "file_id": {
170
+ "type": "integer",
171
+ "description": "Source video/audio file ID"
172
+ },
173
+ "project_id": {
174
+ "type": "integer",
175
+ "description": "Project ID"
176
+ },
177
+ "start_time": {
178
+ "type": "number",
179
+ "description": "Start time in seconds",
180
+ "default": 0,
181
+ "minimum": 0
182
+ },
183
+ "end_time": {
184
+ "type": "number",
185
+ "description": "End time in seconds"
186
+ },
187
+ "duration": {
188
+ "type": "number",
189
+ "description": "Duration in seconds (alternative to end_time)",
190
+ "minimum": 0.1
191
+ },
192
+ "output_format": {
193
+ "type": "string",
194
+ "description": "Output format (mp4, webm, mov, mp3, wav, etc.)"
195
+ },
196
+ "include_audio": {
197
+ "type": "boolean",
198
+ "description": "Include audio track",
199
+ "default": true
200
+ },
201
+ "include_video": {
202
+ "type": "boolean",
203
+ "description": "Include video track",
204
+ "default": true
205
+ },
206
+ "fast_copy": {
207
+ "type": "boolean",
208
+ "description": "Use fast copy (no re-encoding) for exact cuts",
209
+ "default": false
210
+ }
211
+ },
212
+ "required": [
213
+ "file_id",
214
+ "project_id"
215
+ ]
216
+ }
217
+ },
218
+ {
219
+ "name": "resize_video",
220
+ "description": "Resize video to different resolution and aspect ratio - perfect for social media (landscape to portrait, square, etc.)",
221
+ "method": "GET",
222
+ "path": "/resize-video",
223
+ "input_schema": {
224
+ "type": "object",
225
+ "properties": {
226
+ "file_id": {
227
+ "type": "integer",
228
+ "description": "Source video file ID"
229
+ },
230
+ "project_id": {
231
+ "type": "integer",
232
+ "description": "Project ID"
233
+ },
234
+ "resolution": {
235
+ "type": "string",
236
+ "description": "Target resolution (e.g., '1280x720', '1920x1080')",
237
+ "pattern": "^\\d+x\\d+$"
238
+ },
239
+ "aspect_ratio": {
240
+ "type": "string",
241
+ "enum": [
242
+ "16:9",
243
+ "9:16",
244
+ "1:1",
245
+ "4:3",
246
+ "3:4",
247
+ "21:9"
248
+ ],
249
+ "description": "Target aspect ratio"
250
+ },
251
+ "width": {
252
+ "type": "integer",
253
+ "description": "Target width (use with aspect_ratio)",
254
+ "minimum": 128,
255
+ "maximum": 4096
256
+ },
257
+ "preset": {
258
+ "type": "string",
259
+ "enum": [
260
+ "social-vertical",
261
+ "social-square",
262
+ "social-landscape"
263
+ ],
264
+ "description": "Use preset: social-vertical (9:16, 1080x1920), social-square (1:1, 1080x1080), social-landscape (16:9, 1920x1080)"
265
+ },
266
+ "crop_mode": {
267
+ "type": "string",
268
+ "enum": [
269
+ "center",
270
+ "top",
271
+ "bottom",
272
+ "left",
273
+ "right"
274
+ ],
275
+ "description": "Crop position",
276
+ "default": "center"
277
+ },
278
+ "fit_mode": {
279
+ "type": "string",
280
+ "enum": [
281
+ "cover",
282
+ "contain",
283
+ "fill"
284
+ ],
285
+ "description": "cover=crop to fill, contain=letterbox, fill=stretch",
286
+ "default": "cover"
287
+ },
288
+ "crf": {
289
+ "type": "integer",
290
+ "description": "Quality (18-28, lower=better)",
291
+ "minimum": 18,
292
+ "maximum": 28,
293
+ "default": 23
294
+ }
295
+ },
296
+ "required": [
297
+ "file_id",
298
+ "project_id"
299
+ ]
300
+ }
301
+ },
302
+ {
303
+ "name": "compress_video",
304
+ "description": "Reduce video file size while maintaining quality - perfect for storage optimization and faster uploads",
305
+ "method": "GET",
306
+ "path": "/compress-video",
307
+ "input_schema": {
308
+ "type": "object",
309
+ "properties": {
310
+ "file_id": {
311
+ "type": "integer",
312
+ "description": "Source video file ID"
313
+ },
314
+ "project_id": {
315
+ "type": "integer",
316
+ "description": "Project ID"
317
+ },
318
+ "quality": {
319
+ "type": "string",
320
+ "enum": [
321
+ "high",
322
+ "medium",
323
+ "low"
324
+ ],
325
+ "description": "Compression quality: high (CRF 20, larger), medium (CRF 23, balanced), low (CRF 28, smaller)",
326
+ "default": "medium"
327
+ },
328
+ "crf": {
329
+ "type": "integer",
330
+ "description": "Custom CRF value (18-28, overrides quality preset)",
331
+ "minimum": 18,
332
+ "maximum": 28
333
+ },
334
+ "maintain_resolution": {
335
+ "type": "boolean",
336
+ "description": "Keep original dimensions",
337
+ "default": true
338
+ }
339
+ },
340
+ "required": [
341
+ "file_id",
342
+ "project_id"
343
+ ]
344
+ }
345
+ },
346
+ {
347
+ "name": "create_gif",
348
+ "description": "Convert video segment to animated GIF - perfect for social media, previews, and reactions",
349
+ "method": "POST",
350
+ "path": "/create-gif",
351
+ "input_schema": {
352
+ "type": "object",
353
+ "properties": {
354
+ "file_id": {
355
+ "type": "integer",
356
+ "description": "Source video file ID"
357
+ },
358
+ "project_id": {
359
+ "type": "integer",
360
+ "description": "Project ID"
361
+ },
362
+ "start_time": {
363
+ "type": "number",
364
+ "description": "Start time in seconds",
365
+ "default": 0,
366
+ "minimum": 0
367
+ },
368
+ "duration": {
369
+ "type": "number",
370
+ "description": "Duration in seconds (max 10 recommended)",
371
+ "default": 5,
372
+ "minimum": 0.5,
373
+ "maximum": 10
374
+ },
375
+ "quality": {
376
+ "type": "string",
377
+ "enum": [
378
+ "low",
379
+ "medium",
380
+ "high"
381
+ ],
382
+ "description": "Quality preset: low (10fps, 320px), medium (10fps, 320px), high (15fps, 480px)",
383
+ "default": "medium"
384
+ },
385
+ "fps": {
386
+ "type": "integer",
387
+ "description": "Custom frame rate (overrides quality)",
388
+ "minimum": 5,
389
+ "maximum": 30
390
+ },
391
+ "size": {
392
+ "type": "integer",
393
+ "description": "Custom width in pixels (overrides quality)",
394
+ "minimum": 200,
395
+ "maximum": 800
396
+ }
397
+ },
398
+ "required": [
399
+ "file_id",
400
+ "project_id"
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "name": "burn_subtitles",
406
+ "description": "Permanently embed subtitle track into video - perfect for social media auto-play and accessibility",
407
+ "method": "GET",
408
+ "path": "/burn-subtitles",
409
+ "input_schema": {
410
+ "type": "object",
411
+ "properties": {
412
+ "file_id": {
413
+ "type": "integer",
414
+ "description": "Source video file ID"
415
+ },
416
+ "project_id": {
417
+ "type": "integer",
418
+ "description": "Project ID"
419
+ },
420
+ "subtitle_file_id": {
421
+ "type": "integer",
422
+ "description": "Subtitle file ID (SRT, VTT, ASS, SSA)"
423
+ },
424
+ "font_size": {
425
+ "type": "integer",
426
+ "description": "Font size in pixels",
427
+ "default": 24,
428
+ "minimum": 12,
429
+ "maximum": 72
430
+ },
431
+ "font_color": {
432
+ "type": "string",
433
+ "description": "Font color (e.g., 'white', 'yellow', '#FFFFFF')",
434
+ "default": "white"
435
+ },
436
+ "position": {
437
+ "type": "string",
438
+ "enum": [
439
+ "bottom",
440
+ "top",
441
+ "center"
442
+ ],
443
+ "description": "Subtitle position",
444
+ "default": "bottom"
445
+ }
446
+ },
447
+ "required": [
448
+ "file_id",
449
+ "project_id",
450
+ "subtitle_file_id"
451
+ ]
452
+ }
453
+ },
454
+ {
455
+ "name": "create_video_grid",
456
+ "description": "Combine multiple videos into single layout - picture-in-picture, side-by-side, and grid layouts",
457
+ "method": "POST",
458
+ "path": "/create-video-grid",
459
+ "input_schema": {
460
+ "type": "object",
461
+ "properties": {
462
+ "project_id": {
463
+ "type": "integer",
464
+ "description": "Project ID"
465
+ },
466
+ "video_files": {
467
+ "type": "array",
468
+ "items": {
469
+ "type": "object",
470
+ "properties": {
471
+ "file_id": {
472
+ "type": "integer",
473
+ "description": "Video file ID"
474
+ },
475
+ "position": {
476
+ "type": "string",
477
+ "description": "Position in layout (e.g., 'main', 'overlay', 'top-right')"
478
+ }
479
+ },
480
+ "required": [
481
+ "file_id"
482
+ ]
483
+ },
484
+ "description": "Array of video files to combine (minimum 2)",
485
+ "minItems": 2,
486
+ "maxItems": 4
487
+ },
488
+ "layout": {
489
+ "type": "string",
490
+ "enum": [
491
+ "picture-in-picture",
492
+ "side-by-side",
493
+ "grid-2x2"
494
+ ],
495
+ "description": "Layout type (currently only picture-in-picture is fully implemented)",
496
+ "default": "picture-in-picture"
497
+ },
498
+ "pip_position": {
499
+ "type": "string",
500
+ "enum": [
501
+ "top-right",
502
+ "top-left",
503
+ "bottom-right",
504
+ "bottom-left"
505
+ ],
506
+ "description": "Picture-in-picture overlay position",
507
+ "default": "top-right"
508
+ }
509
+ },
510
+ "required": [
511
+ "project_id",
512
+ "video_files"
513
+ ]
514
+ }
515
+ }
516
+ ]
517
+ }