@apteva/integrations 0.2.2 → 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 (237) 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 +1480 -48
  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-storage.json +1 -1
  160. package/src/apps/omnikit-webhooks.json +269 -0
  161. package/src/apps/omnikit-workflows.json +323 -0
  162. package/src/apps/openai-api.json +462 -0
  163. package/src/apps/openmeteo-weather.json +75 -0
  164. package/src/apps/optinmonster.json +244 -0
  165. package/src/apps/paidkit.json +1218 -0
  166. package/src/apps/paypal.json +254 -0
  167. package/src/apps/pdf.json +366 -0
  168. package/src/apps/pipedrive.json +255 -0
  169. package/src/apps/polymarket.json +653 -0
  170. package/src/apps/porkbun.json +417 -0
  171. package/src/apps/portfolio.json +501 -0
  172. package/src/apps/postmark.json +257 -0
  173. package/src/apps/printful.json +273 -0
  174. package/src/apps/printify.json +295 -0
  175. package/src/apps/producthunt.json +346 -0
  176. package/src/apps/pushover-notifications.json +113 -0
  177. package/src/apps/qonto.json +366 -0
  178. package/src/apps/quickbooks.json +234 -0
  179. package/src/apps/replicate.json +106 -0
  180. package/src/apps/rss.json +281 -0
  181. package/src/apps/salesflow.json +538 -0
  182. package/src/apps/salesforce-crm.json +216 -0
  183. package/src/apps/sap.json +256 -0
  184. package/src/apps/scaleway.json +911 -0
  185. package/src/apps/sculpteo.json +234 -0
  186. package/src/apps/sendgrid-email.json +233 -0
  187. package/src/apps/sendgrid.json +160 -35
  188. package/src/apps/shapeways.json +188 -0
  189. package/src/apps/shopify.json +1217 -0
  190. package/src/apps/skai.json +779 -0
  191. package/src/apps/slack.json +227 -37
  192. package/src/apps/slant3d.json +231 -0
  193. package/src/apps/slides.json +760 -0
  194. package/src/apps/smartly.json +504 -0
  195. package/src/apps/snov.json +467 -0
  196. package/src/apps/socialcast.json +554 -64
  197. package/src/apps/square.json +274 -0
  198. package/src/apps/storage-management.json +788 -0
  199. package/src/apps/storylane.json +180 -0
  200. package/src/apps/strapi.json +338 -0
  201. package/src/apps/stripe-payments.json +847 -0
  202. package/src/apps/stripe.json +472 -35
  203. package/src/apps/supabase.json +169 -0
  204. package/src/apps/supademo.json +115 -0
  205. package/src/apps/taskflow.json +714 -0
  206. package/src/apps/teamwork.json +457 -0
  207. package/src/apps/telegram.json +444 -0
  208. package/src/apps/thinger.json +458 -0
  209. package/src/apps/ticktick.json +169 -0
  210. package/src/apps/tiktok-api.json +406 -0
  211. package/src/apps/todoist.json +151 -0
  212. package/src/apps/together.json +123 -0
  213. package/src/apps/torrent.json +267 -0
  214. package/src/apps/trading.json +1012 -0
  215. package/src/apps/trading212.json +383 -0
  216. package/src/apps/trello.json +205 -0
  217. package/src/apps/tripo.json +157 -0
  218. package/src/apps/twilio.json +1008 -0
  219. package/src/apps/twitter-ads.json +875 -0
  220. package/src/apps/twitter-api.json +1151 -0
  221. package/src/apps/twitterapiio.json +548 -0
  222. package/src/apps/typeform.json +210 -0
  223. package/src/apps/vidforge.json +1020 -0
  224. package/src/apps/vonage.json +394 -0
  225. package/src/apps/vultr.json +225 -0
  226. package/src/apps/webflow.json +223 -0
  227. package/src/apps/wise.json +273 -0
  228. package/src/apps/wistia.json +283 -0
  229. package/src/apps/woocommerce.json +288 -0
  230. package/src/apps/wordpress.json +1675 -0
  231. package/src/apps/xero.json +257 -0
  232. package/src/apps/youtube-api.json +861 -0
  233. package/src/apps/zendesk.json +295 -0
  234. package/src/apps/zite.json +173 -0
  235. package/src/apps/zoho-crm.json +386 -0
  236. package/src/apps/zoo.json +193 -0
  237. package/src/apps/zoom.json +334 -0
