posterly-mcp-server 0.35.0 → 0.36.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.
@@ -19,6 +19,8 @@ export const instagramSettingsSchema = z.object({
19
19
  media_alt_texts: z.record(z.string(), z.string()).optional(),
20
20
  reel_cover_url: z.string().optional(),
21
21
  reel_thumb_offset: z.number().nonnegative().optional(),
22
+ is_ai_generated: z.boolean().optional().describe('Label the parent Instagram media container as AI-generated. For carousels, set on the parent only.'),
23
+ audio_id: z.string().optional().describe('Licensed Instagram audio ID for Reels. Meta-linked Facebook Login accounts only.'),
22
24
  });
23
25
  export const platformSettingsSchema = z.object({
24
26
  __type: z.string().optional(),
@@ -41,6 +43,15 @@ export const platformSettingsSchema = z.object({
41
43
  topic_tag: z.string().optional(), // Threads single discovery topic tag
42
44
  share_to_instagram: z.boolean().optional(), // Threads: also share the published post to the linked Instagram account as a Story
43
45
  text_attachment: z.record(z.string(), z.unknown()).optional(),
46
+ is_ghost_post: z.boolean().optional(),
47
+ is_spoiler: z.boolean().optional(),
48
+ is_spoiler_media: z.boolean().optional(),
49
+ enable_reply_approvals: z.boolean().optional(),
50
+ text_entities: z.array(z.record(z.string(), z.unknown())).optional(),
51
+ gif_attachment: z.object({
52
+ gif_id: z.string(),
53
+ provider: z.enum(['GIPHY']).optional(),
54
+ }).optional(),
44
55
  // Facebook
45
56
  text_format_preset_id: z.string().optional(),
46
57
  // LinkedIn
@@ -49,6 +60,8 @@ export const platformSettingsSchema = z.object({
49
60
  mentions: z.array(z.record(z.string(), z.unknown())).optional(),
50
61
  thumbnail_url: z.string().optional(),
51
62
  thumbnail_method: z.string().optional(),
63
+ content_call_to_action_label: z.enum(['APPLY', 'DOWNLOAD', 'VIEW_QUOTE', 'LEARN_MORE', 'SIGN_UP', 'SUBSCRIBE', 'REGISTER', 'JOIN', 'ATTEND', 'REQUEST_DEMO', 'SEE_MORE', 'BUY_NOW', 'SHOP_NOW']).optional(),
64
+ content_landing_page: z.string().optional(),
52
65
  // TikTok
53
66
  privacy_level: z.string().optional(),
54
67
  allow_comment: z.boolean().optional(),
@@ -72,20 +85,33 @@ export const platformSettingsSchema = z.object({
72
85
  cover_image_url: z.string().optional(),
73
86
  video_cover_url: z.string().optional(),
74
87
  cover_image_method: z.enum(['upload', 'frame', 'api']).optional(),
88
+ product_tags: z.array(z.union([z.string(), z.record(z.string(), z.unknown())])).optional(),
75
89
  // Google Business
76
90
  event: z.record(z.string(), z.unknown()).optional(),
77
91
  offer: z.record(z.string(), z.unknown()).optional(),
78
92
  cta: z.record(z.string(), z.unknown()).optional(),
93
+ recurrence: z.record(z.string(), z.unknown()).optional(),
79
94
  // YouTube
80
95
  notify_subscribers: z.boolean().optional(),
81
96
  add_shorts_hashtag: z.boolean().optional(),
82
- // Telegram inline CTA buttons
97
+ brand_partner: z.string().optional(),
98
+ // Telegram
83
99
  buttons: z.array(z.object({ text: z.string(), url: z.string() })).optional(),
100
+ start_timestamp: z.number().nonnegative().optional(),
101
+ is_live_photo: z.boolean().optional(),
84
102
  // Bluesky
85
103
  langs: z.array(z.string()).optional(),
86
104
  content_label: z.enum(['sexual', 'nudity', 'porn', 'graphic-media']).optional(), // Bluesky content warning
87
105
  quote_url: z.string().optional(), // Bluesky post URL/AT-URI to quote
88
106
  disable_quotes: z.boolean().optional(), // Bluesky: prevent quote-posts of this post
107
+ quoted_status_id: z.string().optional(), // Mastodon quote
108
+ visibility: z.enum(['public', 'unlisted', 'private']).optional(),
109
+ spoiler_text: z.string().optional(),
110
+ markdown: z.boolean().optional(), // Slack Block Kit markdown
111
+ blocks: z.array(z.record(z.string(), z.unknown())).optional(), // Slack Block Kit
112
+ paid_partnership: z.boolean().optional(), // X paid partnership
113
+ is_ai_generated: z.boolean().optional(),
114
+ audio_id: z.string().optional(),
89
115
  // tags (z.array of strings) also serve as Bluesky hidden discovery tags
90
116
  // AI-content disclosure (TikTok is_aigc, X made_with_ai, YouTube containsSyntheticMedia, Pinterest ai_disclosures)
91
117
  ai_generated: z.boolean().optional(),
@@ -186,7 +212,7 @@ export const createPostTool = {
186
212
  'Provide either account_id OR username+platform to identify the account. If scheduled_at is omitted, the post publishes immediately. If workspace_id is omitted, the server resolves one from the social account, falling back to the caller\'s default (personal) workspace - pass workspace_id explicitly if the user has more than one workspace.\n\n' +
187
213
  'MEDIA URLS: Posterly storage URLs are used as-is. Third-party HTTP(S) media URLs are copied into Posterly storage before the post is saved, so API-created posts do not later fail on expired signed URLs. Short-lived signed URLs must still be live when this tool runs. You can also call `upload_media_from_url` first if you want to upload once and reuse the returned Posterly URL across posts.\n\n' +
188
214
  'THREADS: Pass `thread_posts` (an array of 2+ strings) to schedule a multi-post thread on X (Twitter) or Threads (Meta). The first entry is the lead post; the rest are published as replies in the same chain. X entries are capped at 280 characters each (4000 for verified, 25000 for organization accounts); Threads entries are capped at 500 characters each. When `thread_posts` is set, `caption` is ignored.\n\n' +
189
- 'PLATFORM SETTINGS: Pass `platform_settings` for composer-equivalent controls: Facebook story/reel/backgrounds, YouTube title/privacy/thumbnail/playlist, LinkedIn document titles/mentions/polls (poll.question, poll.options 2-4, poll.duration ONE_DAY|THREE_DAYS|SEVEN_DAYS|FOURTEEN_DAYS; text-only)/video thumbnails, TikTok direct-post privacy/toggles/commercial disclosure, Pinterest post_type (image/video/carousel), board (from pinterest.boards helper), title, link, and cover_image_url (video Pins), GBP event/offer/CTA, X reply settings/polls, Threads reply controls/text attachments, Bluesky languages/alt text, and Instagram feed/story/reel/carousel/native media tags/collaborators/first comments/trial Reels. For Instagram, @username in caption is only a caption mention; `user_tags` creates native media tags and `collaborators` sends co-author invitations only when the selected Meta-linked account reports those capabilities. Call `get_platform_schema` with the account ID first. `instagram_settings` remains as a backwards-compatible alias.\n\n' +
215
+ 'PLATFORM SETTINGS: Pass `platform_settings` for composer-equivalent controls: Facebook story/reel/backgrounds, YouTube title/privacy/thumbnail/brandPartner, LinkedIn document titles/mentions/polls/content_call_to_action_label (including BUY_NOW and SHOP_NOW), TikTok direct-post privacy/toggles/commercial disclosure, Pinterest board/title/link/product_tags, GBP event/offer/CTA/recurrence, X reply settings/polls/paid_partnership, Threads reply controls/text attachments/ghost posts/spoilers/reply approvals/GIPHY, Telegram polls/buttons/video cover/live photo, Slack markdown/blocks, Mastodon visibility/quote/poll (media+poll allowed), and Instagram feed/story/reel/carousel/native media tags/collaborators/first comments/trial Reels/is_ai_generated/audio_id. For Instagram, @username in caption is only a caption mention; `user_tags` creates native media tags and `collaborators` sends co-author invitations only when the selected Meta-linked account reports those capabilities. Call `get_platform_schema` with the account ID first. `instagram_settings` remains as a backwards-compatible alias.\n\n' +
190
216
  'TIKTOK MEDIA: TikTok supports a single video or a photo slideshow of 1 to 35 images, never multiple videos. Image media auto-detects as a slideshow, so you usually do not set post_type or media_type for photos and every image is posted. Pass `platform_settings.media_type: "PHOTO"` to force a slideshow explicitly.',
191
217
  inputSchema: createPostInputSchema,
192
218
  async execute(client, input) {
@@ -50,6 +50,8 @@ export declare const createPostsBatchTool: {
50
50
  media_alt_texts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
51
51
  reel_cover_url: z.ZodOptional<z.ZodString>;
52
52
  reel_thumb_offset: z.ZodOptional<z.ZodNumber>;
53
+ is_ai_generated: z.ZodOptional<z.ZodBoolean>;
54
+ audio_id: z.ZodOptional<z.ZodString>;
53
55
  }, "strip", z.ZodTypeAny, {
54
56
  post_type?: "post" | "feed" | "story" | "reel" | "carousel" | undefined;
55
57
  reel_cover_url?: string | undefined;
@@ -69,6 +71,8 @@ export declare const createPostsBatchTool: {
69
71
  })[] | undefined;
70
72
  first_comment?: string | undefined;
71
73
  media_alt_texts?: Record<string, string> | undefined;
74
+ is_ai_generated?: boolean | undefined;
75
+ audio_id?: string | undefined;
72
76
  }, {
73
77
  post_type?: "post" | "feed" | "story" | "reel" | "carousel" | undefined;
74
78
  reel_cover_url?: string | undefined;
@@ -88,6 +92,8 @@ export declare const createPostsBatchTool: {
88
92
  })[] | undefined;
89
93
  first_comment?: string | undefined;
90
94
  media_alt_texts?: Record<string, string> | undefined;
95
+ is_ai_generated?: boolean | undefined;
96
+ audio_id?: string | undefined;
91
97
  }>>;
92
98
  platform_settings: z.ZodOptional<z.ZodObject<{
93
99
  __type: z.ZodOptional<z.ZodString>;
@@ -120,12 +126,29 @@ export declare const createPostsBatchTool: {
120
126
  topic_tag: z.ZodOptional<z.ZodString>;
121
127
  share_to_instagram: z.ZodOptional<z.ZodBoolean>;
122
128
  text_attachment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
129
+ is_ghost_post: z.ZodOptional<z.ZodBoolean>;
130
+ is_spoiler: z.ZodOptional<z.ZodBoolean>;
131
+ is_spoiler_media: z.ZodOptional<z.ZodBoolean>;
132
+ enable_reply_approvals: z.ZodOptional<z.ZodBoolean>;
133
+ text_entities: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
134
+ gif_attachment: z.ZodOptional<z.ZodObject<{
135
+ gif_id: z.ZodString;
136
+ provider: z.ZodOptional<z.ZodEnum<["GIPHY"]>>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ gif_id: string;
139
+ provider?: "GIPHY" | undefined;
140
+ }, {
141
+ gif_id: string;
142
+ provider?: "GIPHY" | undefined;
143
+ }>>;
123
144
  text_format_preset_id: z.ZodOptional<z.ZodString>;
124
145
  document_title: z.ZodOptional<z.ZodString>;
125
146
  document_filename: z.ZodOptional<z.ZodString>;
126
147
  mentions: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
127
148
  thumbnail_url: z.ZodOptional<z.ZodString>;
128
149
  thumbnail_method: z.ZodOptional<z.ZodString>;
150
+ content_call_to_action_label: z.ZodOptional<z.ZodEnum<["APPLY", "DOWNLOAD", "VIEW_QUOTE", "LEARN_MORE", "SIGN_UP", "SUBSCRIBE", "REGISTER", "JOIN", "ATTEND", "REQUEST_DEMO", "SEE_MORE", "BUY_NOW", "SHOP_NOW"]>>;
151
+ content_landing_page: z.ZodOptional<z.ZodString>;
129
152
  privacy_level: z.ZodOptional<z.ZodString>;
130
153
  allow_comment: z.ZodOptional<z.ZodBoolean>;
131
154
  allow_duet: z.ZodOptional<z.ZodBoolean>;
@@ -146,11 +169,14 @@ export declare const createPostsBatchTool: {
146
169
  cover_image_url: z.ZodOptional<z.ZodString>;
147
170
  video_cover_url: z.ZodOptional<z.ZodString>;
148
171
  cover_image_method: z.ZodOptional<z.ZodEnum<["upload", "frame", "api"]>>;
172
+ product_tags: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>, "many">>;
149
173
  event: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
150
174
  offer: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
151
175
  cta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
176
+ recurrence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
152
177
  notify_subscribers: z.ZodOptional<z.ZodBoolean>;
153
178
  add_shorts_hashtag: z.ZodOptional<z.ZodBoolean>;
179
+ brand_partner: z.ZodOptional<z.ZodString>;
154
180
  buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
155
181
  text: z.ZodString;
156
182
  url: z.ZodString;
@@ -161,10 +187,20 @@ export declare const createPostsBatchTool: {
161
187
  url: string;
162
188
  text: string;
163
189
  }>, "many">>;
190
+ start_timestamp: z.ZodOptional<z.ZodNumber>;
191
+ is_live_photo: z.ZodOptional<z.ZodBoolean>;
164
192
  langs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
165
193
  content_label: z.ZodOptional<z.ZodEnum<["sexual", "nudity", "porn", "graphic-media"]>>;
166
194
  quote_url: z.ZodOptional<z.ZodString>;
167
195
  disable_quotes: z.ZodOptional<z.ZodBoolean>;
196
+ quoted_status_id: z.ZodOptional<z.ZodString>;
197
+ visibility: z.ZodOptional<z.ZodEnum<["public", "unlisted", "private"]>>;
198
+ spoiler_text: z.ZodOptional<z.ZodString>;
199
+ markdown: z.ZodOptional<z.ZodBoolean>;
200
+ blocks: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
201
+ paid_partnership: z.ZodOptional<z.ZodBoolean>;
202
+ is_ai_generated: z.ZodOptional<z.ZodBoolean>;
203
+ audio_id: z.ZodOptional<z.ZodString>;
168
204
  ai_generated: z.ZodOptional<z.ZodBoolean>;
169
205
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
170
206
  __type: z.ZodOptional<z.ZodString>;
@@ -197,12 +233,29 @@ export declare const createPostsBatchTool: {
197
233
  topic_tag: z.ZodOptional<z.ZodString>;
198
234
  share_to_instagram: z.ZodOptional<z.ZodBoolean>;
199
235
  text_attachment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
236
+ is_ghost_post: z.ZodOptional<z.ZodBoolean>;
237
+ is_spoiler: z.ZodOptional<z.ZodBoolean>;
238
+ is_spoiler_media: z.ZodOptional<z.ZodBoolean>;
239
+ enable_reply_approvals: z.ZodOptional<z.ZodBoolean>;
240
+ text_entities: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
241
+ gif_attachment: z.ZodOptional<z.ZodObject<{
242
+ gif_id: z.ZodString;
243
+ provider: z.ZodOptional<z.ZodEnum<["GIPHY"]>>;
244
+ }, "strip", z.ZodTypeAny, {
245
+ gif_id: string;
246
+ provider?: "GIPHY" | undefined;
247
+ }, {
248
+ gif_id: string;
249
+ provider?: "GIPHY" | undefined;
250
+ }>>;
200
251
  text_format_preset_id: z.ZodOptional<z.ZodString>;
201
252
  document_title: z.ZodOptional<z.ZodString>;
202
253
  document_filename: z.ZodOptional<z.ZodString>;
203
254
  mentions: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
204
255
  thumbnail_url: z.ZodOptional<z.ZodString>;
205
256
  thumbnail_method: z.ZodOptional<z.ZodString>;
257
+ content_call_to_action_label: z.ZodOptional<z.ZodEnum<["APPLY", "DOWNLOAD", "VIEW_QUOTE", "LEARN_MORE", "SIGN_UP", "SUBSCRIBE", "REGISTER", "JOIN", "ATTEND", "REQUEST_DEMO", "SEE_MORE", "BUY_NOW", "SHOP_NOW"]>>;
258
+ content_landing_page: z.ZodOptional<z.ZodString>;
206
259
  privacy_level: z.ZodOptional<z.ZodString>;
207
260
  allow_comment: z.ZodOptional<z.ZodBoolean>;
208
261
  allow_duet: z.ZodOptional<z.ZodBoolean>;
@@ -223,11 +276,14 @@ export declare const createPostsBatchTool: {
223
276
  cover_image_url: z.ZodOptional<z.ZodString>;
224
277
  video_cover_url: z.ZodOptional<z.ZodString>;
225
278
  cover_image_method: z.ZodOptional<z.ZodEnum<["upload", "frame", "api"]>>;
279
+ product_tags: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>, "many">>;
226
280
  event: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
227
281
  offer: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
228
282
  cta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
283
+ recurrence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
229
284
  notify_subscribers: z.ZodOptional<z.ZodBoolean>;
230
285
  add_shorts_hashtag: z.ZodOptional<z.ZodBoolean>;
286
+ brand_partner: z.ZodOptional<z.ZodString>;
231
287
  buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
232
288
  text: z.ZodString;
233
289
  url: z.ZodString;
@@ -238,10 +294,20 @@ export declare const createPostsBatchTool: {
238
294
  url: string;
239
295
  text: string;
240
296
  }>, "many">>;
297
+ start_timestamp: z.ZodOptional<z.ZodNumber>;
298
+ is_live_photo: z.ZodOptional<z.ZodBoolean>;
241
299
  langs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
242
300
  content_label: z.ZodOptional<z.ZodEnum<["sexual", "nudity", "porn", "graphic-media"]>>;
243
301
  quote_url: z.ZodOptional<z.ZodString>;
244
302
  disable_quotes: z.ZodOptional<z.ZodBoolean>;
303
+ quoted_status_id: z.ZodOptional<z.ZodString>;
304
+ visibility: z.ZodOptional<z.ZodEnum<["public", "unlisted", "private"]>>;
305
+ spoiler_text: z.ZodOptional<z.ZodString>;
306
+ markdown: z.ZodOptional<z.ZodBoolean>;
307
+ blocks: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
308
+ paid_partnership: z.ZodOptional<z.ZodBoolean>;
309
+ is_ai_generated: z.ZodOptional<z.ZodBoolean>;
310
+ audio_id: z.ZodOptional<z.ZodString>;
245
311
  ai_generated: z.ZodOptional<z.ZodBoolean>;
246
312
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
247
313
  __type: z.ZodOptional<z.ZodString>;
@@ -274,12 +340,29 @@ export declare const createPostsBatchTool: {
274
340
  topic_tag: z.ZodOptional<z.ZodString>;
275
341
  share_to_instagram: z.ZodOptional<z.ZodBoolean>;
276
342
  text_attachment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
343
+ is_ghost_post: z.ZodOptional<z.ZodBoolean>;
344
+ is_spoiler: z.ZodOptional<z.ZodBoolean>;
345
+ is_spoiler_media: z.ZodOptional<z.ZodBoolean>;
346
+ enable_reply_approvals: z.ZodOptional<z.ZodBoolean>;
347
+ text_entities: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
348
+ gif_attachment: z.ZodOptional<z.ZodObject<{
349
+ gif_id: z.ZodString;
350
+ provider: z.ZodOptional<z.ZodEnum<["GIPHY"]>>;
351
+ }, "strip", z.ZodTypeAny, {
352
+ gif_id: string;
353
+ provider?: "GIPHY" | undefined;
354
+ }, {
355
+ gif_id: string;
356
+ provider?: "GIPHY" | undefined;
357
+ }>>;
277
358
  text_format_preset_id: z.ZodOptional<z.ZodString>;
278
359
  document_title: z.ZodOptional<z.ZodString>;
279
360
  document_filename: z.ZodOptional<z.ZodString>;
280
361
  mentions: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
281
362
  thumbnail_url: z.ZodOptional<z.ZodString>;
282
363
  thumbnail_method: z.ZodOptional<z.ZodString>;
364
+ content_call_to_action_label: z.ZodOptional<z.ZodEnum<["APPLY", "DOWNLOAD", "VIEW_QUOTE", "LEARN_MORE", "SIGN_UP", "SUBSCRIBE", "REGISTER", "JOIN", "ATTEND", "REQUEST_DEMO", "SEE_MORE", "BUY_NOW", "SHOP_NOW"]>>;
365
+ content_landing_page: z.ZodOptional<z.ZodString>;
283
366
  privacy_level: z.ZodOptional<z.ZodString>;
284
367
  allow_comment: z.ZodOptional<z.ZodBoolean>;
285
368
  allow_duet: z.ZodOptional<z.ZodBoolean>;
@@ -300,11 +383,14 @@ export declare const createPostsBatchTool: {
300
383
  cover_image_url: z.ZodOptional<z.ZodString>;
301
384
  video_cover_url: z.ZodOptional<z.ZodString>;
302
385
  cover_image_method: z.ZodOptional<z.ZodEnum<["upload", "frame", "api"]>>;
386
+ product_tags: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>, "many">>;
303
387
  event: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
304
388
  offer: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
305
389
  cta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
390
+ recurrence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
306
391
  notify_subscribers: z.ZodOptional<z.ZodBoolean>;
307
392
  add_shorts_hashtag: z.ZodOptional<z.ZodBoolean>;
393
+ brand_partner: z.ZodOptional<z.ZodString>;
308
394
  buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
309
395
  text: z.ZodString;
310
396
  url: z.ZodString;
@@ -315,10 +401,20 @@ export declare const createPostsBatchTool: {
315
401
  url: string;
316
402
  text: string;
317
403
  }>, "many">>;
404
+ start_timestamp: z.ZodOptional<z.ZodNumber>;
405
+ is_live_photo: z.ZodOptional<z.ZodBoolean>;
318
406
  langs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
319
407
  content_label: z.ZodOptional<z.ZodEnum<["sexual", "nudity", "porn", "graphic-media"]>>;
320
408
  quote_url: z.ZodOptional<z.ZodString>;
321
409
  disable_quotes: z.ZodOptional<z.ZodBoolean>;
410
+ quoted_status_id: z.ZodOptional<z.ZodString>;
411
+ visibility: z.ZodOptional<z.ZodEnum<["public", "unlisted", "private"]>>;
412
+ spoiler_text: z.ZodOptional<z.ZodString>;
413
+ markdown: z.ZodOptional<z.ZodBoolean>;
414
+ blocks: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
415
+ paid_partnership: z.ZodOptional<z.ZodBoolean>;
416
+ is_ai_generated: z.ZodOptional<z.ZodBoolean>;
417
+ audio_id: z.ZodOptional<z.ZodString>;
322
418
  ai_generated: z.ZodOptional<z.ZodBoolean>;
323
419
  }, z.ZodTypeAny, "passthrough">>>;
324
420
  workspace_id: z.ZodOptional<z.ZodString>;
@@ -352,6 +448,8 @@ export declare const createPostsBatchTool: {
352
448
  })[] | undefined;
353
449
  first_comment?: string | undefined;
354
450
  media_alt_texts?: Record<string, string> | undefined;
451
+ is_ai_generated?: boolean | undefined;
452
+ audio_id?: string | undefined;
355
453
  } | undefined;
356
454
  platform_settings?: z.objectOutputType<{
357
455
  __type: z.ZodOptional<z.ZodString>;
@@ -384,12 +482,29 @@ export declare const createPostsBatchTool: {
384
482
  topic_tag: z.ZodOptional<z.ZodString>;
385
483
  share_to_instagram: z.ZodOptional<z.ZodBoolean>;
386
484
  text_attachment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
485
+ is_ghost_post: z.ZodOptional<z.ZodBoolean>;
486
+ is_spoiler: z.ZodOptional<z.ZodBoolean>;
487
+ is_spoiler_media: z.ZodOptional<z.ZodBoolean>;
488
+ enable_reply_approvals: z.ZodOptional<z.ZodBoolean>;
489
+ text_entities: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
490
+ gif_attachment: z.ZodOptional<z.ZodObject<{
491
+ gif_id: z.ZodString;
492
+ provider: z.ZodOptional<z.ZodEnum<["GIPHY"]>>;
493
+ }, "strip", z.ZodTypeAny, {
494
+ gif_id: string;
495
+ provider?: "GIPHY" | undefined;
496
+ }, {
497
+ gif_id: string;
498
+ provider?: "GIPHY" | undefined;
499
+ }>>;
387
500
  text_format_preset_id: z.ZodOptional<z.ZodString>;
388
501
  document_title: z.ZodOptional<z.ZodString>;
389
502
  document_filename: z.ZodOptional<z.ZodString>;
390
503
  mentions: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
391
504
  thumbnail_url: z.ZodOptional<z.ZodString>;
392
505
  thumbnail_method: z.ZodOptional<z.ZodString>;
506
+ content_call_to_action_label: z.ZodOptional<z.ZodEnum<["APPLY", "DOWNLOAD", "VIEW_QUOTE", "LEARN_MORE", "SIGN_UP", "SUBSCRIBE", "REGISTER", "JOIN", "ATTEND", "REQUEST_DEMO", "SEE_MORE", "BUY_NOW", "SHOP_NOW"]>>;
507
+ content_landing_page: z.ZodOptional<z.ZodString>;
393
508
  privacy_level: z.ZodOptional<z.ZodString>;
394
509
  allow_comment: z.ZodOptional<z.ZodBoolean>;
395
510
  allow_duet: z.ZodOptional<z.ZodBoolean>;
@@ -410,11 +525,14 @@ export declare const createPostsBatchTool: {
410
525
  cover_image_url: z.ZodOptional<z.ZodString>;
411
526
  video_cover_url: z.ZodOptional<z.ZodString>;
412
527
  cover_image_method: z.ZodOptional<z.ZodEnum<["upload", "frame", "api"]>>;
528
+ product_tags: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>, "many">>;
413
529
  event: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
414
530
  offer: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
415
531
  cta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
532
+ recurrence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
416
533
  notify_subscribers: z.ZodOptional<z.ZodBoolean>;
417
534
  add_shorts_hashtag: z.ZodOptional<z.ZodBoolean>;
535
+ brand_partner: z.ZodOptional<z.ZodString>;
418
536
  buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
419
537
  text: z.ZodString;
420
538
  url: z.ZodString;
@@ -425,10 +543,20 @@ export declare const createPostsBatchTool: {
425
543
  url: string;
426
544
  text: string;
427
545
  }>, "many">>;
546
+ start_timestamp: z.ZodOptional<z.ZodNumber>;
547
+ is_live_photo: z.ZodOptional<z.ZodBoolean>;
428
548
  langs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
429
549
  content_label: z.ZodOptional<z.ZodEnum<["sexual", "nudity", "porn", "graphic-media"]>>;
430
550
  quote_url: z.ZodOptional<z.ZodString>;
431
551
  disable_quotes: z.ZodOptional<z.ZodBoolean>;
552
+ quoted_status_id: z.ZodOptional<z.ZodString>;
553
+ visibility: z.ZodOptional<z.ZodEnum<["public", "unlisted", "private"]>>;
554
+ spoiler_text: z.ZodOptional<z.ZodString>;
555
+ markdown: z.ZodOptional<z.ZodBoolean>;
556
+ blocks: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
557
+ paid_partnership: z.ZodOptional<z.ZodBoolean>;
558
+ is_ai_generated: z.ZodOptional<z.ZodBoolean>;
559
+ audio_id: z.ZodOptional<z.ZodString>;
432
560
  ai_generated: z.ZodOptional<z.ZodBoolean>;
433
561
  }, z.ZodTypeAny, "passthrough"> | undefined;
434
562
  }, {
@@ -461,6 +589,8 @@ export declare const createPostsBatchTool: {
461
589
  })[] | undefined;
462
590
  first_comment?: string | undefined;
463
591
  media_alt_texts?: Record<string, string> | undefined;
592
+ is_ai_generated?: boolean | undefined;
593
+ audio_id?: string | undefined;
464
594
  } | undefined;
465
595
  platform_settings?: z.objectInputType<{
466
596
  __type: z.ZodOptional<z.ZodString>;
@@ -493,12 +623,29 @@ export declare const createPostsBatchTool: {
493
623
  topic_tag: z.ZodOptional<z.ZodString>;
494
624
  share_to_instagram: z.ZodOptional<z.ZodBoolean>;
495
625
  text_attachment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
626
+ is_ghost_post: z.ZodOptional<z.ZodBoolean>;
627
+ is_spoiler: z.ZodOptional<z.ZodBoolean>;
628
+ is_spoiler_media: z.ZodOptional<z.ZodBoolean>;
629
+ enable_reply_approvals: z.ZodOptional<z.ZodBoolean>;
630
+ text_entities: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
631
+ gif_attachment: z.ZodOptional<z.ZodObject<{
632
+ gif_id: z.ZodString;
633
+ provider: z.ZodOptional<z.ZodEnum<["GIPHY"]>>;
634
+ }, "strip", z.ZodTypeAny, {
635
+ gif_id: string;
636
+ provider?: "GIPHY" | undefined;
637
+ }, {
638
+ gif_id: string;
639
+ provider?: "GIPHY" | undefined;
640
+ }>>;
496
641
  text_format_preset_id: z.ZodOptional<z.ZodString>;
497
642
  document_title: z.ZodOptional<z.ZodString>;
498
643
  document_filename: z.ZodOptional<z.ZodString>;
499
644
  mentions: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
500
645
  thumbnail_url: z.ZodOptional<z.ZodString>;
501
646
  thumbnail_method: z.ZodOptional<z.ZodString>;
647
+ content_call_to_action_label: z.ZodOptional<z.ZodEnum<["APPLY", "DOWNLOAD", "VIEW_QUOTE", "LEARN_MORE", "SIGN_UP", "SUBSCRIBE", "REGISTER", "JOIN", "ATTEND", "REQUEST_DEMO", "SEE_MORE", "BUY_NOW", "SHOP_NOW"]>>;
648
+ content_landing_page: z.ZodOptional<z.ZodString>;
502
649
  privacy_level: z.ZodOptional<z.ZodString>;
503
650
  allow_comment: z.ZodOptional<z.ZodBoolean>;
504
651
  allow_duet: z.ZodOptional<z.ZodBoolean>;
@@ -519,11 +666,14 @@ export declare const createPostsBatchTool: {
519
666
  cover_image_url: z.ZodOptional<z.ZodString>;
520
667
  video_cover_url: z.ZodOptional<z.ZodString>;
521
668
  cover_image_method: z.ZodOptional<z.ZodEnum<["upload", "frame", "api"]>>;
669
+ product_tags: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>, "many">>;
522
670
  event: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
523
671
  offer: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
524
672
  cta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
673
+ recurrence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
525
674
  notify_subscribers: z.ZodOptional<z.ZodBoolean>;
526
675
  add_shorts_hashtag: z.ZodOptional<z.ZodBoolean>;
676
+ brand_partner: z.ZodOptional<z.ZodString>;
527
677
  buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
528
678
  text: z.ZodString;
529
679
  url: z.ZodString;
@@ -534,10 +684,20 @@ export declare const createPostsBatchTool: {
534
684
  url: string;
535
685
  text: string;
536
686
  }>, "many">>;
687
+ start_timestamp: z.ZodOptional<z.ZodNumber>;
688
+ is_live_photo: z.ZodOptional<z.ZodBoolean>;
537
689
  langs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
538
690
  content_label: z.ZodOptional<z.ZodEnum<["sexual", "nudity", "porn", "graphic-media"]>>;
539
691
  quote_url: z.ZodOptional<z.ZodString>;
540
692
  disable_quotes: z.ZodOptional<z.ZodBoolean>;
693
+ quoted_status_id: z.ZodOptional<z.ZodString>;
694
+ visibility: z.ZodOptional<z.ZodEnum<["public", "unlisted", "private"]>>;
695
+ spoiler_text: z.ZodOptional<z.ZodString>;
696
+ markdown: z.ZodOptional<z.ZodBoolean>;
697
+ blocks: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
698
+ paid_partnership: z.ZodOptional<z.ZodBoolean>;
699
+ is_ai_generated: z.ZodOptional<z.ZodBoolean>;
700
+ audio_id: z.ZodOptional<z.ZodString>;
541
701
  ai_generated: z.ZodOptional<z.ZodBoolean>;
542
702
  }, z.ZodTypeAny, "passthrough"> | undefined;
543
703
  }>, "many">;
@@ -574,6 +734,8 @@ export declare const createPostsBatchTool: {
574
734
  })[] | undefined;
575
735
  first_comment?: string | undefined;
576
736
  media_alt_texts?: Record<string, string> | undefined;
737
+ is_ai_generated?: boolean | undefined;
738
+ audio_id?: string | undefined;
577
739
  } | undefined;
578
740
  platform_settings?: z.objectOutputType<{
579
741
  __type: z.ZodOptional<z.ZodString>;
@@ -606,12 +768,29 @@ export declare const createPostsBatchTool: {
606
768
  topic_tag: z.ZodOptional<z.ZodString>;
607
769
  share_to_instagram: z.ZodOptional<z.ZodBoolean>;
608
770
  text_attachment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
771
+ is_ghost_post: z.ZodOptional<z.ZodBoolean>;
772
+ is_spoiler: z.ZodOptional<z.ZodBoolean>;
773
+ is_spoiler_media: z.ZodOptional<z.ZodBoolean>;
774
+ enable_reply_approvals: z.ZodOptional<z.ZodBoolean>;
775
+ text_entities: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
776
+ gif_attachment: z.ZodOptional<z.ZodObject<{
777
+ gif_id: z.ZodString;
778
+ provider: z.ZodOptional<z.ZodEnum<["GIPHY"]>>;
779
+ }, "strip", z.ZodTypeAny, {
780
+ gif_id: string;
781
+ provider?: "GIPHY" | undefined;
782
+ }, {
783
+ gif_id: string;
784
+ provider?: "GIPHY" | undefined;
785
+ }>>;
609
786
  text_format_preset_id: z.ZodOptional<z.ZodString>;
610
787
  document_title: z.ZodOptional<z.ZodString>;
611
788
  document_filename: z.ZodOptional<z.ZodString>;
612
789
  mentions: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
613
790
  thumbnail_url: z.ZodOptional<z.ZodString>;
614
791
  thumbnail_method: z.ZodOptional<z.ZodString>;
792
+ content_call_to_action_label: z.ZodOptional<z.ZodEnum<["APPLY", "DOWNLOAD", "VIEW_QUOTE", "LEARN_MORE", "SIGN_UP", "SUBSCRIBE", "REGISTER", "JOIN", "ATTEND", "REQUEST_DEMO", "SEE_MORE", "BUY_NOW", "SHOP_NOW"]>>;
793
+ content_landing_page: z.ZodOptional<z.ZodString>;
615
794
  privacy_level: z.ZodOptional<z.ZodString>;
616
795
  allow_comment: z.ZodOptional<z.ZodBoolean>;
617
796
  allow_duet: z.ZodOptional<z.ZodBoolean>;
@@ -632,11 +811,14 @@ export declare const createPostsBatchTool: {
632
811
  cover_image_url: z.ZodOptional<z.ZodString>;
633
812
  video_cover_url: z.ZodOptional<z.ZodString>;
634
813
  cover_image_method: z.ZodOptional<z.ZodEnum<["upload", "frame", "api"]>>;
814
+ product_tags: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>, "many">>;
635
815
  event: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
636
816
  offer: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
637
817
  cta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
818
+ recurrence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
638
819
  notify_subscribers: z.ZodOptional<z.ZodBoolean>;
639
820
  add_shorts_hashtag: z.ZodOptional<z.ZodBoolean>;
821
+ brand_partner: z.ZodOptional<z.ZodString>;
640
822
  buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
641
823
  text: z.ZodString;
642
824
  url: z.ZodString;
@@ -647,10 +829,20 @@ export declare const createPostsBatchTool: {
647
829
  url: string;
648
830
  text: string;
649
831
  }>, "many">>;
832
+ start_timestamp: z.ZodOptional<z.ZodNumber>;
833
+ is_live_photo: z.ZodOptional<z.ZodBoolean>;
650
834
  langs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
651
835
  content_label: z.ZodOptional<z.ZodEnum<["sexual", "nudity", "porn", "graphic-media"]>>;
652
836
  quote_url: z.ZodOptional<z.ZodString>;
653
837
  disable_quotes: z.ZodOptional<z.ZodBoolean>;
838
+ quoted_status_id: z.ZodOptional<z.ZodString>;
839
+ visibility: z.ZodOptional<z.ZodEnum<["public", "unlisted", "private"]>>;
840
+ spoiler_text: z.ZodOptional<z.ZodString>;
841
+ markdown: z.ZodOptional<z.ZodBoolean>;
842
+ blocks: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
843
+ paid_partnership: z.ZodOptional<z.ZodBoolean>;
844
+ is_ai_generated: z.ZodOptional<z.ZodBoolean>;
845
+ audio_id: z.ZodOptional<z.ZodString>;
654
846
  ai_generated: z.ZodOptional<z.ZodBoolean>;
655
847
  }, z.ZodTypeAny, "passthrough"> | undefined;
656
848
  }[];
@@ -686,6 +878,8 @@ export declare const createPostsBatchTool: {
686
878
  })[] | undefined;
687
879
  first_comment?: string | undefined;
688
880
  media_alt_texts?: Record<string, string> | undefined;
881
+ is_ai_generated?: boolean | undefined;
882
+ audio_id?: string | undefined;
689
883
  } | undefined;
690
884
  platform_settings?: z.objectInputType<{
691
885
  __type: z.ZodOptional<z.ZodString>;
@@ -718,12 +912,29 @@ export declare const createPostsBatchTool: {
718
912
  topic_tag: z.ZodOptional<z.ZodString>;
719
913
  share_to_instagram: z.ZodOptional<z.ZodBoolean>;
720
914
  text_attachment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
915
+ is_ghost_post: z.ZodOptional<z.ZodBoolean>;
916
+ is_spoiler: z.ZodOptional<z.ZodBoolean>;
917
+ is_spoiler_media: z.ZodOptional<z.ZodBoolean>;
918
+ enable_reply_approvals: z.ZodOptional<z.ZodBoolean>;
919
+ text_entities: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
920
+ gif_attachment: z.ZodOptional<z.ZodObject<{
921
+ gif_id: z.ZodString;
922
+ provider: z.ZodOptional<z.ZodEnum<["GIPHY"]>>;
923
+ }, "strip", z.ZodTypeAny, {
924
+ gif_id: string;
925
+ provider?: "GIPHY" | undefined;
926
+ }, {
927
+ gif_id: string;
928
+ provider?: "GIPHY" | undefined;
929
+ }>>;
721
930
  text_format_preset_id: z.ZodOptional<z.ZodString>;
722
931
  document_title: z.ZodOptional<z.ZodString>;
723
932
  document_filename: z.ZodOptional<z.ZodString>;
724
933
  mentions: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
725
934
  thumbnail_url: z.ZodOptional<z.ZodString>;
726
935
  thumbnail_method: z.ZodOptional<z.ZodString>;
936
+ content_call_to_action_label: z.ZodOptional<z.ZodEnum<["APPLY", "DOWNLOAD", "VIEW_QUOTE", "LEARN_MORE", "SIGN_UP", "SUBSCRIBE", "REGISTER", "JOIN", "ATTEND", "REQUEST_DEMO", "SEE_MORE", "BUY_NOW", "SHOP_NOW"]>>;
937
+ content_landing_page: z.ZodOptional<z.ZodString>;
727
938
  privacy_level: z.ZodOptional<z.ZodString>;
728
939
  allow_comment: z.ZodOptional<z.ZodBoolean>;
729
940
  allow_duet: z.ZodOptional<z.ZodBoolean>;
@@ -744,11 +955,14 @@ export declare const createPostsBatchTool: {
744
955
  cover_image_url: z.ZodOptional<z.ZodString>;
745
956
  video_cover_url: z.ZodOptional<z.ZodString>;
746
957
  cover_image_method: z.ZodOptional<z.ZodEnum<["upload", "frame", "api"]>>;
958
+ product_tags: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>, "many">>;
747
959
  event: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
748
960
  offer: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
749
961
  cta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
962
+ recurrence: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
750
963
  notify_subscribers: z.ZodOptional<z.ZodBoolean>;
751
964
  add_shorts_hashtag: z.ZodOptional<z.ZodBoolean>;
965
+ brand_partner: z.ZodOptional<z.ZodString>;
752
966
  buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
753
967
  text: z.ZodString;
754
968
  url: z.ZodString;
@@ -759,10 +973,20 @@ export declare const createPostsBatchTool: {
759
973
  url: string;
760
974
  text: string;
761
975
  }>, "many">>;
976
+ start_timestamp: z.ZodOptional<z.ZodNumber>;
977
+ is_live_photo: z.ZodOptional<z.ZodBoolean>;
762
978
  langs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
763
979
  content_label: z.ZodOptional<z.ZodEnum<["sexual", "nudity", "porn", "graphic-media"]>>;
764
980
  quote_url: z.ZodOptional<z.ZodString>;
765
981
  disable_quotes: z.ZodOptional<z.ZodBoolean>;
982
+ quoted_status_id: z.ZodOptional<z.ZodString>;
983
+ visibility: z.ZodOptional<z.ZodEnum<["public", "unlisted", "private"]>>;
984
+ spoiler_text: z.ZodOptional<z.ZodString>;
985
+ markdown: z.ZodOptional<z.ZodBoolean>;
986
+ blocks: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
987
+ paid_partnership: z.ZodOptional<z.ZodBoolean>;
988
+ is_ai_generated: z.ZodOptional<z.ZodBoolean>;
989
+ audio_id: z.ZodOptional<z.ZodString>;
766
990
  ai_generated: z.ZodOptional<z.ZodBoolean>;
767
991
  }, z.ZodTypeAny, "passthrough"> | undefined;
768
992
  }[];
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  export const createSignedUploadTool = {
3
3
  name: 'create_signed_upload',
4
- description: 'Create a signed upload URL for a larger image or video. Upload the binary to upload_url; the API validates actual bytes before storage, then public_url can be used with create_post.',
4
+ description: 'Create a signed upload URL for a larger image or video. PUT the raw bytes to the returned upload_url (object storage) with the returned headers, then public_url can be used with create_post.',
5
5
  inputSchema: z.object({
6
6
  filename: z.string().describe('Filename with extension, e.g. launch-video.mp4'),
7
7
  content_type: z.string().describe('MIME type, e.g. video/mp4'),
@@ -15,6 +15,7 @@ export const createSignedUploadTool = {
15
15
  `• Token: ${signed.token}`,
16
16
  `• Storage path: ${signed.path}`,
17
17
  `• Public URL after upload: ${signed.public_url}`,
18
+ 'PUT the raw file bytes to the upload URL with the same Content-Type. Then pass public_url to create_post.',
18
19
  ].join('\n');
19
20
  },
20
21
  };