@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.
- package/package.json +1 -1
- package/src/apps/activecampaign.json +209 -0
- package/src/apps/activecollab.json +417 -0
- package/src/apps/airtable.json +235 -0
- package/src/apps/alpaca-trading.json +1554 -0
- package/src/apps/amadeus.json +225 -0
- package/src/apps/anthropic-api.json +96 -0
- package/src/apps/apify.json +203 -0
- package/src/apps/apollo.json +748 -0
- package/src/apps/apple-podcasts.json +116 -0
- package/src/apps/archive-api.json +104 -0
- package/src/apps/archive.json +151 -0
- package/src/apps/arduino-cloud.json +301 -0
- package/src/apps/arest.json +492 -0
- package/src/apps/asana.json +184 -0
- package/src/apps/ashby.json +176 -0
- package/src/apps/assemblyai.json +163 -0
- package/src/apps/attio.json +243 -0
- package/src/apps/aws-cloudfront.json +132 -0
- package/src/apps/aws-dynamodb.json +295 -0
- package/src/apps/aws-ec2.json +184 -0
- package/src/apps/aws-lambda.json +361 -0
- package/src/apps/aws-route53.json +110 -0
- package/src/apps/aws-s3.json +303 -0
- package/src/apps/aws-ses.json +556 -0
- package/src/apps/aws-sns.json +217 -0
- package/src/apps/aws-sqs.json +234 -0
- package/src/apps/axiom.json +123 -0
- package/src/apps/beehiiv.json +252 -0
- package/src/apps/binance-trading.json +555 -0
- package/src/apps/bitly.json +175 -0
- package/src/apps/bloobirds.json +246 -0
- package/src/apps/bluesky.json +201 -0
- package/src/apps/blynk.json +316 -0
- package/src/apps/booking-com.json +144 -0
- package/src/apps/box.json +289 -0
- package/src/apps/brevo.json +1423 -0
- package/src/apps/browse-ai.json +148 -0
- package/src/apps/bunny-cdn.json +330 -0
- package/src/apps/bunny-stream.json +387 -0
- package/src/apps/cal-com.json +240 -0
- package/src/apps/calendly.json +578 -0
- package/src/apps/calflow-calendar.json +706 -0
- package/src/apps/callrail.json +190 -0
- package/src/apps/canva.json +197 -0
- package/src/apps/cartesia.json +201 -0
- package/src/apps/castbase.json +753 -0
- package/src/apps/chargebee.json +226 -0
- package/src/apps/cleanster.json +359 -0
- package/src/apps/clicksend.json +278 -0
- package/src/apps/clickup.json +266 -0
- package/src/apps/clipkit.json +517 -0
- package/src/apps/close.json +359 -0
- package/src/apps/cloudflare.json +329 -0
- package/src/apps/cloudinary.json +164 -0
- package/src/apps/coda.json +288 -0
- package/src/apps/cohere.json +158 -0
- package/src/apps/coinbase.json +268 -0
- package/src/apps/composio.json +146 -0
- package/src/apps/confluence.json +270 -0
- package/src/apps/consensus.json +879 -0
- package/src/apps/contabo.json +733 -0
- package/src/apps/convertkit.json +211 -0
- package/src/apps/core-image.json +426 -0
- package/src/apps/core-video.json +1246 -0
- package/src/apps/craftcloud.json +298 -0
- package/src/apps/datadog.json +401 -0
- package/src/apps/dataforseo.json +1273 -0
- package/src/apps/deepseek.json +150 -0
- package/src/apps/dialpad.json +229 -0
- package/src/apps/discord.json +239 -0
- package/src/apps/dnsimple.json +405 -0
- package/src/apps/docusign.json +214 -0
- package/src/apps/docx.json +282 -0
- package/src/apps/dropbox.json +185 -0
- package/src/apps/duffel.json +231 -0
- package/src/apps/dux-soup.json +694 -0
- package/src/apps/dynadot.json +250 -0
- package/src/apps/elevenlabs.json +327 -0
- package/src/apps/eventbrite-events.json +598 -0
- package/src/apps/facebook-ads.json +1399 -0
- package/src/apps/facebook-api.json +282 -0
- package/src/apps/fal-ai.json +400 -0
- package/src/apps/fathom.json +86 -0
- package/src/apps/figma.json +162 -0
- package/src/apps/filestack.json +159 -0
- package/src/apps/firebase.json +271 -0
- package/src/apps/firecrawl.json +278 -0
- package/src/apps/folk.json +564 -0
- package/src/apps/forecast-app.json +377 -0
- package/src/apps/freshdesk.json +283 -0
- package/src/apps/gemini.json +528 -0
- package/src/apps/ghost.json +439 -0
- package/src/apps/gigs-marketplace.json +1442 -0
- package/src/apps/github.json +1479 -47
- package/src/apps/gitlab.json +448 -0
- package/src/apps/gmail.json +839 -28
- package/src/apps/gohighlevel.json +596 -0
- package/src/apps/google-ads.json +270 -0
- package/src/apps/google-calendar.json +996 -36
- package/src/apps/google-docs.json +278 -0
- package/src/apps/google-drive.json +360 -0
- package/src/apps/google-maps.json +473 -0
- package/src/apps/google-sheets.json +330 -0
- package/src/apps/gooten.json +411 -0
- package/src/apps/gravity-forms.json +385 -0
- package/src/apps/gusto.json +171 -0
- package/src/apps/hackernews.json +221 -0
- package/src/apps/harmonic.json +86 -0
- package/src/apps/helpscout.json +664 -0
- package/src/apps/hetzner.json +658 -0
- package/src/apps/heygen.json +184 -0
- package/src/apps/heyreach.json +388 -0
- package/src/apps/hospitable.json +340 -0
- package/src/apps/hostinger.json +374 -0
- package/src/apps/hubspot.json +682 -0
- package/src/apps/huggingface.json +97 -0
- package/src/apps/hunter.json +504 -0
- package/src/apps/ig-trading.json +849 -0
- package/src/apps/imaterialise.json +349 -0
- package/src/apps/instagram-api.json +538 -0
- package/src/apps/intercom.json +648 -0
- package/src/apps/jira.json +226 -0
- package/src/apps/klaviyo.json +199 -0
- package/src/apps/kling-ai.json +206 -0
- package/src/apps/kraken.json +870 -0
- package/src/apps/late.json +1056 -0
- package/src/apps/leadpages.json +243 -0
- package/src/apps/learning-platform.json +2244 -0
- package/src/apps/linear.json +184 -57
- package/src/apps/linkedin.json +179 -0
- package/src/apps/listen-notes.json +136 -0
- package/src/apps/lnk-bio.json +125 -0
- package/src/apps/loom.json +188 -0
- package/src/apps/luma.json +280 -0
- package/src/apps/mailchimp.json +238 -0
- package/src/apps/mailgun.json +310 -0
- package/src/apps/manychat.json +312 -0
- package/src/apps/marin-software.json +843 -0
- package/src/apps/media-downloader.json +157 -0
- package/src/apps/meetup-events.json +361 -0
- package/src/apps/meshy.json +248 -0
- package/src/apps/microsoft-teams.json +162 -0
- package/src/apps/monday.json +213 -0
- package/src/apps/mongodb-atlas.json +467 -0
- package/src/apps/namecheap.json +252 -0
- package/src/apps/nexar.json +289 -0
- package/src/apps/notion.json +530 -50
- package/src/apps/omnikit-analytics.json +374 -0
- package/src/apps/omnikit-api-gateway.json +660 -0
- package/src/apps/omnikit-billing.json +1781 -0
- package/src/apps/omnikit-cms.json +899 -0
- package/src/apps/omnikit-functions.json +329 -0
- package/src/apps/omnikit-intelligence.json +650 -0
- package/src/apps/omnikit-management.json +214 -0
- package/src/apps/omnikit-media.json +646 -0
- package/src/apps/omnikit-messaging.json +1826 -0
- package/src/apps/omnikit-redirects.json +209 -0
- package/src/apps/omnikit-webhooks.json +269 -0
- package/src/apps/omnikit-workflows.json +323 -0
- package/src/apps/openai-api.json +462 -0
- package/src/apps/openmeteo-weather.json +75 -0
- package/src/apps/optinmonster.json +244 -0
- package/src/apps/paidkit.json +1218 -0
- package/src/apps/paypal.json +254 -0
- package/src/apps/pdf.json +366 -0
- package/src/apps/pipedrive.json +255 -0
- package/src/apps/polymarket.json +653 -0
- package/src/apps/porkbun.json +417 -0
- package/src/apps/portfolio.json +501 -0
- package/src/apps/postmark.json +257 -0
- package/src/apps/printful.json +273 -0
- package/src/apps/printify.json +295 -0
- package/src/apps/producthunt.json +346 -0
- package/src/apps/pushover-notifications.json +113 -0
- package/src/apps/qonto.json +366 -0
- package/src/apps/quickbooks.json +234 -0
- package/src/apps/replicate.json +106 -0
- package/src/apps/rss.json +281 -0
- package/src/apps/salesflow.json +538 -0
- package/src/apps/salesforce-crm.json +216 -0
- package/src/apps/sap.json +256 -0
- package/src/apps/scaleway.json +911 -0
- package/src/apps/sculpteo.json +234 -0
- package/src/apps/sendgrid-email.json +233 -0
- package/src/apps/sendgrid.json +160 -35
- package/src/apps/shapeways.json +188 -0
- package/src/apps/shopify.json +1217 -0
- package/src/apps/skai.json +779 -0
- package/src/apps/slack.json +228 -38
- package/src/apps/slant3d.json +231 -0
- package/src/apps/slides.json +760 -0
- package/src/apps/smartly.json +504 -0
- package/src/apps/snov.json +467 -0
- package/src/apps/socialcast.json +553 -63
- package/src/apps/square.json +274 -0
- package/src/apps/storage-management.json +788 -0
- package/src/apps/storylane.json +180 -0
- package/src/apps/strapi.json +338 -0
- package/src/apps/stripe-payments.json +847 -0
- package/src/apps/stripe.json +472 -35
- package/src/apps/supabase.json +169 -0
- package/src/apps/supademo.json +115 -0
- package/src/apps/taskflow.json +714 -0
- package/src/apps/teamwork.json +457 -0
- package/src/apps/telegram.json +444 -0
- package/src/apps/thinger.json +458 -0
- package/src/apps/ticktick.json +169 -0
- package/src/apps/tiktok-api.json +406 -0
- package/src/apps/todoist.json +151 -0
- package/src/apps/together.json +123 -0
- package/src/apps/torrent.json +267 -0
- package/src/apps/trading.json +1012 -0
- package/src/apps/trading212.json +383 -0
- package/src/apps/trello.json +205 -0
- package/src/apps/tripo.json +157 -0
- package/src/apps/twilio.json +1008 -0
- package/src/apps/twitter-ads.json +875 -0
- package/src/apps/twitter-api.json +1151 -0
- package/src/apps/twitterapiio.json +548 -0
- package/src/apps/typeform.json +210 -0
- package/src/apps/vidforge.json +1020 -0
- package/src/apps/vonage.json +394 -0
- package/src/apps/vultr.json +225 -0
- package/src/apps/webflow.json +223 -0
- package/src/apps/wise.json +273 -0
- package/src/apps/wistia.json +283 -0
- package/src/apps/woocommerce.json +288 -0
- package/src/apps/wordpress.json +1675 -0
- package/src/apps/xero.json +257 -0
- package/src/apps/youtube-api.json +861 -0
- package/src/apps/zendesk.json +295 -0
- package/src/apps/zite.json +173 -0
- package/src/apps/zoho-crm.json +386 -0
- package/src/apps/zoo.json +193 -0
- package/src/apps/zoom.json +334 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "convertkit",
|
|
3
|
+
"name": "ConvertKit",
|
|
4
|
+
"description": "ConvertKit (Kit) email marketing platform for creators. Manage subscribers, forms, sequences, tags, and email automations.",
|
|
5
|
+
"logo": "https://www.google.com/s2/favicons?domain=kit.com&sz=128",
|
|
6
|
+
"categories": [
|
|
7
|
+
"email-marketing",
|
|
8
|
+
"newsletters",
|
|
9
|
+
"subscribers",
|
|
10
|
+
"creators",
|
|
11
|
+
"automation"
|
|
12
|
+
],
|
|
13
|
+
"base_url": "https://api.kit.com/v4",
|
|
14
|
+
"auth": {
|
|
15
|
+
"types": [
|
|
16
|
+
"bearer"
|
|
17
|
+
],
|
|
18
|
+
"headers": {
|
|
19
|
+
"Authorization": "Bearer {{token}}"
|
|
20
|
+
},
|
|
21
|
+
"credential_fields": [
|
|
22
|
+
{
|
|
23
|
+
"name": "token",
|
|
24
|
+
"label": "Api Key",
|
|
25
|
+
"description": "ConvertKit API key (find at app.convertkit.com/account_settings/advanced_settings)"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"tools": [
|
|
30
|
+
{
|
|
31
|
+
"name": "list_subscribers",
|
|
32
|
+
"description": "List all subscribers in your ConvertKit/Kit account. Supports cursor-based pagination and filtering by status. Returns subscriber email, name, state, and metadata.",
|
|
33
|
+
"method": "GET",
|
|
34
|
+
"path": "/subscribers",
|
|
35
|
+
"input_schema": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"status": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"enum": [
|
|
41
|
+
"active",
|
|
42
|
+
"cancelled",
|
|
43
|
+
"bounced",
|
|
44
|
+
"complained"
|
|
45
|
+
],
|
|
46
|
+
"description": "Filter subscribers by status."
|
|
47
|
+
},
|
|
48
|
+
"after": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"description": "Pagination cursor to get the next page of results."
|
|
51
|
+
},
|
|
52
|
+
"before": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Pagination cursor to get the previous page of results."
|
|
55
|
+
},
|
|
56
|
+
"per_page": {
|
|
57
|
+
"type": "integer",
|
|
58
|
+
"description": "Number of subscribers per page (default 50).",
|
|
59
|
+
"default": 50
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "get_subscriber",
|
|
66
|
+
"description": "Retrieve a specific subscriber by their ID. Returns full subscriber details including email, name, state, created date, and custom fields.",
|
|
67
|
+
"method": "GET",
|
|
68
|
+
"path": "/subscribers/%7B%7Bparam.subscriber_id%7D%7D",
|
|
69
|
+
"input_schema": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"properties": {
|
|
72
|
+
"subscriber_id": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "The unique ID of the subscriber to retrieve."
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"required": [
|
|
78
|
+
"subscriber_id"
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "create_subscriber",
|
|
84
|
+
"description": "Create a new subscriber in ConvertKit/Kit. Optionally add them directly to a specific form. Provide the subscriber's email address and optional first name and custom fields.",
|
|
85
|
+
"method": "POST",
|
|
86
|
+
"path": "/subscribers",
|
|
87
|
+
"input_schema": {
|
|
88
|
+
"type": "object",
|
|
89
|
+
"properties": {
|
|
90
|
+
"email_address": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "The subscriber's email address."
|
|
93
|
+
},
|
|
94
|
+
"first_name": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "The subscriber's first name."
|
|
97
|
+
},
|
|
98
|
+
"state": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"enum": [
|
|
101
|
+
"active",
|
|
102
|
+
"inactive"
|
|
103
|
+
],
|
|
104
|
+
"description": "The subscriber's state. Defaults to 'active'.",
|
|
105
|
+
"default": "active"
|
|
106
|
+
},
|
|
107
|
+
"fields": {
|
|
108
|
+
"type": "object",
|
|
109
|
+
"description": "Custom field values as key-value pairs (e.g. {\"last_name\": \"Doe\", \"company\": \"Acme\"})."
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"required": [
|
|
113
|
+
"email_address"
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "list_forms",
|
|
119
|
+
"description": "List all forms in your ConvertKit/Kit account. Returns form names, types, IDs, and subscriber counts. Supports cursor-based pagination.",
|
|
120
|
+
"method": "GET",
|
|
121
|
+
"path": "/forms",
|
|
122
|
+
"input_schema": {
|
|
123
|
+
"type": "object",
|
|
124
|
+
"properties": {
|
|
125
|
+
"status": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"enum": [
|
|
128
|
+
"active",
|
|
129
|
+
"archived",
|
|
130
|
+
"trashed",
|
|
131
|
+
"all"
|
|
132
|
+
],
|
|
133
|
+
"description": "Filter forms by status. Defaults to 'active'."
|
|
134
|
+
},
|
|
135
|
+
"after": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"description": "Pagination cursor to get the next page of results."
|
|
138
|
+
},
|
|
139
|
+
"per_page": {
|
|
140
|
+
"type": "integer",
|
|
141
|
+
"description": "Number of forms per page.",
|
|
142
|
+
"default": 50
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "list_sequences",
|
|
149
|
+
"description": "List all email sequences (autoresponders) in your ConvertKit/Kit account. Returns sequence names, IDs, and subscriber counts.",
|
|
150
|
+
"method": "GET",
|
|
151
|
+
"path": "/sequences",
|
|
152
|
+
"input_schema": {
|
|
153
|
+
"type": "object",
|
|
154
|
+
"properties": {
|
|
155
|
+
"after": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"description": "Pagination cursor to get the next page of results."
|
|
158
|
+
},
|
|
159
|
+
"per_page": {
|
|
160
|
+
"type": "integer",
|
|
161
|
+
"description": "Number of sequences per page.",
|
|
162
|
+
"default": 50
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "list_tags",
|
|
169
|
+
"description": "List all tags in your ConvertKit/Kit account. Returns tag names, IDs, and subscriber counts. Tags are used to organize and segment subscribers.",
|
|
170
|
+
"method": "GET",
|
|
171
|
+
"path": "/tags",
|
|
172
|
+
"input_schema": {
|
|
173
|
+
"type": "object",
|
|
174
|
+
"properties": {
|
|
175
|
+
"after": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"description": "Pagination cursor to get the next page of results."
|
|
178
|
+
},
|
|
179
|
+
"per_page": {
|
|
180
|
+
"type": "integer",
|
|
181
|
+
"description": "Number of tags per page.",
|
|
182
|
+
"default": 50
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"name": "tag_subscriber",
|
|
189
|
+
"description": "Apply a tag to an existing subscriber. The subscriber must already exist in your account. Use List Tags to find the tag ID and List/Get Subscriber to find the subscriber ID.",
|
|
190
|
+
"method": "POST",
|
|
191
|
+
"path": "/tags/%7B%7Bparam.tag_id%7D%7D/subscribers/%7B%7Bparam.subscriber_id%7D%7D",
|
|
192
|
+
"input_schema": {
|
|
193
|
+
"type": "object",
|
|
194
|
+
"properties": {
|
|
195
|
+
"tag_id": {
|
|
196
|
+
"type": "string",
|
|
197
|
+
"description": "The ID of the tag to apply."
|
|
198
|
+
},
|
|
199
|
+
"subscriber_id": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "The ID of the subscriber to tag."
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"required": [
|
|
205
|
+
"tag_id",
|
|
206
|
+
"subscriber_id"
|
|
207
|
+
]
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
]
|
|
211
|
+
}
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "core-image",
|
|
3
|
+
"name": "CoreImage",
|
|
4
|
+
"description": "Core image processing toolkit - resize, crop, optimize, rotate, and apply effects to images. Convert between formats (jpg, png, webp, avif) with intelligent caching.",
|
|
5
|
+
"logo": "https://cdn-icons-png.flaticon.com/512/3342/3342137.png",
|
|
6
|
+
"categories": [
|
|
7
|
+
"image",
|
|
8
|
+
"processing",
|
|
9
|
+
"resize",
|
|
10
|
+
"crop",
|
|
11
|
+
"optimize",
|
|
12
|
+
"compress",
|
|
13
|
+
"convert",
|
|
14
|
+
"effects",
|
|
15
|
+
"sharp"
|
|
16
|
+
],
|
|
17
|
+
"base_url": "",
|
|
18
|
+
"auth": {
|
|
19
|
+
"types": [
|
|
20
|
+
"bearer"
|
|
21
|
+
],
|
|
22
|
+
"headers": {
|
|
23
|
+
"Authorization": "Bearer {{token}}"
|
|
24
|
+
},
|
|
25
|
+
"credential_fields": [
|
|
26
|
+
{
|
|
27
|
+
"name": "token",
|
|
28
|
+
"label": "API Key"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"tools": [
|
|
33
|
+
{
|
|
34
|
+
"name": "resize",
|
|
35
|
+
"description": "Resize an image to specific dimensions with intelligent fit strategies. Perfect for creating thumbnails, social media images, or converting landscape to square/portrait formats.",
|
|
36
|
+
"method": "GET",
|
|
37
|
+
"path": "/resize",
|
|
38
|
+
"input_schema": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"properties": {
|
|
41
|
+
"file_id": {
|
|
42
|
+
"type": "integer",
|
|
43
|
+
"description": "ID of the image file to resize"
|
|
44
|
+
},
|
|
45
|
+
"width": {
|
|
46
|
+
"type": "integer",
|
|
47
|
+
"description": "Target width in pixels"
|
|
48
|
+
},
|
|
49
|
+
"height": {
|
|
50
|
+
"type": "integer",
|
|
51
|
+
"description": "Target height in pixels"
|
|
52
|
+
},
|
|
53
|
+
"fit": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"enum": [
|
|
56
|
+
"cover",
|
|
57
|
+
"contain",
|
|
58
|
+
"fill",
|
|
59
|
+
"inside",
|
|
60
|
+
"outside"
|
|
61
|
+
],
|
|
62
|
+
"default": "cover",
|
|
63
|
+
"description": "Fit strategy: 'cover' (crop to fill), 'contain' (fit within, may letterbox), 'fill' (stretch), 'inside' (fit within dimensions), 'outside' (cover minimum dimension)"
|
|
64
|
+
},
|
|
65
|
+
"position": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"enum": [
|
|
68
|
+
"centre",
|
|
69
|
+
"center",
|
|
70
|
+
"top",
|
|
71
|
+
"bottom",
|
|
72
|
+
"left",
|
|
73
|
+
"right",
|
|
74
|
+
"entropy",
|
|
75
|
+
"attention"
|
|
76
|
+
],
|
|
77
|
+
"default": "centre",
|
|
78
|
+
"description": "Crop position when using cover fit. 'entropy' finds busy areas, 'attention' finds focal points using AI"
|
|
79
|
+
},
|
|
80
|
+
"format": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"enum": [
|
|
83
|
+
"jpg",
|
|
84
|
+
"jpeg",
|
|
85
|
+
"png",
|
|
86
|
+
"webp",
|
|
87
|
+
"avif"
|
|
88
|
+
],
|
|
89
|
+
"description": "Output format (defaults to original format)"
|
|
90
|
+
},
|
|
91
|
+
"quality": {
|
|
92
|
+
"type": "integer",
|
|
93
|
+
"minimum": 1,
|
|
94
|
+
"maximum": 100,
|
|
95
|
+
"default": 80,
|
|
96
|
+
"description": "Output quality (1-100, higher is better)"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"required": [
|
|
100
|
+
"file_id"
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "crop",
|
|
106
|
+
"description": "Crop or zoom into an image. Use pixels for exact regions, or percentages for zoom (e.g., 2x zoom center: left_percent=25, top_percent=25, width_percent=50, height_percent=50). Use same width_percent and height_percent to keep original aspect ratio.",
|
|
107
|
+
"method": "GET",
|
|
108
|
+
"path": "/crop",
|
|
109
|
+
"input_schema": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"file_id": {
|
|
113
|
+
"type": "integer",
|
|
114
|
+
"description": "ID of the image file to crop"
|
|
115
|
+
},
|
|
116
|
+
"x": {
|
|
117
|
+
"type": "integer",
|
|
118
|
+
"description": "Left coordinate in pixels (for exact crop)"
|
|
119
|
+
},
|
|
120
|
+
"y": {
|
|
121
|
+
"type": "integer",
|
|
122
|
+
"description": "Top coordinate in pixels (for exact crop)"
|
|
123
|
+
},
|
|
124
|
+
"width": {
|
|
125
|
+
"type": "integer",
|
|
126
|
+
"description": "Width of crop area in pixels"
|
|
127
|
+
},
|
|
128
|
+
"height": {
|
|
129
|
+
"type": "integer",
|
|
130
|
+
"description": "Height of crop area in pixels"
|
|
131
|
+
},
|
|
132
|
+
"left_percent": {
|
|
133
|
+
"type": "number",
|
|
134
|
+
"description": "Left offset as % (0-100). For 2x zoom center use 25, for 3x use 33.3"
|
|
135
|
+
},
|
|
136
|
+
"top_percent": {
|
|
137
|
+
"type": "number",
|
|
138
|
+
"description": "Top offset as % (0-100). For 2x zoom center use 25, for 3x use 33.3"
|
|
139
|
+
},
|
|
140
|
+
"width_percent": {
|
|
141
|
+
"type": "number",
|
|
142
|
+
"description": "Crop width as % (0-100). For 2x zoom use 50, for 3x use 33.3. Use same as height_percent to keep aspect ratio"
|
|
143
|
+
},
|
|
144
|
+
"height_percent": {
|
|
145
|
+
"type": "number",
|
|
146
|
+
"description": "Crop height as % (0-100). For 2x zoom use 50, for 3x use 33.3. Use same as width_percent to keep aspect ratio"
|
|
147
|
+
},
|
|
148
|
+
"smart_crop": {
|
|
149
|
+
"type": "boolean",
|
|
150
|
+
"default": false,
|
|
151
|
+
"description": "Enable AI-powered smart cropping to find the best crop area"
|
|
152
|
+
},
|
|
153
|
+
"gravity": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"enum": [
|
|
156
|
+
"center",
|
|
157
|
+
"centre",
|
|
158
|
+
"north",
|
|
159
|
+
"south",
|
|
160
|
+
"east",
|
|
161
|
+
"west",
|
|
162
|
+
"entropy",
|
|
163
|
+
"attention"
|
|
164
|
+
],
|
|
165
|
+
"default": "center",
|
|
166
|
+
"description": "Crop gravity for smart crop. 'entropy' finds busy areas, 'attention' uses AI to find focal points"
|
|
167
|
+
},
|
|
168
|
+
"format": {
|
|
169
|
+
"type": "string",
|
|
170
|
+
"enum": [
|
|
171
|
+
"jpg",
|
|
172
|
+
"jpeg",
|
|
173
|
+
"png",
|
|
174
|
+
"webp",
|
|
175
|
+
"avif"
|
|
176
|
+
],
|
|
177
|
+
"description": "Output format (defaults to original)"
|
|
178
|
+
},
|
|
179
|
+
"quality": {
|
|
180
|
+
"type": "integer",
|
|
181
|
+
"minimum": 1,
|
|
182
|
+
"maximum": 100,
|
|
183
|
+
"default": 80,
|
|
184
|
+
"description": "Output quality (1-100)"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"required": [
|
|
188
|
+
"file_id"
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "optimize",
|
|
194
|
+
"description": "Compress and optimize an image to reduce file size while maintaining visual quality. Supports format conversion and can generate WebP/AVIF variants.",
|
|
195
|
+
"method": "GET",
|
|
196
|
+
"path": "/optimize",
|
|
197
|
+
"input_schema": {
|
|
198
|
+
"type": "object",
|
|
199
|
+
"properties": {
|
|
200
|
+
"file_id": {
|
|
201
|
+
"type": "integer",
|
|
202
|
+
"description": "ID of the image file to optimize"
|
|
203
|
+
},
|
|
204
|
+
"level": {
|
|
205
|
+
"type": "string",
|
|
206
|
+
"enum": [
|
|
207
|
+
"light",
|
|
208
|
+
"medium",
|
|
209
|
+
"aggressive"
|
|
210
|
+
],
|
|
211
|
+
"default": "medium",
|
|
212
|
+
"description": "Optimization level: 'light' (90% quality), 'medium' (80%), 'aggressive' (60%)"
|
|
213
|
+
},
|
|
214
|
+
"convert_to": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"enum": [
|
|
217
|
+
"jpg",
|
|
218
|
+
"jpeg",
|
|
219
|
+
"png",
|
|
220
|
+
"webp",
|
|
221
|
+
"avif"
|
|
222
|
+
],
|
|
223
|
+
"description": "Convert to a different format"
|
|
224
|
+
},
|
|
225
|
+
"quality": {
|
|
226
|
+
"type": "integer",
|
|
227
|
+
"minimum": 1,
|
|
228
|
+
"maximum": 100,
|
|
229
|
+
"description": "Override quality setting (1-100)"
|
|
230
|
+
},
|
|
231
|
+
"progressive": {
|
|
232
|
+
"type": "boolean",
|
|
233
|
+
"default": true,
|
|
234
|
+
"description": "Generate progressive/interlaced image for faster perceived loading"
|
|
235
|
+
},
|
|
236
|
+
"strip_metadata": {
|
|
237
|
+
"type": "boolean",
|
|
238
|
+
"default": true,
|
|
239
|
+
"description": "Remove EXIF and other metadata to reduce file size"
|
|
240
|
+
},
|
|
241
|
+
"generate_variants": {
|
|
242
|
+
"type": "boolean",
|
|
243
|
+
"default": false,
|
|
244
|
+
"description": "Also generate WebP and AVIF variants for modern browser support"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
"required": [
|
|
248
|
+
"file_id"
|
|
249
|
+
]
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"name": "rotate",
|
|
254
|
+
"description": "Rotate an image by any angle, flip horizontally/vertically, or auto-rotate based on EXIF orientation data.",
|
|
255
|
+
"method": "GET",
|
|
256
|
+
"path": "/rotate",
|
|
257
|
+
"input_schema": {
|
|
258
|
+
"type": "object",
|
|
259
|
+
"properties": {
|
|
260
|
+
"file_id": {
|
|
261
|
+
"type": "integer",
|
|
262
|
+
"description": "ID of the image file to rotate"
|
|
263
|
+
},
|
|
264
|
+
"angle": {
|
|
265
|
+
"type": "number",
|
|
266
|
+
"description": "Rotation angle in degrees (positive = clockwise). Common values: 90, 180, 270"
|
|
267
|
+
},
|
|
268
|
+
"auto_rotate": {
|
|
269
|
+
"type": "boolean",
|
|
270
|
+
"default": true,
|
|
271
|
+
"description": "Auto-rotate based on EXIF orientation (fixes phone photos)"
|
|
272
|
+
},
|
|
273
|
+
"flip_horizontal": {
|
|
274
|
+
"type": "boolean",
|
|
275
|
+
"default": false,
|
|
276
|
+
"description": "Mirror/flip the image horizontally"
|
|
277
|
+
},
|
|
278
|
+
"flip_vertical": {
|
|
279
|
+
"type": "boolean",
|
|
280
|
+
"default": false,
|
|
281
|
+
"description": "Flip the image vertically"
|
|
282
|
+
},
|
|
283
|
+
"background": {
|
|
284
|
+
"type": "string",
|
|
285
|
+
"description": "Background color for rotated corners (hex like '#ffffff' or color name)"
|
|
286
|
+
},
|
|
287
|
+
"format": {
|
|
288
|
+
"type": "string",
|
|
289
|
+
"enum": [
|
|
290
|
+
"jpg",
|
|
291
|
+
"jpeg",
|
|
292
|
+
"png",
|
|
293
|
+
"webp",
|
|
294
|
+
"avif"
|
|
295
|
+
],
|
|
296
|
+
"description": "Output format (defaults to original)"
|
|
297
|
+
},
|
|
298
|
+
"quality": {
|
|
299
|
+
"type": "integer",
|
|
300
|
+
"minimum": 1,
|
|
301
|
+
"maximum": 100,
|
|
302
|
+
"default": 80,
|
|
303
|
+
"description": "Output quality (1-100)"
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"required": [
|
|
307
|
+
"file_id"
|
|
308
|
+
]
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"name": "effects",
|
|
313
|
+
"description": "Apply visual effects and adjustments to an image: blur, sharpen, grayscale, brightness, saturation, tint, borders, and more.",
|
|
314
|
+
"method": "GET",
|
|
315
|
+
"path": "/effects",
|
|
316
|
+
"input_schema": {
|
|
317
|
+
"type": "object",
|
|
318
|
+
"properties": {
|
|
319
|
+
"file_id": {
|
|
320
|
+
"type": "integer",
|
|
321
|
+
"description": "ID of the image file to apply effects to"
|
|
322
|
+
},
|
|
323
|
+
"effects": {
|
|
324
|
+
"type": "object",
|
|
325
|
+
"description": "Effects to apply",
|
|
326
|
+
"properties": {
|
|
327
|
+
"brightness": {
|
|
328
|
+
"type": "number",
|
|
329
|
+
"minimum": -100,
|
|
330
|
+
"maximum": 100,
|
|
331
|
+
"description": "Brightness adjustment (-100 to 100, 0 = no change)"
|
|
332
|
+
},
|
|
333
|
+
"saturation": {
|
|
334
|
+
"type": "number",
|
|
335
|
+
"minimum": -100,
|
|
336
|
+
"maximum": 100,
|
|
337
|
+
"description": "Saturation adjustment (-100 to 100, 0 = no change)"
|
|
338
|
+
},
|
|
339
|
+
"grayscale": {
|
|
340
|
+
"type": "boolean",
|
|
341
|
+
"description": "Convert to grayscale/black-and-white"
|
|
342
|
+
},
|
|
343
|
+
"negate": {
|
|
344
|
+
"type": "boolean",
|
|
345
|
+
"description": "Invert colors (negative)"
|
|
346
|
+
},
|
|
347
|
+
"blur": {
|
|
348
|
+
"type": "number",
|
|
349
|
+
"minimum": 0.3,
|
|
350
|
+
"maximum": 100,
|
|
351
|
+
"description": "Gaussian blur sigma (0.3-100, higher = more blur)"
|
|
352
|
+
},
|
|
353
|
+
"sharpen": {
|
|
354
|
+
"type": "object",
|
|
355
|
+
"description": "Sharpen settings",
|
|
356
|
+
"properties": {
|
|
357
|
+
"sigma": {
|
|
358
|
+
"type": "number",
|
|
359
|
+
"default": 1,
|
|
360
|
+
"description": "Sharpen sigma"
|
|
361
|
+
},
|
|
362
|
+
"flat": {
|
|
363
|
+
"type": "number",
|
|
364
|
+
"default": 1,
|
|
365
|
+
"description": "Flat areas threshold"
|
|
366
|
+
},
|
|
367
|
+
"jagged": {
|
|
368
|
+
"type": "number",
|
|
369
|
+
"default": 2,
|
|
370
|
+
"description": "Jagged areas threshold"
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
"tint": {
|
|
375
|
+
"type": "string",
|
|
376
|
+
"description": "Tint color (hex like '#ff0000' for red tint)"
|
|
377
|
+
},
|
|
378
|
+
"median": {
|
|
379
|
+
"type": "integer",
|
|
380
|
+
"minimum": 1,
|
|
381
|
+
"maximum": 10,
|
|
382
|
+
"description": "Median filter for noise reduction (1-10)"
|
|
383
|
+
},
|
|
384
|
+
"border": {
|
|
385
|
+
"type": "object",
|
|
386
|
+
"description": "Add a border",
|
|
387
|
+
"properties": {
|
|
388
|
+
"width": {
|
|
389
|
+
"type": "integer",
|
|
390
|
+
"description": "Border width in pixels"
|
|
391
|
+
},
|
|
392
|
+
"color": {
|
|
393
|
+
"type": "string",
|
|
394
|
+
"description": "Border color (hex or name)"
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
},
|
|
400
|
+
"format": {
|
|
401
|
+
"type": "string",
|
|
402
|
+
"enum": [
|
|
403
|
+
"jpg",
|
|
404
|
+
"jpeg",
|
|
405
|
+
"png",
|
|
406
|
+
"webp",
|
|
407
|
+
"avif"
|
|
408
|
+
],
|
|
409
|
+
"description": "Output format (defaults to original)"
|
|
410
|
+
},
|
|
411
|
+
"quality": {
|
|
412
|
+
"type": "integer",
|
|
413
|
+
"minimum": 1,
|
|
414
|
+
"maximum": 100,
|
|
415
|
+
"default": 80,
|
|
416
|
+
"description": "Output quality (1-100)"
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
"required": [
|
|
420
|
+
"file_id",
|
|
421
|
+
"effects"
|
|
422
|
+
]
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
]
|
|
426
|
+
}
|