@skillful-ai/piece-skai-gen-image 0.0.2 → 0.0.4

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillful-ai/piece-skai-gen-image",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
package/src/index.js CHANGED
@@ -9,6 +9,9 @@ const generate_image_1 = require("./lib/actions/generate-image");
9
9
  const get_trending_templates_1 = require("./lib/actions/get-trending-templates");
10
10
  const generate_meme_from_template_1 = require("./lib/actions/generate-meme-from-template");
11
11
  const generate_meme_with_ai_1 = require("./lib/actions/generate-meme-with-ai");
12
+ const random_template_1 = require("./lib/actions/random-template");
13
+ // Actions - Image Utilities
14
+ const add_watermark_1 = require("./lib/actions/add-watermark");
12
15
  const markdownDescription = `
13
16
  ## SKAI Gen Image
14
17
 
@@ -67,10 +70,13 @@ exports.skaiGenImage = (0, pieces_framework_1.createPiece)({
67
70
  actions: [
68
71
  // Imgflip - Real Memes
69
72
  get_trending_templates_1.getTrendingTemplates,
73
+ random_template_1.randomTemplate,
70
74
  generate_meme_from_template_1.generateMemeFromTemplate,
71
75
  generate_meme_with_ai_1.generateMemeWithAI,
72
76
  // DALL-E - Original Images
73
77
  generate_image_1.generateImage,
78
+ // Image Utilities
79
+ add_watermark_1.addWatermark,
74
80
  ],
75
81
  triggers: [],
76
82
  });
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/custom/skai-gen-image/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAkF;AAClF,iDAAqD;AAErD,mBAAmB;AACnB,iEAA6D;AAE7D,iCAAiC;AACjC,iFAA4E;AAC5E,2FAAqF;AACrF,+EAAyE;AAEzE,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyB3B,CAAC;AAEW,QAAA,gBAAgB,GAAG,4BAAS,CAAC,UAAU,CAAC;IACjD,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACH,YAAY,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC/B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,4DAA4D;YACzE,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,eAAe,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAChC,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,eAAe,EAAE,4BAAS,CAAC,UAAU,CAAC;YAClC,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL;CACJ,CAAC,CAAC;AAQU,QAAA,YAAY,GAAG,IAAA,8BAAW,EAAC;IACpC,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,yCAAyC;IACtD,IAAI,EAAE,wBAAgB;IACtB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,+CAA+C;IACxD,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,UAAU,EAAE,CAAC,sBAAa,CAAC,uBAAuB,EAAE,sBAAa,CAAC,SAAS,CAAC;IAC5E,OAAO,EAAE;QACL,uBAAuB;QACvB,6CAAoB;QACpB,sDAAwB;QACxB,0CAAkB;QAClB,2BAA2B;QAC3B,8BAAa;KAChB;IACD,QAAQ,EAAE,EAAE;CACf,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/custom/skai-gen-image/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAkF;AAClF,iDAAqD;AAErD,mBAAmB;AACnB,iEAA6D;AAE7D,iCAAiC;AACjC,iFAA4E;AAC5E,2FAAqF;AACrF,+EAAyE;AACzE,mEAA+D;AAE/D,4BAA4B;AAC5B,+DAA2D;AAE3D,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyB3B,CAAC;AAEW,QAAA,gBAAgB,GAAG,4BAAS,CAAC,UAAU,CAAC;IACjD,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACH,YAAY,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC/B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,4DAA4D;YACzE,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,eAAe,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAChC,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,eAAe,EAAE,4BAAS,CAAC,UAAU,CAAC;YAClC,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL;CACJ,CAAC,CAAC;AAQU,QAAA,YAAY,GAAG,IAAA,8BAAW,EAAC;IACpC,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,yCAAyC;IACtD,IAAI,EAAE,wBAAgB;IACtB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,+CAA+C;IACxD,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,UAAU,EAAE,CAAC,sBAAa,CAAC,uBAAuB,EAAE,sBAAa,CAAC,SAAS,CAAC;IAC5E,OAAO,EAAE;QACL,uBAAuB;QACvB,6CAAoB;QACpB,gCAAc;QACd,sDAAwB;QACxB,0CAAkB;QAClB,2BAA2B;QAC3B,8BAAa;QACb,kBAAkB;QAClB,4BAAY;KACf;IACD,QAAQ,EAAE,EAAE;CACf,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const addWatermark: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ openaiApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
3
+ imgflipUsername: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ imgflipPassword: import("@activepieces/pieces-framework").SecretTextProperty<true>;
5
+ }>, {
6
+ imageUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
7
+ watermarkType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
8
+ watermarkText: import("@activepieces/pieces-framework").ShortTextProperty<false>;
9
+ logoUrl: import("@activepieces/pieces-framework").ShortTextProperty<false>;
10
+ position: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
11
+ opacity: import("@activepieces/pieces-framework").NumberProperty<false>;
12
+ fontSize: import("@activepieces/pieces-framework").NumberProperty<false>;
13
+ textColor: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
14
+ logoSize: import("@activepieces/pieces-framework").NumberProperty<false>;
15
+ }>;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addWatermark = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const index_1 = require("../../index");
7
+ // Cloudinary's fetch URL allows transformations on any public image without API keys
8
+ const CLOUDINARY_FETCH_BASE = 'https://res.cloudinary.com/demo/image/fetch';
9
+ exports.addWatermark = (0, pieces_framework_1.createAction)({
10
+ auth: index_1.skaiGenImageAuth,
11
+ name: 'add_watermark',
12
+ displayName: 'Add Watermark/Logo',
13
+ description: 'Add a text watermark or logo overlay to an image',
14
+ props: {
15
+ imageUrl: pieces_framework_1.Property.ShortText({
16
+ displayName: 'Image URL',
17
+ description: 'URL of the image to watermark',
18
+ required: true,
19
+ }),
20
+ watermarkType: pieces_framework_1.Property.StaticDropdown({
21
+ displayName: 'Watermark Type',
22
+ description: 'Choose between text watermark or image logo overlay',
23
+ required: true,
24
+ defaultValue: 'text',
25
+ options: {
26
+ options: [
27
+ { label: 'Text Watermark', value: 'text' },
28
+ { label: 'Image Logo', value: 'image' },
29
+ ],
30
+ },
31
+ }),
32
+ watermarkText: pieces_framework_1.Property.ShortText({
33
+ displayName: 'Watermark Text',
34
+ description: 'Text to display as watermark (for text watermark type)',
35
+ required: false,
36
+ }),
37
+ logoUrl: pieces_framework_1.Property.ShortText({
38
+ displayName: 'Logo URL',
39
+ description: 'URL of logo image to overlay (for image logo type)',
40
+ required: false,
41
+ }),
42
+ position: pieces_framework_1.Property.StaticDropdown({
43
+ displayName: 'Position',
44
+ description: 'Where to place the watermark',
45
+ required: false,
46
+ defaultValue: 'south_east',
47
+ options: {
48
+ options: [
49
+ { label: 'Bottom Right', value: 'south_east' },
50
+ { label: 'Bottom Left', value: 'south_west' },
51
+ { label: 'Top Right', value: 'north_east' },
52
+ { label: 'Top Left', value: 'north_west' },
53
+ { label: 'Center', value: 'center' },
54
+ { label: 'Bottom Center', value: 'south' },
55
+ { label: 'Top Center', value: 'north' },
56
+ ],
57
+ },
58
+ }),
59
+ opacity: pieces_framework_1.Property.Number({
60
+ displayName: 'Opacity',
61
+ description: 'Watermark opacity (0-100, default: 70)',
62
+ required: false,
63
+ defaultValue: 70,
64
+ }),
65
+ fontSize: pieces_framework_1.Property.Number({
66
+ displayName: 'Font Size',
67
+ description: 'Text size for text watermark (default: 24)',
68
+ required: false,
69
+ defaultValue: 24,
70
+ }),
71
+ textColor: pieces_framework_1.Property.StaticDropdown({
72
+ displayName: 'Text Color',
73
+ description: 'Color for text watermark',
74
+ required: false,
75
+ defaultValue: 'white',
76
+ options: {
77
+ options: [
78
+ { label: 'White', value: 'white' },
79
+ { label: 'Black', value: 'black' },
80
+ { label: 'Gray', value: 'gray' },
81
+ { label: 'Red', value: 'red' },
82
+ { label: 'Blue', value: 'blue' },
83
+ ],
84
+ },
85
+ }),
86
+ logoSize: pieces_framework_1.Property.Number({
87
+ displayName: 'Logo Size',
88
+ description: 'Logo width in pixels (default: 100)',
89
+ required: false,
90
+ defaultValue: 100,
91
+ }),
92
+ },
93
+ run(context) {
94
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
95
+ const { imageUrl, watermarkType, watermarkText, logoUrl, position, opacity, fontSize, textColor, logoSize, } = context.propsValue;
96
+ // Validate inputs
97
+ if (watermarkType === 'text' && !watermarkText) {
98
+ throw new Error('Watermark text is required when using text watermark type');
99
+ }
100
+ if (watermarkType === 'image' && !logoUrl) {
101
+ throw new Error('Logo URL is required when using image logo type');
102
+ }
103
+ const opacityValue = Math.min(100, Math.max(0, opacity || 70));
104
+ const gravityPosition = position || 'south_east';
105
+ let transformation;
106
+ if (watermarkType === 'text') {
107
+ // Text watermark transformation
108
+ const fontSizeValue = fontSize || 24;
109
+ const colorValue = textColor || 'white';
110
+ // Encode text for URL (replace spaces with %20)
111
+ const encodedText = encodeURIComponent(watermarkText || '');
112
+ transformation = `l_text:Arial_${fontSizeValue}_bold:${encodedText},co_${colorValue},o_${opacityValue},g_${gravityPosition},x_10,y_10`;
113
+ }
114
+ else {
115
+ // Image logo overlay transformation
116
+ const logoSizeValue = logoSize || 100;
117
+ // Encode logo URL for Cloudinary fetch
118
+ const encodedLogoUrl = encodeURIComponent(logoUrl || '');
119
+ transformation = `l_fetch:${Buffer.from(logoUrl || '').toString('base64')},w_${logoSizeValue},o_${opacityValue},g_${gravityPosition},x_10,y_10`;
120
+ }
121
+ // Build the final URL
122
+ const watermarkedUrl = `${CLOUDINARY_FETCH_BASE}/${transformation}/${encodeURIComponent(imageUrl)}`;
123
+ return {
124
+ success: true,
125
+ originalUrl: imageUrl,
126
+ watermarkedUrl: watermarkedUrl,
127
+ watermarkType: watermarkType,
128
+ position: gravityPosition,
129
+ opacity: opacityValue,
130
+ };
131
+ });
132
+ },
133
+ });
134
+ //# sourceMappingURL=add-watermark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-watermark.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/skai-gen-image/src/lib/actions/add-watermark.ts"],"names":[],"mappings":"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"}
@@ -63,34 +63,29 @@ exports.generateMemeFromTemplate = (0, pieces_framework_1.createAction)({
63
63
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
64
64
  const { templateId, text0, text1, text2, text3, font, maxFontSize } = context.propsValue;
65
65
  const auth = context.auth;
66
- // Build the request body
67
- const formData = {
68
- template_id: templateId,
69
- username: auth.imgflipUsername,
70
- password: auth.imgflipPassword,
71
- text0: text0,
72
- };
66
+ // Build form data using URLSearchParams
67
+ const params = new URLSearchParams();
68
+ params.append('template_id', templateId);
69
+ params.append('username', auth.imgflipUsername);
70
+ params.append('password', auth.imgflipPassword);
71
+ params.append('text0', text0);
73
72
  if (text1)
74
- formData['text1'] = text1;
73
+ params.append('text1', text1);
75
74
  if (text2)
76
- formData['boxes[2][text]'] = text2;
75
+ params.append('boxes[2][text]', text2);
77
76
  if (text3)
78
- formData['boxes[3][text]'] = text3;
77
+ params.append('boxes[3][text]', text3);
79
78
  if (font)
80
- formData['font'] = font;
79
+ params.append('font', font);
81
80
  if (maxFontSize)
82
- formData['max_font_size'] = String(maxFontSize);
83
- // Convert to URL-encoded form data
84
- const body = Object.entries(formData)
85
- .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
86
- .join('&');
81
+ params.append('max_font_size', String(maxFontSize));
87
82
  const response = yield pieces_common_1.httpClient.sendRequest({
88
83
  method: pieces_common_1.HttpMethod.POST,
89
84
  url: `${IMGFLIP_API_URL}/caption_image`,
90
85
  headers: {
91
86
  'Content-Type': 'application/x-www-form-urlencoded',
92
87
  },
93
- body,
88
+ body: params.toString(),
94
89
  });
95
90
  if (!response.body.success) {
96
91
  throw new Error(`Failed to generate meme: ${response.body.error_message || 'Unknown error'}`);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-meme-from-template.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/skai-gen-image/src/lib/actions/generate-meme-from-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-meme-from-template.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/skai-gen-image/src/lib/actions/generate-meme-from-template.ts"],"names":[],"mappings":"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"}
@@ -40,27 +40,22 @@ exports.generateMemeWithAI = (0, pieces_framework_1.createAction)({
40
40
  var _a, _b;
41
41
  const { topic, model, prefixText } = context.propsValue;
42
42
  const auth = context.auth;
43
- // Build the request body
44
- const formData = {
45
- username: auth.imgflipUsername,
46
- password: auth.imgflipPassword,
47
- text: topic,
48
- };
43
+ // Build form data using URLSearchParams
44
+ const params = new URLSearchParams();
45
+ params.append('username', auth.imgflipUsername);
46
+ params.append('password', auth.imgflipPassword);
47
+ params.append('text', topic);
49
48
  if (model)
50
- formData['model'] = model;
49
+ params.append('model', model);
51
50
  if (prefixText)
52
- formData['prefix_text'] = prefixText;
53
- // Convert to URL-encoded form data
54
- const body = Object.entries(formData)
55
- .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
56
- .join('&');
51
+ params.append('prefix_text', prefixText);
57
52
  const response = yield pieces_common_1.httpClient.sendRequest({
58
53
  method: pieces_common_1.HttpMethod.POST,
59
54
  url: `${IMGFLIP_API_URL}/ai_meme`,
60
55
  headers: {
61
56
  'Content-Type': 'application/x-www-form-urlencoded',
62
57
  },
63
- body,
58
+ body: params.toString(),
64
59
  });
65
60
  if (!response.body.success) {
66
61
  // Check if it's a premium required error
@@ -1 +1 @@
1
- {"version":3,"file":"generate-meme-with-ai.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/skai-gen-image/src/lib/actions/generate-meme-with-ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-meme-with-ai.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/skai-gen-image/src/lib/actions/generate-meme-with-ai.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,7 @@ export declare const getTrendingTemplates: import("@activepieces/pieces-framewor
2
2
  openaiApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
3
3
  imgflipUsername: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
4
  imgflipPassword: import("@activepieces/pieces-framework").SecretTextProperty<true>;
5
- }>, {}>;
5
+ }>, {
6
+ searchText: import("@activepieces/pieces-framework").ShortTextProperty<false>;
7
+ maxItems: import("@activepieces/pieces-framework").NumberProperty<false>;
8
+ }>;
@@ -34,9 +34,21 @@ exports.getTrendingTemplates = (0, pieces_framework_1.createAction)({
34
34
  name: 'get_trending_templates',
35
35
  displayName: 'Get Trending Meme Templates',
36
36
  description: 'Get the most popular meme templates from Imgflip (Drake, Distracted Boyfriend, etc.)',
37
- props: {},
38
- run() {
37
+ props: {
38
+ searchText: pieces_framework_1.Property.ShortText({
39
+ displayName: 'Search Text',
40
+ description: 'Filter templates by name (case-insensitive, partial match). E.g., "drake", "dog", "button"',
41
+ required: false,
42
+ }),
43
+ maxItems: pieces_framework_1.Property.Number({
44
+ displayName: 'Max Items',
45
+ description: 'Maximum number of templates to retrieve (default: all available)',
46
+ required: false,
47
+ }),
48
+ },
49
+ run(context) {
39
50
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
+ const { searchText, maxItems } = context.propsValue;
40
52
  const response = yield pieces_common_1.httpClient.sendRequest({
41
53
  method: pieces_common_1.HttpMethod.GET,
42
54
  url: `${IMGFLIP_API_URL}/get_memes`,
@@ -46,7 +58,7 @@ exports.getTrendingTemplates = (0, pieces_framework_1.createAction)({
46
58
  }
47
59
  const memes = response.body.data.memes;
48
60
  // Enrich templates with descriptions
49
- const enrichedMemes = memes.map((meme) => ({
61
+ let enrichedMemes = memes.map((meme) => ({
50
62
  id: meme.id,
51
63
  name: meme.name,
52
64
  url: meme.url,
@@ -55,12 +67,22 @@ exports.getTrendingTemplates = (0, pieces_framework_1.createAction)({
55
67
  boxCount: meme.box_count,
56
68
  description: TEMPLATE_DESCRIPTIONS[meme.id] || `${meme.name} - ${meme.box_count} text boxes`,
57
69
  }));
70
+ // Apply search filter if specified (case-insensitive partial match)
71
+ if (searchText && searchText.trim()) {
72
+ const searchLower = searchText.toLowerCase().trim();
73
+ enrichedMemes = enrichedMemes.filter((meme) => meme.name.toLowerCase().includes(searchLower) ||
74
+ meme.description.toLowerCase().includes(searchLower));
75
+ }
76
+ // Apply maxItems limit if specified
77
+ if (maxItems && maxItems > 0) {
78
+ enrichedMemes = enrichedMemes.slice(0, maxItems);
79
+ }
58
80
  return {
59
81
  success: true,
60
82
  templates: enrichedMemes,
61
83
  totalCount: enrichedMemes.length,
62
- // Top 20 for quick reference
63
- topTemplates: enrichedMemes.slice(0, 20).map((m) => ({
84
+ // Top templates for quick reference (up to 20 or maxItems if smaller)
85
+ topTemplates: enrichedMemes.slice(0, Math.min(20, enrichedMemes.length)).map((m) => ({
64
86
  id: m.id,
65
87
  name: m.name,
66
88
  description: m.description,
@@ -1 +1 @@
1
- {"version":3,"file":"get-trending-templates.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/skai-gen-image/src/lib/actions/get-trending-templates.ts"],"names":[],"mappings":";;;;AAAA,qEAA8D;AAC9D,+DAAqE;AACrE,uCAA+C;AAE/C,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAElD,4DAA4D;AAC5D,MAAM,qBAAqB,GAA2B;IAClD,WAAW,EAAE,gGAAgG;IAC7G,UAAU,EAAE,4EAA4E;IACxF,WAAW,EAAE,2FAA2F;IACxG,WAAW,EAAE,qFAAqF;IAClG,OAAO,EAAE,kEAAkE;IAC3E,QAAQ,EAAE,2EAA2E;IACrF,OAAO,EAAE,gEAAgE;IACzE,QAAQ,EAAE,uDAAuD;IACjE,OAAO,EAAE,iEAAiE;IAC1E,UAAU,EAAE,uEAAuE;IACnF,WAAW,EAAE,kEAAkE;IAC/E,WAAW,EAAE,kEAAkE;IAC/E,WAAW,EAAE,mFAAmF;IAChG,WAAW,EAAE,sEAAsE;IACnF,WAAW,EAAE,qDAAqD;IAClE,WAAW,EAAE,iEAAiE;IAC9E,WAAW,EAAE,0EAA0E;IACvF,WAAW,EAAE,qEAAqE;IAClF,WAAW,EAAE,yDAAyD;IACtE,WAAW,EAAE,wDAAwD;CACxE,CAAC;AAEW,QAAA,oBAAoB,GAAG,IAAA,+BAAY,EAAC;IAC7C,IAAI,EAAE,wBAAgB;IACtB,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE,sFAAsF;IACnG,KAAK,EAAE,EAAE;IACH,GAAG;;YACL,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC1C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,eAAe,YAAY;aACtC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,eAAe,EAAE,CAAC,CAAC;YACvG,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAEvC,qCAAqC;YACrC,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAiG,EAAE,EAAE,CAAC,CAAC;gBACpI,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,SAAS,aAAa;aAC/F,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,aAAa;gBACxB,UAAU,EAAE,aAAa,CAAC,MAAM;gBAChC,6BAA6B;gBAC7B,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAoD,EAAE,EAAE,CAAC,CAAC;oBACpG,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;iBAC7B,CAAC,CAAC;aACN,CAAC;QACN,CAAC;KAAA;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"get-trending-templates.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/skai-gen-image/src/lib/actions/get-trending-templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const randomTemplate: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ openaiApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
3
+ imgflipUsername: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ imgflipPassword: import("@activepieces/pieces-framework").SecretTextProperty<true>;
5
+ }>, {
6
+ searchText: import("@activepieces/pieces-framework").ShortTextProperty<false>;
7
+ topOnly: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
+ }>;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.randomTemplate = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const index_1 = require("../../index");
8
+ const IMGFLIP_API_URL = 'https://api.imgflip.com';
9
+ // Popular meme templates with descriptions
10
+ const TEMPLATE_DESCRIPTIONS = {
11
+ '181913649': 'Drake Hotline Bling - Two panel, top shows rejection/dislike, bottom shows approval/preference',
12
+ '87743020': 'Two Buttons - Person sweating while choosing between two difficult options',
13
+ '112126428': 'Distracted Boyfriend - Person looking at something new while partner looks disapprovingly',
14
+ '131087935': 'Running Away Balloon - Person chasing after something while ignoring what they have',
15
+ '97984': 'Disaster Girl - Girl smiling deviously in front of burning house',
16
+ '438680': 'Batman Slapping Robin - Batman slapping Robin mid-sentence to correct him',
17
+ '61579': 'One Does Not Simply - Boromir explaining something is not easy',
18
+ '101470': 'Ancient Aliens - Guy suggesting aliens as explanation',
19
+ '61532': 'The Rock Driving - Rock driving car, reaction to something said',
20
+ '91538330': 'X X Everywhere - Buzz Lightyear showing Woody something is everywhere',
21
+ '124822590': 'Left Exit 12 Off Ramp - Car swerving to take exit at last moment',
22
+ '217743513': 'UNO Draw 25 - Choice between doing something or drawing 25 cards',
23
+ '252600902': 'Always Has Been - Two astronauts, one realizing truth, other says always has been',
24
+ '188390779': 'Woman Yelling at Cat - Woman yelling at confused cat at dinner table',
25
+ '119139145': 'Blank Nut Button - Person eagerly pressing a button',
26
+ '135256802': 'Epic Handshake - Two arms meeting in agreement on common ground',
27
+ '129242436': 'Change My Mind - Person at table challenging others to change their mind',
28
+ '222403160': 'Bernie I Am Once Again Asking - Bernie Sanders asking for something',
29
+ '247375501': 'Buff Doge vs Cheems - Strong dog vs weak dog comparison',
30
+ '259237855': 'Laughing Leo - Leonardo DiCaprio laughing and pointing',
31
+ };
32
+ exports.randomTemplate = (0, pieces_framework_1.createAction)({
33
+ auth: index_1.skaiGenImageAuth,
34
+ name: 'random_template',
35
+ displayName: 'Random Template Picker',
36
+ description: 'Get a random meme template, optionally filtered by search text',
37
+ props: {
38
+ searchText: pieces_framework_1.Property.ShortText({
39
+ displayName: 'Search Text (Optional)',
40
+ description: 'Filter templates before picking random. E.g., "dog", "button", "choice"',
41
+ required: false,
42
+ }),
43
+ topOnly: pieces_framework_1.Property.Checkbox({
44
+ displayName: 'Top Templates Only',
45
+ description: 'Only pick from top 50 most popular templates',
46
+ required: false,
47
+ defaultValue: true,
48
+ }),
49
+ },
50
+ run(context) {
51
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
+ const { searchText, topOnly } = context.propsValue;
53
+ const response = yield pieces_common_1.httpClient.sendRequest({
54
+ method: pieces_common_1.HttpMethod.GET,
55
+ url: `${IMGFLIP_API_URL}/get_memes`,
56
+ });
57
+ if (!response.body.success) {
58
+ throw new Error(`Failed to get meme templates: ${response.body.error_message || 'Unknown error'}`);
59
+ }
60
+ let memes = response.body.data.memes;
61
+ // Limit to top 50 if requested
62
+ if (topOnly) {
63
+ memes = memes.slice(0, 50);
64
+ }
65
+ // Enrich with descriptions
66
+ let enrichedMemes = memes.map((meme) => ({
67
+ id: meme.id,
68
+ name: meme.name,
69
+ url: meme.url,
70
+ width: meme.width,
71
+ height: meme.height,
72
+ boxCount: meme.box_count,
73
+ description: TEMPLATE_DESCRIPTIONS[meme.id] || `${meme.name} - ${meme.box_count} text boxes`,
74
+ }));
75
+ // Apply search filter if specified
76
+ if (searchText && searchText.trim()) {
77
+ const searchLower = searchText.toLowerCase().trim();
78
+ enrichedMemes = enrichedMemes.filter((meme) => meme.name.toLowerCase().includes(searchLower) ||
79
+ meme.description.toLowerCase().includes(searchLower));
80
+ }
81
+ if (enrichedMemes.length === 0) {
82
+ throw new Error(`No templates found${searchText ? ` matching "${searchText}"` : ''}`);
83
+ }
84
+ // Pick a random template
85
+ const randomIndex = Math.floor(Math.random() * enrichedMemes.length);
86
+ const selectedTemplate = enrichedMemes[randomIndex];
87
+ return {
88
+ success: true,
89
+ template: selectedTemplate,
90
+ poolSize: enrichedMemes.length,
91
+ message: `Randomly selected "${selectedTemplate.name}" from ${enrichedMemes.length} templates`,
92
+ };
93
+ });
94
+ },
95
+ });
96
+ //# sourceMappingURL=random-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-template.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/skai-gen-image/src/lib/actions/random-template.ts"],"names":[],"mappings":"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"}