ugcinc 3.29.0 → 3.30.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/dist/automations.js +56 -8
- package/dist/index.d.ts +1 -1
- package/dist/media.d.ts +14 -1
- package/dist/media.js +17 -0
- package/dist/types.d.ts +57 -28
- package/package.json +1 -1
package/dist/automations.js
CHANGED
|
@@ -175,6 +175,21 @@ function getAllNodes() {
|
|
|
175
175
|
},
|
|
176
176
|
],
|
|
177
177
|
},
|
|
178
|
+
{
|
|
179
|
+
type: "social-audio",
|
|
180
|
+
label: "Social Media Audio",
|
|
181
|
+
description: "Link audios from social media",
|
|
182
|
+
category: "Sources",
|
|
183
|
+
nodeCategory: "source",
|
|
184
|
+
inputs: [],
|
|
185
|
+
outputs: [
|
|
186
|
+
{
|
|
187
|
+
id: "social-audio",
|
|
188
|
+
type: "social_audio",
|
|
189
|
+
required: true,
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
},
|
|
178
193
|
{
|
|
179
194
|
type: "account",
|
|
180
195
|
label: "Account",
|
|
@@ -370,14 +385,42 @@ function getAllNodes() {
|
|
|
370
385
|
},
|
|
371
386
|
// === Terminal nodes ===
|
|
372
387
|
{
|
|
373
|
-
type: "
|
|
374
|
-
label: "
|
|
375
|
-
description: "Publish a video
|
|
388
|
+
type: "post-video",
|
|
389
|
+
label: "Post Video",
|
|
390
|
+
description: "Publish a video post",
|
|
391
|
+
category: "Output",
|
|
392
|
+
nodeCategory: "terminal",
|
|
393
|
+
inputs: [
|
|
394
|
+
{
|
|
395
|
+
id: "video",
|
|
396
|
+
type: "video",
|
|
397
|
+
required: true,
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
id: "account",
|
|
401
|
+
type: "account",
|
|
402
|
+
required: true,
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
id: "caption",
|
|
406
|
+
type: "text",
|
|
407
|
+
required: false,
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
id: "social-audio",
|
|
411
|
+
type: "social_audio",
|
|
412
|
+
required: false,
|
|
413
|
+
},
|
|
414
|
+
],
|
|
415
|
+
outputs: [],
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
type: "post-slideshow",
|
|
419
|
+
label: "Post Slideshow",
|
|
420
|
+
description: "Publish a slideshow post",
|
|
376
421
|
category: "Output",
|
|
377
422
|
nodeCategory: "terminal",
|
|
378
|
-
// Dynamic inputs based on
|
|
379
|
-
// - video mode: video (required), account, caption
|
|
380
|
-
// - slideshow mode: dynamic image inputs from config, account, caption
|
|
423
|
+
// Dynamic inputs based on postSlideshowConfig.inputs
|
|
381
424
|
inputs: [
|
|
382
425
|
{
|
|
383
426
|
id: "account",
|
|
@@ -389,6 +432,11 @@ function getAllNodes() {
|
|
|
389
432
|
type: "text",
|
|
390
433
|
required: false,
|
|
391
434
|
},
|
|
435
|
+
{
|
|
436
|
+
id: "social-audio",
|
|
437
|
+
type: "social_audio",
|
|
438
|
+
required: false,
|
|
439
|
+
},
|
|
392
440
|
],
|
|
393
441
|
outputs: [],
|
|
394
442
|
},
|
|
@@ -404,8 +452,8 @@ function getAllNodes() {
|
|
|
404
452
|
},
|
|
405
453
|
{
|
|
406
454
|
type: "output",
|
|
407
|
-
label: "
|
|
408
|
-
description: "Pass
|
|
455
|
+
label: "Output",
|
|
456
|
+
description: "Pass through outputs",
|
|
409
457
|
category: "Output",
|
|
410
458
|
nodeCategory: "terminal",
|
|
411
459
|
inputs: [
|
package/dist/index.d.ts
CHANGED
|
@@ -18,4 +18,4 @@ export { MediaClient } from './media';
|
|
|
18
18
|
export { CommentsClient } from './comments';
|
|
19
19
|
export type { RenderJobResponse, RenderJobStatus, SubmitImageRenderJobParams, SubmitVideoRenderJobParams, RenderVideoEditorConfig, } from './render';
|
|
20
20
|
export type { ClientConfig, } from './base';
|
|
21
|
-
export type { SuccessResponse, ErrorResponse, ApiResponse, Account, AccountStat, AccountTask, EditProfileInfo, Task, TaskType, Post, PostType, PostStatus, PostStat, ApiKey, EditorConfig, VideoEditorNodeConfig, VideoEditorChannel, VideoEditorSegment, VideoEditorVideoSegment, VideoEditorAudioSegment, VideoEditorImageSegment, VideoEditorTextSegment, TimeMode, SegmentTimelinePosition, ImageEditorNodeConfig, ImageEditorElement, ImageEditorNodeInput, ImageEditorNodeOutput, DimensionPresetKey, EditorChannel, TimeValue, BaseSegmentProps, VisualSegmentProps, EditorSegment, VideoSegment, AudioSegment, ImageSegment, TextSegment, StaticSegment, PositionAnchor, RelativePositionConfig, GetAccountsParams, GetAccountStatsParams, GetAccountStatusParams, UpdateAccountInfoParams, UpdateAccountSocialParams, GetTasksParams, GetPostsParams, CreateSlideshowParams, GetPostStatsParams, GetPostStatusParams, CreateVideoParams, RefreshStatsParams, RefreshStatsResponse, RefreshStatsError, DailyAggregatedStat, GetDailyAggregatedStatsParams, DailyPostStat, GetDailyPostStatsParams, TopAccount, GetTopAccountsParams, TopPost, GetTopPostsParams, MediaType, NodePort, NodeControlConfig, NodeTypeEnum, WorkflowNodeDefinition, WorkflowDefinition, CanvasState, TemplateNode, AutomationTemplate, AutomationRun, NodeRun, ExecutorNode, ExecutionEdge, OutputSchemaProperty, SelectionMode, ExhaustionBehavior, SelectionConfig, SelectionState, OutputMode, NodeOutputValues, OutputInput, OutputNodeConfig, ManualTriggerOutput, ManualTriggerNodeConfig, TriggerIterationMode, IterationExhaustionBehavior, CollectionSelectionMode, TriggerCollectionConfig, DayOfWeek, RecurrenceMediaOutput, RecurrenceMediaConfig, RecurrenceNodeConfig, AccountNodeConfig, MediaNodeEnabledType, RecurrenceMediaEnabledType, MediaNodeConfig, PostSchedulingMode, PostSchedulingConfig,
|
|
21
|
+
export type { SuccessResponse, ErrorResponse, ApiResponse, Account, AccountStat, AccountTask, EditProfileInfo, Task, TaskType, Post, PostType, PostStatus, PostStat, ApiKey, EditorConfig, VideoEditorNodeConfig, VideoEditorChannel, VideoEditorSegment, VideoEditorVideoSegment, VideoEditorAudioSegment, VideoEditorImageSegment, VideoEditorTextSegment, TimeMode, SegmentTimelinePosition, ImageEditorNodeConfig, ImageEditorElement, ImageEditorNodeInput, ImageEditorNodeOutput, DimensionPresetKey, EditorChannel, TimeValue, BaseSegmentProps, VisualSegmentProps, EditorSegment, VideoSegment, AudioSegment, ImageSegment, TextSegment, StaticSegment, PositionAnchor, RelativePositionConfig, GetAccountsParams, GetAccountStatsParams, GetAccountStatusParams, UpdateAccountInfoParams, UpdateAccountSocialParams, GetTasksParams, GetPostsParams, CreateSlideshowParams, GetPostStatsParams, GetPostStatusParams, CreateVideoParams, RefreshStatsParams, RefreshStatsResponse, RefreshStatsError, DailyAggregatedStat, GetDailyAggregatedStatsParams, DailyPostStat, GetDailyPostStatsParams, TopAccount, GetTopAccountsParams, TopPost, GetTopPostsParams, MediaType, NodePort, NodeControlConfig, NodeTypeEnum, WorkflowNodeDefinition, WorkflowDefinition, CanvasState, TemplateNode, AutomationTemplate, AutomationRun, NodeRun, ExecutorNode, ExecutionEdge, OutputSchemaProperty, SelectionMode, ExhaustionBehavior, SelectionConfig, SelectionState, OutputMode, NodeOutputValues, OutputInput, OutputNodeConfig, ManualTriggerOutput, ManualTriggerNodeConfig, TriggerIterationMode, IterationExhaustionBehavior, CollectionSelectionMode, TriggerCollectionConfig, DayOfWeek, RecurrenceMediaOutput, RecurrenceMediaConfig, RecurrenceNodeConfig, AccountNodeConfig, MediaNodeEnabledType, RecurrenceMediaEnabledType, MediaNodeConfig, PostSchedulingMode, PostSchedulingConfig, PostVideoNodeConfig, PostSlideshowInput, PostSlideshowNodeConfig, SaveToMediaInput, SaveToMediaNodeConfig, DeduplicateNodeConfig, ForEachOutputProperty, ForEachInputPort, ForEachNodeConfig, VideoImportPlatform, VideoImportQuality, VideoImportNodeConfig, AutoCaptionPreset, AutoCaptionFontWeight, AutoCaptionPosition, AutoCaptionNodeConfig, VideoGenerationNodeConfig, PortType, LLMOutputField, LLMNodeConfig, UserMedia, SocialAudio, Media, GetMediaParams, UploadMediaParams, UploadMediaResponse, UpdateMediaTagParams, DeleteMediaParams, DeleteMediaResponse, CreateSocialAudioParams, CreateMediaFromUrlParams, ImportTextParams, ImportTextResponse, Comment, CommentStatus, CreateCommentParams, CreateCommentResponse, GetCommentsParams, ValidationErrorType, ValidationError, ExportedNode, ExportedConnection, ExportedTemplate, AutomationExport, ExportedExecutor, ExportedEdge, ExportedRun, AutomationRunExport, } from './types';
|
package/dist/media.d.ts
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { BaseClient } from './base';
|
|
2
|
-
import type { Media, GetMediaParams, UploadMediaResponse, UpdateMediaTagParams, UpdateMediaTagsParams, UpdateMediaTagsResponse, DeleteMediaParams, DeleteMediaResponse, CreateMediaFromUrlParams, GetUploadTokenParams, UploadTokenResponse, ImportTextParams, ImportTextResponse, ApiResponse } from './types';
|
|
2
|
+
import type { Media, SocialAudio, GetMediaParams, GetSocialAudioParams, UploadMediaResponse, UpdateMediaTagParams, UpdateMediaTagsParams, UpdateMediaTagsResponse, DeleteMediaParams, DeleteMediaResponse, CreateSocialAudioParams, CreateMediaFromUrlParams, GetUploadTokenParams, UploadTokenResponse, ImportTextParams, ImportTextResponse, ApiResponse } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Client for managing media files
|
|
5
5
|
*/
|
|
6
6
|
export declare class MediaClient extends BaseClient {
|
|
7
7
|
/**
|
|
8
8
|
* Get media for the organization
|
|
9
|
+
* Returns both user_media and social_audio combined
|
|
9
10
|
* Can filter by ids or tag
|
|
10
11
|
*/
|
|
11
12
|
getMedia(params?: GetMediaParams): Promise<ApiResponse<Media[]>>;
|
|
13
|
+
/**
|
|
14
|
+
* Get social audio for the organization
|
|
15
|
+
* Can filter by ids or tag
|
|
16
|
+
*/
|
|
17
|
+
getSocialAudio(params?: GetSocialAudioParams): Promise<ApiResponse<SocialAudio[]>>;
|
|
12
18
|
/**
|
|
13
19
|
* Create media from URL(s)
|
|
14
20
|
* Creates media records from files already uploaded to blob storage
|
|
@@ -22,12 +28,14 @@ export declare class MediaClient extends BaseClient {
|
|
|
22
28
|
getUploadToken(params: GetUploadTokenParams): Promise<ApiResponse<UploadTokenResponse>>;
|
|
23
29
|
/**
|
|
24
30
|
* Update tags on multiple media items in a single request
|
|
31
|
+
* Works for both user_media and social_audio
|
|
25
32
|
* @param params.updates - Array of {id, tag} pairs to update
|
|
26
33
|
*/
|
|
27
34
|
updateTags(params: UpdateMediaTagsParams): Promise<ApiResponse<UpdateMediaTagsResponse>>;
|
|
28
35
|
/**
|
|
29
36
|
* @deprecated Use updateTags() instead for bulk operations
|
|
30
37
|
* Update the tag on a single media item
|
|
38
|
+
* Works for both user_media and social_audio
|
|
31
39
|
*/
|
|
32
40
|
updateTag(params: UpdateMediaTagParams): Promise<ApiResponse<UpdateMediaTagsResponse>>;
|
|
33
41
|
/**
|
|
@@ -35,6 +43,11 @@ export declare class MediaClient extends BaseClient {
|
|
|
35
43
|
* Also deletes the files from blob storage
|
|
36
44
|
*/
|
|
37
45
|
delete(params: DeleteMediaParams): Promise<ApiResponse<DeleteMediaResponse>>;
|
|
46
|
+
/**
|
|
47
|
+
* Create a social audio from a TikTok URL
|
|
48
|
+
* Extracts audio and cover image from TikTok video or music URL
|
|
49
|
+
*/
|
|
50
|
+
createSocialAudio(params: CreateSocialAudioParams): Promise<ApiResponse<SocialAudio>>;
|
|
38
51
|
/**
|
|
39
52
|
* Import text content as media
|
|
40
53
|
* Creates text media entries from raw text content
|
package/dist/media.js
CHANGED
|
@@ -8,11 +8,19 @@ const base_1 = require("./base");
|
|
|
8
8
|
class MediaClient extends base_1.BaseClient {
|
|
9
9
|
/**
|
|
10
10
|
* Get media for the organization
|
|
11
|
+
* Returns both user_media and social_audio combined
|
|
11
12
|
* Can filter by ids or tag
|
|
12
13
|
*/
|
|
13
14
|
async getMedia(params) {
|
|
14
15
|
return this.post('/media', params ?? {});
|
|
15
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Get social audio for the organization
|
|
19
|
+
* Can filter by ids or tag
|
|
20
|
+
*/
|
|
21
|
+
async getSocialAudio(params) {
|
|
22
|
+
return this.post('/media/social-audio', params ?? {});
|
|
23
|
+
}
|
|
16
24
|
/**
|
|
17
25
|
* Create media from URL(s)
|
|
18
26
|
* Creates media records from files already uploaded to blob storage
|
|
@@ -30,6 +38,7 @@ class MediaClient extends base_1.BaseClient {
|
|
|
30
38
|
}
|
|
31
39
|
/**
|
|
32
40
|
* Update tags on multiple media items in a single request
|
|
41
|
+
* Works for both user_media and social_audio
|
|
33
42
|
* @param params.updates - Array of {id, tag} pairs to update
|
|
34
43
|
*/
|
|
35
44
|
async updateTags(params) {
|
|
@@ -38,6 +47,7 @@ class MediaClient extends base_1.BaseClient {
|
|
|
38
47
|
/**
|
|
39
48
|
* @deprecated Use updateTags() instead for bulk operations
|
|
40
49
|
* Update the tag on a single media item
|
|
50
|
+
* Works for both user_media and social_audio
|
|
41
51
|
*/
|
|
42
52
|
async updateTag(params) {
|
|
43
53
|
return this.post('/media/update-tag', { updates: [params] });
|
|
@@ -49,6 +59,13 @@ class MediaClient extends base_1.BaseClient {
|
|
|
49
59
|
async delete(params) {
|
|
50
60
|
return this.post('/media/delete', params);
|
|
51
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Create a social audio from a TikTok URL
|
|
64
|
+
* Extracts audio and cover image from TikTok video or music URL
|
|
65
|
+
*/
|
|
66
|
+
async createSocialAudio(params) {
|
|
67
|
+
return this.post('/media/social-audio/upload', params);
|
|
68
|
+
}
|
|
52
69
|
/**
|
|
53
70
|
* Import text content as media
|
|
54
71
|
* Creates text media entries from raw text content
|
package/dist/types.d.ts
CHANGED
|
@@ -249,6 +249,7 @@ export interface CreateSlideshowParams {
|
|
|
249
249
|
accountId: string | null;
|
|
250
250
|
caption?: string;
|
|
251
251
|
title?: string;
|
|
252
|
+
socialAudioId?: string;
|
|
252
253
|
postTime?: string;
|
|
253
254
|
imageUrls: string[];
|
|
254
255
|
strict?: boolean;
|
|
@@ -267,6 +268,7 @@ export interface GetPostStatusParams {
|
|
|
267
268
|
export interface CreateVideoParams {
|
|
268
269
|
accountId: string | null;
|
|
269
270
|
caption?: string;
|
|
271
|
+
socialAudioId?: string;
|
|
270
272
|
postTime?: string;
|
|
271
273
|
videoUrl: string;
|
|
272
274
|
strict?: boolean;
|
|
@@ -749,7 +751,7 @@ export type StaticSegment = ImageSegment | TextSegment;
|
|
|
749
751
|
/**
|
|
750
752
|
* Automation types
|
|
751
753
|
*/
|
|
752
|
-
export type MediaType = 'video' | 'image' | 'audio' | 'text' | 'account' | 'date';
|
|
754
|
+
export type MediaType = 'video' | 'image' | 'audio' | 'social_audio' | 'text' | 'account' | 'date';
|
|
753
755
|
/**
|
|
754
756
|
* Extended port types (includes non-media types for special nodes)
|
|
755
757
|
*/
|
|
@@ -803,9 +805,9 @@ export interface NodePort {
|
|
|
803
805
|
/**
|
|
804
806
|
* Functional category for automation nodes
|
|
805
807
|
* - trigger: Nodes that start an automation (manual-trigger, recurrence)
|
|
806
|
-
* - source: Nodes that provide input data (image, video, audio, text, account)
|
|
808
|
+
* - source: Nodes that provide input data (image, video, audio, social-audio, text, account)
|
|
807
809
|
* - generator: Nodes that transform or generate content (image-template, video-template, image-generation, text-generation, sub-agent)
|
|
808
|
-
* - terminal: Nodes that end an automation (output,
|
|
810
|
+
* - terminal: Nodes that end an automation (output, post-video, post-slideshow, save-to-media)
|
|
809
811
|
*/
|
|
810
812
|
export type NodeCategory = 'trigger' | 'source' | 'generator' | 'terminal';
|
|
811
813
|
export interface NodeControlConfig {
|
|
@@ -831,7 +833,7 @@ export interface NodeControlConfig {
|
|
|
831
833
|
*/
|
|
832
834
|
isInitializer?: boolean;
|
|
833
835
|
}
|
|
834
|
-
export type NodeTypeEnum = 'text' | 'media' | 'video-import' | 'image-template' | 'video-template' | 'image-generation' | 'video-generation' | 'custom-model' | 'text-generation' | 'output' | 'manual-trigger' | 'recurrence' | 'sub-agent' | 'account' | '
|
|
836
|
+
export type NodeTypeEnum = 'social-audio' | 'text' | 'media' | 'video-import' | 'image-template' | 'video-template' | 'image-generation' | 'video-generation' | 'custom-model' | 'text-generation' | 'output' | 'manual-trigger' | 'recurrence' | 'sub-agent' | 'account' | 'post-video' | 'post-slideshow' | 'save-to-media' | 'deduplicate' | 'for-each' | 'transcript' | 'auto-caption';
|
|
835
837
|
export interface OutputSchemaProperty {
|
|
836
838
|
type: 'string' | 'number' | 'boolean' | 'array' | 'object';
|
|
837
839
|
items?: 'string' | 'number' | 'boolean';
|
|
@@ -937,7 +939,8 @@ export interface WorkflowNodeDefinition {
|
|
|
937
939
|
outputConfig?: OutputNodeConfig;
|
|
938
940
|
accountConfig?: AccountNodeConfig;
|
|
939
941
|
mediaConfig?: MediaNodeConfig;
|
|
940
|
-
|
|
942
|
+
postVideoConfig?: PostVideoNodeConfig;
|
|
943
|
+
postSlideshowConfig?: PostSlideshowNodeConfig;
|
|
941
944
|
saveToMediaConfig?: SaveToMediaNodeConfig;
|
|
942
945
|
deduplicateConfig?: DeduplicateNodeConfig;
|
|
943
946
|
videoImportConfig?: VideoImportNodeConfig;
|
|
@@ -950,7 +953,7 @@ export interface WorkflowNodeDefinition {
|
|
|
950
953
|
export interface OutputInput {
|
|
951
954
|
id: string;
|
|
952
955
|
title: string;
|
|
953
|
-
type: 'image' | 'video' | 'audio' | 'text';
|
|
956
|
+
type: 'image' | 'video' | 'audio' | 'social_audio' | 'text';
|
|
954
957
|
}
|
|
955
958
|
export interface OutputNodeConfig {
|
|
956
959
|
inputs: OutputInput[];
|
|
@@ -960,7 +963,11 @@ export interface OutputNodeConfig {
|
|
|
960
963
|
*/
|
|
961
964
|
export interface ManualTriggerOutput {
|
|
962
965
|
id: string;
|
|
963
|
-
type: 'image' | 'video' | 'audio' | 'text' | 'account';
|
|
966
|
+
type: 'image' | 'video' | 'audio' | 'text' | 'social_audio' | 'account';
|
|
967
|
+
/** Whether this variable is optional (default: false = required) */
|
|
968
|
+
optional?: boolean;
|
|
969
|
+
/** Default value when optional and not provided at runtime */
|
|
970
|
+
defaultValue?: string;
|
|
964
971
|
}
|
|
965
972
|
/**
|
|
966
973
|
* Iteration mode for trigger nodes with account iteration
|
|
@@ -999,6 +1006,8 @@ export interface TriggerCollectionConfig {
|
|
|
999
1006
|
*/
|
|
1000
1007
|
export interface ManualTriggerNodeConfig {
|
|
1001
1008
|
outputs: ManualTriggerOutput[];
|
|
1009
|
+
/** Optional collection input for iterating over multiple elements */
|
|
1010
|
+
collectionInput?: TriggerCollectionConfig;
|
|
1002
1011
|
}
|
|
1003
1012
|
/**
|
|
1004
1013
|
* Days of the week for recurrence scheduling
|
|
@@ -1012,7 +1021,7 @@ export interface RecurrenceMediaOutput {
|
|
|
1012
1021
|
/** Unique ID for this output port (e.g., "background-image", "overlay") */
|
|
1013
1022
|
id: string;
|
|
1014
1023
|
/** Media type for this port */
|
|
1015
|
-
type: 'image' | 'video' | 'audio' | 'text';
|
|
1024
|
+
type: 'image' | 'video' | 'audio' | 'text' | 'social_audio';
|
|
1016
1025
|
/** Selection mode for this output's media source */
|
|
1017
1026
|
selectionMode: 'specific' | 'by-tag';
|
|
1018
1027
|
/** Media IDs for this output (used when selectionMode is 'specific') */
|
|
@@ -1043,6 +1052,10 @@ export interface RecurrenceNodeConfig {
|
|
|
1043
1052
|
randomWindowStart: string;
|
|
1044
1053
|
randomWindowEnd: string;
|
|
1045
1054
|
timezone: string;
|
|
1055
|
+
/** Maximum number of runs before stopping (null = unlimited) */
|
|
1056
|
+
maxRuns?: number | null;
|
|
1057
|
+
/** End date for the recurrence in ISO format (YYYY-MM-DD) - if set, runs until this date */
|
|
1058
|
+
endDate?: string;
|
|
1046
1059
|
/** Optional collection input for iterating over multiple accounts */
|
|
1047
1060
|
collectionInput?: TriggerCollectionConfig;
|
|
1048
1061
|
/** Optional media input for providing media to downstream nodes */
|
|
@@ -1068,7 +1081,7 @@ export type MediaNodeEnabledType = 'image' | 'video' | 'audio';
|
|
|
1068
1081
|
* Recurrence media enabled type
|
|
1069
1082
|
* Includes all media types that can be output from recurrence nodes
|
|
1070
1083
|
*/
|
|
1071
|
-
export type RecurrenceMediaEnabledType = 'image' | 'video' | 'audio' | 'text';
|
|
1084
|
+
export type RecurrenceMediaEnabledType = 'image' | 'video' | 'audio' | 'text' | 'social_audio';
|
|
1072
1085
|
/**
|
|
1073
1086
|
* Media node configuration - consolidated source node for image, video, and audio
|
|
1074
1087
|
*/
|
|
@@ -1116,31 +1129,25 @@ export interface PostSchedulingConfig {
|
|
|
1116
1129
|
requireApproval?: boolean;
|
|
1117
1130
|
}
|
|
1118
1131
|
/**
|
|
1119
|
-
*
|
|
1120
|
-
*/
|
|
1121
|
-
export type AutoPostMode = 'video' | 'slideshow';
|
|
1122
|
-
/**
|
|
1123
|
-
* Auto Post input type for slideshow mode
|
|
1124
|
-
* - 'static': Individual image input ports (image1, image2, etc.)
|
|
1125
|
-
* - 'variable': Single 'images' port accepting an array
|
|
1132
|
+
* Post Video node configuration - posts a video to social media
|
|
1126
1133
|
*/
|
|
1127
|
-
export
|
|
1134
|
+
export interface PostVideoNodeConfig {
|
|
1135
|
+
/** Scheduling configuration */
|
|
1136
|
+
scheduling?: PostSchedulingConfig;
|
|
1137
|
+
}
|
|
1128
1138
|
/**
|
|
1129
|
-
*
|
|
1139
|
+
* Post Slideshow input definition
|
|
1130
1140
|
*/
|
|
1131
|
-
export interface
|
|
1141
|
+
export interface PostSlideshowInput {
|
|
1132
1142
|
id: string;
|
|
1143
|
+
title: string;
|
|
1133
1144
|
}
|
|
1134
1145
|
/**
|
|
1135
|
-
*
|
|
1146
|
+
* Post Slideshow node configuration - posts a slideshow to social media
|
|
1136
1147
|
*/
|
|
1137
|
-
export interface
|
|
1138
|
-
/**
|
|
1139
|
-
|
|
1140
|
-
/** Input type for slideshow mode (defaults to 'static') */
|
|
1141
|
-
inputType?: AutoPostInputType;
|
|
1142
|
-
/** Dynamic image inputs (only used in slideshow mode with inputType='static') */
|
|
1143
|
-
inputs?: AutoPostInput[];
|
|
1148
|
+
export interface PostSlideshowNodeConfig {
|
|
1149
|
+
/** Dynamic image inputs */
|
|
1150
|
+
inputs: PostSlideshowInput[];
|
|
1144
1151
|
/** Scheduling configuration */
|
|
1145
1152
|
scheduling?: PostSchedulingConfig;
|
|
1146
1153
|
}
|
|
@@ -1452,11 +1459,29 @@ export interface UserMedia {
|
|
|
1452
1459
|
created_at: string;
|
|
1453
1460
|
media_type: 'user_media';
|
|
1454
1461
|
}
|
|
1455
|
-
export
|
|
1462
|
+
export interface SocialAudio {
|
|
1463
|
+
id: string;
|
|
1464
|
+
org_id: string;
|
|
1465
|
+
name: string | null;
|
|
1466
|
+
tag: string | null;
|
|
1467
|
+
social_post_link: string | null;
|
|
1468
|
+
social_audio_link: string | null;
|
|
1469
|
+
platform_type: 'tiktok' | null;
|
|
1470
|
+
preview_url: string | null;
|
|
1471
|
+
audio_url: string | null;
|
|
1472
|
+
created_at: string;
|
|
1473
|
+
media_type: 'social_audio';
|
|
1474
|
+
type: 'social_audio';
|
|
1475
|
+
}
|
|
1476
|
+
export type Media = UserMedia | SocialAudio;
|
|
1456
1477
|
export interface GetMediaParams {
|
|
1457
1478
|
ids?: string[];
|
|
1458
1479
|
tag?: string;
|
|
1459
1480
|
}
|
|
1481
|
+
export interface GetSocialAudioParams {
|
|
1482
|
+
ids?: string[];
|
|
1483
|
+
tag?: string;
|
|
1484
|
+
}
|
|
1460
1485
|
export interface UploadMediaParams {
|
|
1461
1486
|
files: File[];
|
|
1462
1487
|
tag?: string;
|
|
@@ -1503,6 +1528,10 @@ export interface DeleteMediaResponse {
|
|
|
1503
1528
|
}>;
|
|
1504
1529
|
message: string;
|
|
1505
1530
|
}
|
|
1531
|
+
export interface CreateSocialAudioParams {
|
|
1532
|
+
url: string;
|
|
1533
|
+
tag?: string;
|
|
1534
|
+
}
|
|
1506
1535
|
export interface ImportTextParams {
|
|
1507
1536
|
texts: Array<{
|
|
1508
1537
|
content: string;
|