@@ -0,0 +1,528 @@
1
+ {
2
+ "slug": "gemini",
3
+ "name": "Google Gemini & Veo",
4
+ "description": "Google AI platform - Gemini text generation, Veo video generation, Imagen image generation, and embeddings",
5
+ "logo": "https://www.gstatic.com/lamda/images/gemini_favicon_f069958c85030456e93de685481c559f160ea06b.png",
6
+ "categories": [
7
+ "ai",
8
+ "video-generation",
9
+ "text-generation",
10
+ "image-generation",
11
+ "embeddings",
12
+ "gemini",
13
+ "veo",
14
+ "imagen",
15
+ "google-ai"
16
+ ],
17
+ "base_url": "",
18
+ "auth": {
19
+ "types": [
20
+ "api_key"
21
+ ],
22
+ "headers": {
23
+ "x-goog-api-key": "{{token}}"
24
+ },
25
+ "credential_fields": [
26
+ {
27
+ "name": "token",
28
+ "label": "Api Key",
29
+ "description": "Your Google AI API Key (get from https://aistudio.google.com/apikey)"
30
+ }
31
+ ]
32
+ },
33
+ "tools": [
34
+ {
35
+ "name": "generate_content",
36
+ "description": "Generate text content using Gemini models. Provide a contents array with message parts following the Gemini API format. Supports multimodal input (text, images, audio, video).",
37
+ "method": "POST",
38
+ "path": "/generate-content",
39
+ "input_schema": {
40
+ "type": "object",
41
+ "properties": {
42
+ "model": {
43
+ "type": "string",
44
+ "description": "Gemini model to use (e.g. 'gemini-2.5-flash', 'gemini-2.5-pro')",
45
+ "default": "gemini-2.5-flash"
46
+ },
47
+ "contents": {
48
+ "type": "array",
49
+ "description": "Array of message objects. Each has 'role' ('user' or 'model') and 'parts' array. Parts can be {text: '...'} or {inlineData: {mimeType: '...', data: 'base64...'}}",
50
+ "items": {
51
+ "type": "object",
52
+ "properties": {
53
+ "role": {
54
+ "type": "string",
55
+ "enum": [
56
+ "user",
57
+ "model"
58
+ ],
59
+ "description": "Message role"
60
+ },
61
+ "parts": {
62
+ "type": "array",
63
+ "description": "Content parts - text, images, etc.",
64
+ "items": {
65
+ "type": "object"
66
+ }
67
+ }
68
+ },
69
+ "required": [
70
+ "role",
71
+ "parts"
72
+ ]
73
+ }
74
+ },
75
+ "systemInstruction": {
76
+ "type": "object",
77
+ "description": "System instruction. Format: {parts: [{text: '...'}]}",
78
+ "properties": {
79
+ "parts": {
80
+ "type": "array",
81
+ "items": {
82
+ "type": "object",
83
+ "properties": {
84
+ "text": {
85
+ "type": "string"
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ },
92
+ "generationConfig": {
93
+ "type": "object",
94
+ "description": "Generation parameters",
95
+ "properties": {
96
+ "temperature": {
97
+ "type": "number",
98
+ "description": "Creativity (0-2)",
99
+ "default": 1
100
+ },
101
+ "maxOutputTokens": {
102
+ "type": "integer",
103
+ "description": "Maximum tokens to generate",
104
+ "default": 8192
105
+ },
106
+ "topP": {
107
+ "type": "number",
108
+ "description": "Nucleus sampling threshold"
109
+ },
110
+ "topK": {
111
+ "type": "integer",
112
+ "description": "Top-K sampling"
113
+ },
114
+ "stopSequences": {
115
+ "type": "array",
116
+ "items": {
117
+ "type": "string"
118
+ },
119
+ "description": "Stop sequences"
120
+ }
121
+ }
122
+ },
123
+ "safetySettings": {
124
+ "type": "array",
125
+ "description": "Safety filter settings",
126
+ "items": {
127
+ "type": "object",
128
+ "properties": {
129
+ "category": {
130
+ "type": "string"
131
+ },
132
+ "threshold": {
133
+ "type": "string"
134
+ }
135
+ }
136
+ }
137
+ }
138
+ },
139
+ "required": [
140
+ "contents"
141
+ ]
142
+ }
143
+ },
144
+ {
145
+ "name": "generate_image",
146
+ "description": "Generate images using Gemini models. Uses the native Gemini image generation with responseModalities set to Image. Supports gemini-2.5-flash-image (fast, ~1024px) and gemini-3-pro-image-preview (up to 4K, text rendering).",
147
+ "method": "POST",
148
+ "path": "/generate-image",
149
+ "input_schema": {
150
+ "type": "object",
151
+ "properties": {
152
+ "model": {
153
+ "type": "string",
154
+ "description": "Image model: 'gemini-2.5-flash-image' (fast) or 'gemini-3-pro-image-preview' (4K, text rendering)",
155
+ "enum": [
156
+ "gemini-2.5-flash-image",
157
+ "gemini-3-pro-image-preview"
158
+ ],
159
+ "default": "gemini-2.5-flash-image"
160
+ },
161
+ "contents": {
162
+ "type": "array",
163
+ "description": "Content array. For text-to-image: [{parts: [{text: 'your prompt'}]}]. For image editing: [{parts: [{text: 'edit instruction'}, {inlineData: {mimeType: 'image/png', data: 'base64...'}}]}]",
164
+ "items": {
165
+ "type": "object",
166
+ "properties": {
167
+ "parts": {
168
+ "type": "array",
169
+ "items": {
170
+ "type": "object"
171
+ }
172
+ }
173
+ }
174
+ }
175
+ },
176
+ "generationConfig": {
177
+ "type": "object",
178
+ "description": "Must include responseModalities: ['Image']. Can also include imageConfig with aspectRatio and imageSize.",
179
+ "properties": {
180
+ "responseModalities": {
181
+ "type": "array",
182
+ "description": "Must be ['Image'] for image generation",
183
+ "items": {
184
+ "type": "string"
185
+ },
186
+ "default": [
187
+ "Image"
188
+ ]
189
+ },
190
+ "imageConfig": {
191
+ "type": "object",
192
+ "description": "Image configuration",
193
+ "properties": {
194
+ "aspectRatio": {
195
+ "type": "string",
196
+ "enum": [
197
+ "1:1",
198
+ "2:3",
199
+ "3:2",
200
+ "3:4",
201
+ "4:3",
202
+ "4:5",
203
+ "5:4",
204
+ "9:16",
205
+ "16:9",
206
+ "21:9"
207
+ ],
208
+ "default": "1:1"
209
+ },
210
+ "numberOfImages": {
211
+ "type": "integer",
212
+ "minimum": 1,
213
+ "maximum": 8,
214
+ "default": 1
215
+ },
216
+ "imageSize": {
217
+ "type": "string",
218
+ "enum": [
219
+ "1K",
220
+ "2K",
221
+ "4K"
222
+ ],
223
+ "description": "Image size (Pro model only)"
224
+ }
225
+ }
226
+ },
227
+ "thinkingConfig": {
228
+ "type": "object",
229
+ "description": "Thinking mode for complex prompts (Pro model only)",
230
+ "properties": {
231
+ "thinkingBudget": {
232
+ "type": "integer",
233
+ "default": 1024
234
+ }
235
+ }
236
+ }
237
+ }
238
+ },
239
+ "safetySettings": {
240
+ "type": "array",
241
+ "description": "Safety filter settings",
242
+ "items": {
243
+ "type": "object",
244
+ "properties": {
245
+ "category": {
246
+ "type": "string"
247
+ },
248
+ "threshold": {
249
+ "type": "string"
250
+ }
251
+ }
252
+ }
253
+ }
254
+ },
255
+ "required": [
256
+ "contents",
257
+ "generationConfig"
258
+ ]
259
+ }
260
+ },
261
+ {
262
+ "name": "start_video_generation",
263
+ "description": "Generate video from text prompt or animate images using Google Veo. Supports 16:9 landscape and 9:16 portrait, up to 1080p. Returns an operation name to poll with check-video-status.",
264
+ "method": "POST",
265
+ "path": "/start-video-generation",
266
+ "input_schema": {
267
+ "type": "object",
268
+ "properties": {
269
+ "model": {
270
+ "type": "string",
271
+ "enum": [
272
+ "veo-3.1-generate-preview",
273
+ "veo-3.0-generate-001",
274
+ "veo-3.0-fast-generate-001",
275
+ "veo-2.0-generate-001"
276
+ ],
277
+ "description": "Veo model to use",
278
+ "default": "veo-3.1-generate-preview"
279
+ },
280
+ "instances": {
281
+ "type": "array",
282
+ "description": "Array with one instance object. Must include 'prompt'. Optional: 'image' (for image-to-video with bytesBase64Encoded and mimeType), 'referenceImages' array.",
283
+ "items": {
284
+ "type": "object",
285
+ "properties": {
286
+ "prompt": {
287
+ "type": "string",
288
+ "description": "Text prompt describing the video"
289
+ },
290
+ "image": {
291
+ "type": "object",
292
+ "description": "Initial image for image-to-video",
293
+ "properties": {
294
+ "bytesBase64Encoded": {
295
+ "type": "string"
296
+ },
297
+ "mimeType": {
298
+ "type": "string"
299
+ }
300
+ }
301
+ },
302
+ "referenceImages": {
303
+ "type": "array",
304
+ "description": "Up to 3 reference images",
305
+ "items": {
306
+ "type": "object",
307
+ "properties": {
308
+ "image": {
309
+ "type": "object",
310
+ "properties": {
311
+ "bytesBase64Encoded": {
312
+ "type": "string"
313
+ },
314
+ "mimeType": {
315
+ "type": "string"
316
+ }
317
+ }
318
+ },
319
+ "referenceType": {
320
+ "type": "string",
321
+ "enum": [
322
+ "asset",
323
+ "style"
324
+ ]
325
+ }
326
+ }
327
+ },
328
+ "maxItems": 3
329
+ }
330
+ },
331
+ "required": [
332
+ "prompt"
333
+ ]
334
+ }
335
+ },
336
+ "parameters": {
337
+ "type": "object",
338
+ "description": "Generation parameters",
339
+ "properties": {
340
+ "negativePrompt": {
341
+ "type": "string",
342
+ "description": "What NOT to include"
343
+ },
344
+ "aspectRatio": {
345
+ "type": "string",
346
+ "enum": [
347
+ "16:9",
348
+ "9:16"
349
+ ],
350
+ "default": "16:9"
351
+ },
352
+ "resolution": {
353
+ "type": "string",
354
+ "enum": [
355
+ "720p",
356
+ "1080p"
357
+ ],
358
+ "default": "720p"
359
+ },
360
+ "personGeneration": {
361
+ "type": "string",
362
+ "enum": [
363
+ "allow_all",
364
+ "allow_adult",
365
+ "dont_allow"
366
+ ]
367
+ },
368
+ "seed": {
369
+ "type": "integer",
370
+ "description": "Seed for consistency"
371
+ }
372
+ }
373
+ }
374
+ },
375
+ "required": [
376
+ "instances"
377
+ ]
378
+ }
379
+ },
380
+ {
381
+ "name": "check_video_status",
382
+ "description": "Check the status of a Veo video generation operation. Returns done=true with video URL when complete, or progress percentage when in progress.",
383
+ "method": "GET",
384
+ "path": "/check-video-status",
385
+ "input_schema": {
386
+ "type": "object",
387
+ "properties": {
388
+ "operationName": {
389
+ "type": "string",
390
+ "description": "Operation name from start-video-generation response (e.g. 'operations/xxx')"
391
+ }
392
+ },
393
+ "required": [
394
+ "operationName"
395
+ ]
396
+ }
397
+ },
398
+ {
399
+ "name": "download_video",
400
+ "description": "Download a completed video from Veo generation using the video URL returned by check-video-status",
401
+ "method": "GET",
402
+ "path": "/download-video",
403
+ "input_schema": {
404
+ "type": "object",
405
+ "properties": {
406
+ "videoUrl": {
407
+ "type": "string",
408
+ "format": "uri",
409
+ "description": "Video URL from check-video-status response"
410
+ }
411
+ },
412
+ "required": [
413
+ "videoUrl"
414
+ ]
415
+ }
416
+ },
417
+ {
418
+ "name": "create_embedding",
419
+ "description": "Create text embeddings using Gemini embedding models. Returns a vector of float values for semantic search, classification, or clustering.",
420
+ "method": "POST",
421
+ "path": "/create-embedding",
422
+ "input_schema": {
423
+ "type": "object",
424
+ "properties": {
425
+ "model": {
426
+ "type": "string",
427
+ "description": "Embedding model",
428
+ "default": "text-embedding-004"
429
+ },
430
+ "content": {
431
+ "type": "object",
432
+ "description": "Content to embed. Format: {parts: [{text: '...'}]}",
433
+ "properties": {
434
+ "parts": {
435
+ "type": "array",
436
+ "items": {
437
+ "type": "object",
438
+ "properties": {
439
+ "text": {
440
+ "type": "string"
441
+ }
442
+ }
443
+ }
444
+ }
445
+ }
446
+ },
447
+ "taskType": {
448
+ "type": "string",
449
+ "enum": [
450
+ "RETRIEVAL_QUERY",
451
+ "RETRIEVAL_DOCUMENT",
452
+ "SEMANTIC_SIMILARITY",
453
+ "CLASSIFICATION",
454
+ "CLUSTERING"
455
+ ],
456
+ "description": "Task type for optimal embeddings"
457
+ },
458
+ "title": {
459
+ "type": "string",
460
+ "description": "Optional title for RETRIEVAL_DOCUMENT task type"
461
+ }
462
+ },
463
+ "required": [
464
+ "content"
465
+ ]
466
+ }
467
+ },
468
+ {
469
+ "name": "count_tokens",
470
+ "description": "Count tokens in content for any Gemini model. Returns totalTokens count.",
471
+ "method": "POST",
472
+ "path": "/count-tokens",
473
+ "input_schema": {
474
+ "type": "object",
475
+ "properties": {
476
+ "model": {
477
+ "type": "string",
478
+ "description": "Model to count tokens for",
479
+ "default": "gemini-2.5-flash"
480
+ },
481
+ "contents": {
482
+ "type": "array",
483
+ "description": "Content to count tokens for. Format: [{parts: [{text: '...'}]}]",
484
+ "items": {
485
+ "type": "object",
486
+ "properties": {
487
+ "parts": {
488
+ "type": "array",
489
+ "items": {
490
+ "type": "object",
491
+ "properties": {
492
+ "text": {
493
+ "type": "string"
494
+ }
495
+ }
496
+ }
497
+ }
498
+ }
499
+ }
500
+ }
501
+ },
502
+ "required": [
503
+ "contents"
504
+ ]
505
+ }
506
+ },
507
+ {
508
+ "name": "list_models",
509
+ "description": "List all available Google AI models (Gemini, Veo, Imagen) with their capabilities and limits",
510
+ "method": "GET",
511
+ "path": "/list-models",
512
+ "input_schema": {
513
+ "type": "object",
514
+ "properties": {
515
+ "pageSize": {
516
+ "type": "integer",
517
+ "description": "Maximum number of models to return",
518
+ "default": 50
519
+ },
520
+ "pageToken": {
521
+ "type": "string",
522
+ "description": "Pagination token from previous response"
523
+ }
524
+ }
525
+ }
526
+ }
527
+ ]
528
+ }