@apteva/integrations 0.2.3 → 0.3.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.
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,760 @@
1
+ {
2
+ "slug": "slides",
3
+ "name": "Slides & Presentations",
4
+ "description": "Create, edit, and export presentations with slides, text, images, shapes, charts, tables, and code blocks. Export to PowerPoint (PPTX) or PDF.",
5
+ "logo": "https://www.google.com/s2/favicons?domain=slides.google.com&sz=128",
6
+ "categories": [
7
+ "slides",
8
+ "presentation",
9
+ "powerpoint",
10
+ "pptx",
11
+ "pdf",
12
+ "charts",
13
+ "documents"
14
+ ],
15
+ "base_url": "",
16
+ "auth": {
17
+ "types": [
18
+ "bearer"
19
+ ],
20
+ "headers": {
21
+ "Authorization": "Bearer {{token}}"
22
+ },
23
+ "credential_fields": [
24
+ {
25
+ "name": "token",
26
+ "label": "API Key"
27
+ }
28
+ ]
29
+ },
30
+ "tools": [
31
+ {
32
+ "name": "create_presentation",
33
+ "description": "Create a new presentation with optional theme, settings, and initial slide. Returns the presentation ID for adding slides and elements.",
34
+ "method": "POST",
35
+ "path": "/create-presentation",
36
+ "input_schema": {
37
+ "type": "object",
38
+ "properties": {
39
+ "project_id": {
40
+ "type": "string",
41
+ "description": "Project ID to associate with the presentation"
42
+ },
43
+ "name": {
44
+ "type": "string",
45
+ "description": "Presentation name/title"
46
+ },
47
+ "description": {
48
+ "type": "string",
49
+ "description": "Optional description"
50
+ },
51
+ "theme": {
52
+ "type": "object",
53
+ "description": "Theme settings with colors and fonts",
54
+ "properties": {
55
+ "colors": {
56
+ "type": "object",
57
+ "properties": {
58
+ "primary": {
59
+ "type": "string",
60
+ "description": "Primary color (hex without #)"
61
+ },
62
+ "secondary": {
63
+ "type": "string",
64
+ "description": "Secondary color"
65
+ },
66
+ "background": {
67
+ "type": "string",
68
+ "description": "Background color"
69
+ },
70
+ "text": {
71
+ "type": "string",
72
+ "description": "Text color"
73
+ },
74
+ "accent": {
75
+ "type": "string",
76
+ "description": "Accent color"
77
+ }
78
+ }
79
+ },
80
+ "fonts": {
81
+ "type": "object",
82
+ "properties": {
83
+ "heading": {
84
+ "type": "string",
85
+ "description": "Heading font family"
86
+ },
87
+ "body": {
88
+ "type": "string",
89
+ "description": "Body font family"
90
+ }
91
+ }
92
+ }
93
+ }
94
+ },
95
+ "settings": {
96
+ "type": "object",
97
+ "description": "Presentation settings",
98
+ "properties": {
99
+ "aspect_ratio": {
100
+ "type": "string",
101
+ "enum": [
102
+ "16:9",
103
+ "4:3"
104
+ ],
105
+ "description": "Aspect ratio (default: 16:9)"
106
+ },
107
+ "width": {
108
+ "type": "number",
109
+ "description": "Width in pixels (default: 1920)"
110
+ },
111
+ "height": {
112
+ "type": "number",
113
+ "description": "Height in pixels (default: 1080)"
114
+ }
115
+ }
116
+ },
117
+ "add_initial_slide": {
118
+ "type": "boolean",
119
+ "description": "Add a blank initial slide (default: true)"
120
+ }
121
+ },
122
+ "required": [
123
+ "project_id",
124
+ "name"
125
+ ]
126
+ }
127
+ },
128
+ {
129
+ "name": "get_presentation",
130
+ "description": "Retrieve a presentation with its slides and elements.",
131
+ "method": "GET",
132
+ "path": "/get-presentation",
133
+ "input_schema": {
134
+ "type": "object",
135
+ "properties": {
136
+ "id": {
137
+ "type": "string",
138
+ "description": "Presentation ID"
139
+ },
140
+ "include_slides": {
141
+ "type": "boolean",
142
+ "description": "Include slides in response (default: true)"
143
+ },
144
+ "include_elements": {
145
+ "type": "boolean",
146
+ "description": "Include slide elements (default: true)"
147
+ }
148
+ },
149
+ "required": [
150
+ "id"
151
+ ]
152
+ }
153
+ },
154
+ {
155
+ "name": "list_presentations",
156
+ "description": "List all presentations, optionally filtered by project.",
157
+ "method": "GET",
158
+ "path": "/list-presentations",
159
+ "input_schema": {
160
+ "type": "object",
161
+ "properties": {
162
+ "project_id": {
163
+ "type": "string",
164
+ "description": "Filter by project ID"
165
+ },
166
+ "limit": {
167
+ "type": "number",
168
+ "description": "Max results (default: 50)"
169
+ },
170
+ "offset": {
171
+ "type": "number",
172
+ "description": "Pagination offset"
173
+ }
174
+ }
175
+ }
176
+ },
177
+ {
178
+ "name": "update_presentation",
179
+ "description": "Update presentation metadata, theme, or settings.",
180
+ "method": "PUT",
181
+ "path": "/update-presentation",
182
+ "input_schema": {
183
+ "type": "object",
184
+ "properties": {
185
+ "id": {
186
+ "type": "string",
187
+ "description": "Presentation ID"
188
+ },
189
+ "name": {
190
+ "type": "string",
191
+ "description": "New name"
192
+ },
193
+ "description": {
194
+ "type": "string",
195
+ "description": "New description"
196
+ },
197
+ "theme": {
198
+ "type": "object",
199
+ "description": "Updated theme settings"
200
+ },
201
+ "settings": {
202
+ "type": "object",
203
+ "description": "Updated settings"
204
+ },
205
+ "status": {
206
+ "type": "string",
207
+ "enum": [
208
+ "draft",
209
+ "published",
210
+ "archived"
211
+ ],
212
+ "description": "Presentation status"
213
+ }
214
+ },
215
+ "required": [
216
+ "id"
217
+ ]
218
+ }
219
+ },
220
+ {
221
+ "name": "delete_presentation",
222
+ "description": "Delete a presentation and all its slides/elements.",
223
+ "method": "DELETE",
224
+ "path": "/delete-presentation",
225
+ "input_schema": {
226
+ "type": "object",
227
+ "properties": {
228
+ "id": {
229
+ "type": "string",
230
+ "description": "Presentation ID to delete"
231
+ }
232
+ },
233
+ "required": [
234
+ "id"
235
+ ]
236
+ }
237
+ },
238
+ {
239
+ "name": "duplicate_presentation",
240
+ "description": "Create a copy of an existing presentation with all slides and elements.",
241
+ "method": "GET",
242
+ "path": "/duplicate-presentation",
243
+ "input_schema": {
244
+ "type": "object",
245
+ "properties": {
246
+ "id": {
247
+ "type": "string",
248
+ "description": "Presentation ID to duplicate"
249
+ },
250
+ "new_name": {
251
+ "type": "string",
252
+ "description": "Name for the copy (default: 'Copy of [original]')"
253
+ }
254
+ },
255
+ "required": [
256
+ "id"
257
+ ]
258
+ }
259
+ },
260
+ {
261
+ "name": "add_slide",
262
+ "description": "Add a new slide to a presentation at the specified position.",
263
+ "method": "GET",
264
+ "path": "/add-slide",
265
+ "input_schema": {
266
+ "type": "object",
267
+ "properties": {
268
+ "presentation_id": {
269
+ "type": "string",
270
+ "description": "Presentation ID"
271
+ },
272
+ "position": {
273
+ "type": "number",
274
+ "description": "Position index (0-based). Omit to append at end."
275
+ },
276
+ "layout": {
277
+ "type": "string",
278
+ "enum": [
279
+ "blank",
280
+ "title",
281
+ "title_content",
282
+ "two_column",
283
+ "comparison",
284
+ "section_header"
285
+ ],
286
+ "description": "Slide layout template (default: blank)"
287
+ },
288
+ "background": {
289
+ "type": "object",
290
+ "description": "Background settings",
291
+ "properties": {
292
+ "color": {
293
+ "type": "string",
294
+ "description": "Background color (hex with #)"
295
+ },
296
+ "image_url": {
297
+ "type": "string",
298
+ "description": "Background image URL"
299
+ }
300
+ }
301
+ },
302
+ "notes": {
303
+ "type": "string",
304
+ "description": "Speaker notes"
305
+ }
306
+ },
307
+ "required": [
308
+ "presentation_id"
309
+ ]
310
+ }
311
+ },
312
+ {
313
+ "name": "get_slide",
314
+ "description": "Get a single slide with its elements.",
315
+ "method": "GET",
316
+ "path": "/get-slide",
317
+ "input_schema": {
318
+ "type": "object",
319
+ "properties": {
320
+ "id": {
321
+ "type": "string",
322
+ "description": "Slide ID"
323
+ },
324
+ "include_elements": {
325
+ "type": "boolean",
326
+ "description": "Include elements (default: true)"
327
+ }
328
+ },
329
+ "required": [
330
+ "id"
331
+ ]
332
+ }
333
+ },
334
+ {
335
+ "name": "update_slide",
336
+ "description": "Update slide properties like background, layout, or notes.",
337
+ "method": "PUT",
338
+ "path": "/update-slide",
339
+ "input_schema": {
340
+ "type": "object",
341
+ "properties": {
342
+ "id": {
343
+ "type": "string",
344
+ "description": "Slide ID"
345
+ },
346
+ "layout": {
347
+ "type": "string",
348
+ "description": "New layout"
349
+ },
350
+ "background": {
351
+ "type": "object",
352
+ "description": "New background settings"
353
+ },
354
+ "notes": {
355
+ "type": "string",
356
+ "description": "Updated speaker notes"
357
+ }
358
+ },
359
+ "required": [
360
+ "id"
361
+ ]
362
+ }
363
+ },
364
+ {
365
+ "name": "delete_slide",
366
+ "description": "Remove a slide and its elements from a presentation.",
367
+ "method": "DELETE",
368
+ "path": "/delete-slide",
369
+ "input_schema": {
370
+ "type": "object",
371
+ "properties": {
372
+ "id": {
373
+ "type": "string",
374
+ "description": "Slide ID to delete"
375
+ }
376
+ },
377
+ "required": [
378
+ "id"
379
+ ]
380
+ }
381
+ },
382
+ {
383
+ "name": "duplicate_slide",
384
+ "description": "Create a copy of a slide with all its elements.",
385
+ "method": "GET",
386
+ "path": "/duplicate-slide",
387
+ "input_schema": {
388
+ "type": "object",
389
+ "properties": {
390
+ "id": {
391
+ "type": "string",
392
+ "description": "Slide ID to duplicate"
393
+ },
394
+ "position": {
395
+ "type": "number",
396
+ "description": "Position for the copy (default: after original)"
397
+ }
398
+ },
399
+ "required": [
400
+ "id"
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "name": "reorder_slides",
406
+ "description": "Change the order of slides in a presentation.",
407
+ "method": "GET",
408
+ "path": "/reorder-slides",
409
+ "input_schema": {
410
+ "type": "object",
411
+ "properties": {
412
+ "presentation_id": {
413
+ "type": "string",
414
+ "description": "Presentation ID"
415
+ },
416
+ "slide_order": {
417
+ "type": "array",
418
+ "items": {
419
+ "type": "string"
420
+ },
421
+ "description": "Array of slide IDs in desired order"
422
+ }
423
+ },
424
+ "required": [
425
+ "presentation_id",
426
+ "slide_order"
427
+ ]
428
+ }
429
+ },
430
+ {
431
+ "name": "add_element",
432
+ "description": "Add an element (text, image, shape, chart, table, or code) to a slide.",
433
+ "method": "GET",
434
+ "path": "/add-element",
435
+ "input_schema": {
436
+ "type": "object",
437
+ "properties": {
438
+ "slide_id": {
439
+ "type": "string",
440
+ "description": "Slide ID"
441
+ },
442
+ "element_type": {
443
+ "type": "string",
444
+ "enum": [
445
+ "text",
446
+ "image",
447
+ "shape",
448
+ "chart",
449
+ "table",
450
+ "code",
451
+ "video"
452
+ ],
453
+ "description": "Type of element"
454
+ },
455
+ "position": {
456
+ "type": "object",
457
+ "description": "Position and size (percentages 0-100)",
458
+ "properties": {
459
+ "x": {
460
+ "type": "number",
461
+ "description": "X position (%)"
462
+ },
463
+ "y": {
464
+ "type": "number",
465
+ "description": "Y position (%)"
466
+ },
467
+ "width": {
468
+ "type": "number",
469
+ "description": "Width (%)"
470
+ },
471
+ "height": {
472
+ "type": "number",
473
+ "description": "Height (%)"
474
+ }
475
+ },
476
+ "required": [
477
+ "x",
478
+ "y",
479
+ "width",
480
+ "height"
481
+ ]
482
+ },
483
+ "content": {
484
+ "type": "object",
485
+ "description": "Element content (varies by type)",
486
+ "properties": {
487
+ "text": {
488
+ "type": "string",
489
+ "description": "Text content (for text/shape)"
490
+ },
491
+ "url": {
492
+ "type": "string",
493
+ "description": "Image URL (for image)"
494
+ },
495
+ "shape": {
496
+ "type": "string",
497
+ "enum": [
498
+ "rect",
499
+ "ellipse",
500
+ "roundRect",
501
+ "triangle",
502
+ "line",
503
+ "arrow",
504
+ "star"
505
+ ],
506
+ "description": "Shape type"
507
+ },
508
+ "chartType": {
509
+ "type": "string",
510
+ "enum": [
511
+ "bar",
512
+ "line",
513
+ "pie",
514
+ "doughnut",
515
+ "area",
516
+ "scatter"
517
+ ],
518
+ "description": "Chart type"
519
+ },
520
+ "data": {
521
+ "type": "array",
522
+ "description": "Chart data series"
523
+ },
524
+ "rows": {
525
+ "type": "array",
526
+ "description": "Table rows (array of arrays)"
527
+ },
528
+ "code": {
529
+ "type": "string",
530
+ "description": "Code content"
531
+ }
532
+ }
533
+ },
534
+ "style": {
535
+ "type": "object",
536
+ "description": "Styling options",
537
+ "properties": {
538
+ "fontSize": {
539
+ "type": "number"
540
+ },
541
+ "fontFace": {
542
+ "type": "string"
543
+ },
544
+ "color": {
545
+ "type": "string"
546
+ },
547
+ "bold": {
548
+ "type": "boolean"
549
+ },
550
+ "italic": {
551
+ "type": "boolean"
552
+ },
553
+ "align": {
554
+ "type": "string",
555
+ "enum": [
556
+ "left",
557
+ "center",
558
+ "right"
559
+ ]
560
+ },
561
+ "fill": {
562
+ "type": "object",
563
+ "properties": {
564
+ "color": {
565
+ "type": "string"
566
+ }
567
+ }
568
+ },
569
+ "line": {
570
+ "type": "object",
571
+ "properties": {
572
+ "color": {
573
+ "type": "string"
574
+ },
575
+ "width": {
576
+ "type": "number"
577
+ }
578
+ }
579
+ }
580
+ }
581
+ },
582
+ "z_index": {
583
+ "type": "number",
584
+ "description": "Layer order (higher = on top)"
585
+ }
586
+ },
587
+ "required": [
588
+ "slide_id",
589
+ "element_type",
590
+ "position",
591
+ "content"
592
+ ]
593
+ }
594
+ },
595
+ {
596
+ "name": "update_element",
597
+ "description": "Modify an existing element's position, content, or style.",
598
+ "method": "PUT",
599
+ "path": "/update-element",
600
+ "input_schema": {
601
+ "type": "object",
602
+ "properties": {
603
+ "id": {
604
+ "type": "string",
605
+ "description": "Element ID"
606
+ },
607
+ "position": {
608
+ "type": "object",
609
+ "description": "New position/size"
610
+ },
611
+ "content": {
612
+ "type": "object",
613
+ "description": "Updated content"
614
+ },
615
+ "style": {
616
+ "type": "object",
617
+ "description": "Updated styling"
618
+ },
619
+ "z_index": {
620
+ "type": "number",
621
+ "description": "New layer order"
622
+ }
623
+ },
624
+ "required": [
625
+ "id"
626
+ ]
627
+ }
628
+ },
629
+ {
630
+ "name": "delete_element",
631
+ "description": "Remove an element from a slide.",
632
+ "method": "DELETE",
633
+ "path": "/delete-element",
634
+ "input_schema": {
635
+ "type": "object",
636
+ "properties": {
637
+ "id": {
638
+ "type": "string",
639
+ "description": "Element ID to delete"
640
+ }
641
+ },
642
+ "required": [
643
+ "id"
644
+ ]
645
+ }
646
+ },
647
+ {
648
+ "name": "export_pptx",
649
+ "description": "Export presentation to PowerPoint (PPTX) format. Returns a download URL or base64 data.",
650
+ "method": "GET",
651
+ "path": "/export-pptx",
652
+ "input_schema": {
653
+ "type": "object",
654
+ "properties": {
655
+ "presentation_id": {
656
+ "type": "string",
657
+ "description": "Presentation ID to export"
658
+ },
659
+ "save_to_storage": {
660
+ "type": "boolean",
661
+ "description": "Save to storage and return URL (default: true). If false, returns base64."
662
+ }
663
+ },
664
+ "required": [
665
+ "presentation_id"
666
+ ]
667
+ }
668
+ },
669
+ {
670
+ "name": "export_pdf",
671
+ "description": "Export presentation to PDF format. Each slide becomes a page.",
672
+ "method": "GET",
673
+ "path": "/export-pdf",
674
+ "input_schema": {
675
+ "type": "object",
676
+ "properties": {
677
+ "presentation_id": {
678
+ "type": "string",
679
+ "description": "Presentation ID to export"
680
+ },
681
+ "width": {
682
+ "type": "number",
683
+ "description": "PDF width in pixels (default: 1920)"
684
+ },
685
+ "height": {
686
+ "type": "number",
687
+ "description": "PDF height in pixels (default: 1080)"
688
+ },
689
+ "save_to_storage": {
690
+ "type": "boolean",
691
+ "description": "Save to storage and return URL (default: true)"
692
+ }
693
+ },
694
+ "required": [
695
+ "presentation_id"
696
+ ]
697
+ }
698
+ },
699
+ {
700
+ "name": "render_image",
701
+ "description": "Render a single slide as a PNG image.",
702
+ "method": "GET",
703
+ "path": "/render-image",
704
+ "input_schema": {
705
+ "type": "object",
706
+ "properties": {
707
+ "slide_id": {
708
+ "type": "string",
709
+ "description": "Slide ID to render"
710
+ },
711
+ "width": {
712
+ "type": "number",
713
+ "description": "Image width (default: 1920)"
714
+ },
715
+ "height": {
716
+ "type": "number",
717
+ "description": "Image height (default: 1080)"
718
+ },
719
+ "format": {
720
+ "type": "string",
721
+ "enum": [
722
+ "png",
723
+ "jpeg"
724
+ ],
725
+ "description": "Image format (default: png)"
726
+ }
727
+ },
728
+ "required": [
729
+ "slide_id"
730
+ ]
731
+ }
732
+ },
733
+ {
734
+ "name": "render_thumbnails",
735
+ "description": "Generate thumbnail images for all slides in a presentation.",
736
+ "method": "GET",
737
+ "path": "/render-thumbnails",
738
+ "input_schema": {
739
+ "type": "object",
740
+ "properties": {
741
+ "presentation_id": {
742
+ "type": "string",
743
+ "description": "Presentation ID"
744
+ },
745
+ "width": {
746
+ "type": "number",
747
+ "description": "Thumbnail width (default: 320)"
748
+ },
749
+ "height": {
750
+ "type": "number",
751
+ "description": "Thumbnail height (default: 180)"
752
+ }
753
+ },
754
+ "required": [
755
+ "presentation_id"
756
+ ]
757
+ }
758
+ }
759
+ ]
760
+ }