@gptmarket/temporal-types 0.0.31 → 0.0.33
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
package/registry.ts
CHANGED
|
@@ -133,6 +133,15 @@ export const inspirations_pinterest: WorkflowDefinition<
|
|
|
133
133
|
required: true,
|
|
134
134
|
default: null,
|
|
135
135
|
},
|
|
136
|
+
{
|
|
137
|
+
name: "num_images",
|
|
138
|
+
type: "number",
|
|
139
|
+
label: "Num Images",
|
|
140
|
+
description: "Number of inspiration images to return",
|
|
141
|
+
required: false,
|
|
142
|
+
default: 50,
|
|
143
|
+
validation: { min: 1, max: 100 },
|
|
144
|
+
},
|
|
136
145
|
],
|
|
137
146
|
};
|
|
138
147
|
|
|
@@ -959,6 +968,233 @@ export const saa_s_video: WorkflowDefinition<
|
|
|
959
968
|
],
|
|
960
969
|
};
|
|
961
970
|
|
|
971
|
+
export const screenshot_generator: WorkflowDefinition<
|
|
972
|
+
Types.ScreenshotGeneratorInput,
|
|
973
|
+
Types.ScreenshotGeneratorOutput
|
|
974
|
+
> = {
|
|
975
|
+
id: "screenshot_generator",
|
|
976
|
+
name: "Screenshot Generator",
|
|
977
|
+
description: "Screenshot Generator Workflow.",
|
|
978
|
+
workflowClass: "ScreenshotGeneratorWorkflow",
|
|
979
|
+
inputType: "ScreenshotGeneratorInput",
|
|
980
|
+
outputType: "ScreenshotGeneratorOutput",
|
|
981
|
+
fields: [
|
|
982
|
+
{
|
|
983
|
+
name: "secret_key",
|
|
984
|
+
type: "text",
|
|
985
|
+
label: "Secret Key",
|
|
986
|
+
description:
|
|
987
|
+
"Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True)",
|
|
988
|
+
required: false,
|
|
989
|
+
default: null,
|
|
990
|
+
},
|
|
991
|
+
{
|
|
992
|
+
name: "rewrite_enabled",
|
|
993
|
+
type: "checkbox",
|
|
994
|
+
label: "Rewrite Enabled",
|
|
995
|
+
description:
|
|
996
|
+
"Make your content appear as fresh, original uploads. Bypasses duplicate detection and AI content filters on social platforms.",
|
|
997
|
+
required: false,
|
|
998
|
+
default: false,
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
name: "rewrite_device",
|
|
1002
|
+
type: "select",
|
|
1003
|
+
label: "Rewrite Device",
|
|
1004
|
+
description:
|
|
1005
|
+
"Make media appear as if created on this device. Adds authenticity and helps bypass platform detection. Random device if not specified.",
|
|
1006
|
+
required: false,
|
|
1007
|
+
default: null,
|
|
1008
|
+
options: [
|
|
1009
|
+
{ value: "iPhone 17 Pro Max", label: "Iphone 17 Pro Max" },
|
|
1010
|
+
{ value: "iPhone 17 Pro", label: "Iphone 17 Pro" },
|
|
1011
|
+
{ value: "iPhone 17 Plus", label: "Iphone 17 Plus" },
|
|
1012
|
+
{ value: "iPhone 17", label: "Iphone 17" },
|
|
1013
|
+
{ value: "iPhone 16 Pro Max", label: "Iphone 16 Pro Max" },
|
|
1014
|
+
{ value: "iPhone 16 Pro", label: "Iphone 16 Pro" },
|
|
1015
|
+
{ value: "iPhone 16 Plus", label: "Iphone 16 Plus" },
|
|
1016
|
+
{ value: "iPhone 16", label: "Iphone 16" },
|
|
1017
|
+
{ value: "iPhone 15 Pro Max", label: "Iphone 15 Pro Max" },
|
|
1018
|
+
{ value: "iPhone 15 Pro", label: "Iphone 15 Pro" },
|
|
1019
|
+
{ value: "iPhone 15 Plus", label: "Iphone 15 Plus" },
|
|
1020
|
+
{ value: "iPhone 15", label: "Iphone 15" },
|
|
1021
|
+
{ value: "iPhone 14 Pro Max", label: "Iphone 14 Pro Max" },
|
|
1022
|
+
{ value: "iPhone 14 Pro", label: "Iphone 14 Pro" },
|
|
1023
|
+
{ value: "iPhone 14 Plus", label: "Iphone 14 Plus" },
|
|
1024
|
+
{ value: "iPhone 14", label: "Iphone 14" },
|
|
1025
|
+
{ value: "iPhone 13 Pro Max", label: "Iphone 13 Pro Max" },
|
|
1026
|
+
{ value: "iPhone 13 Pro", label: "Iphone 13 Pro" },
|
|
1027
|
+
{ value: "iPhone 13", label: "Iphone 13" },
|
|
1028
|
+
{ value: "iPhone 13 mini", label: "Iphone 13 Mini" },
|
|
1029
|
+
{
|
|
1030
|
+
value: "Ray-Ban Meta Smart Glasses",
|
|
1031
|
+
label: "Ray-Ban Meta Smart Glasses",
|
|
1032
|
+
},
|
|
1033
|
+
],
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
name: "app_url",
|
|
1037
|
+
type: "text",
|
|
1038
|
+
label: "App Url",
|
|
1039
|
+
description: "App Store URL",
|
|
1040
|
+
required: false,
|
|
1041
|
+
default: null,
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
name: "app_id",
|
|
1045
|
+
type: "text",
|
|
1046
|
+
label: "App Id",
|
|
1047
|
+
description: "Numeric App Store ID",
|
|
1048
|
+
required: false,
|
|
1049
|
+
default: null,
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
name: "country",
|
|
1053
|
+
type: "text",
|
|
1054
|
+
label: "Country",
|
|
1055
|
+
description: "Country code for App Store lookup",
|
|
1056
|
+
required: false,
|
|
1057
|
+
default: "us",
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
name: "app_title",
|
|
1061
|
+
type: "text",
|
|
1062
|
+
label: "App Title",
|
|
1063
|
+
description: "App title (overrides fetched)",
|
|
1064
|
+
required: false,
|
|
1065
|
+
default: null,
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
name: "app_subtitle",
|
|
1069
|
+
type: "text",
|
|
1070
|
+
label: "App Subtitle",
|
|
1071
|
+
description: "App subtitle / tagline",
|
|
1072
|
+
required: false,
|
|
1073
|
+
default: null,
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
name: "app_description",
|
|
1077
|
+
type: "textarea",
|
|
1078
|
+
label: "App Description",
|
|
1079
|
+
description: "App description (overrides fetched)",
|
|
1080
|
+
required: false,
|
|
1081
|
+
default: null,
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
name: "primary_color",
|
|
1085
|
+
type: "text",
|
|
1086
|
+
label: "Primary Color",
|
|
1087
|
+
description: 'Primary brand color hex (e.g. "#4A90D9")',
|
|
1088
|
+
required: false,
|
|
1089
|
+
default: null,
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
name: "secondary_color",
|
|
1093
|
+
type: "text",
|
|
1094
|
+
label: "Secondary Color",
|
|
1095
|
+
description: "Secondary brand color hex",
|
|
1096
|
+
required: false,
|
|
1097
|
+
default: null,
|
|
1098
|
+
},
|
|
1099
|
+
{
|
|
1100
|
+
name: "accent_color",
|
|
1101
|
+
type: "text",
|
|
1102
|
+
label: "Accent Color",
|
|
1103
|
+
description: "Accent color hex",
|
|
1104
|
+
required: false,
|
|
1105
|
+
default: null,
|
|
1106
|
+
},
|
|
1107
|
+
{
|
|
1108
|
+
name: "background_style",
|
|
1109
|
+
type: "text",
|
|
1110
|
+
label: "Background Style",
|
|
1111
|
+
description:
|
|
1112
|
+
"Background style: gradient, solid, abstract, blurred, minimal, dark, light",
|
|
1113
|
+
required: false,
|
|
1114
|
+
default: null,
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
name: "design_style",
|
|
1118
|
+
type: "text",
|
|
1119
|
+
label: "Design Style",
|
|
1120
|
+
description:
|
|
1121
|
+
"Overall design style: modern, bold, playful, corporate, elegant, minimal, vibrant",
|
|
1122
|
+
required: false,
|
|
1123
|
+
default: null,
|
|
1124
|
+
},
|
|
1125
|
+
{
|
|
1126
|
+
name: "brand_keywords",
|
|
1127
|
+
type: "json",
|
|
1128
|
+
label: "Brand Keywords",
|
|
1129
|
+
description:
|
|
1130
|
+
'Keywords describing the brand aesthetic (e.g. ["clean", "premium"])',
|
|
1131
|
+
required: false,
|
|
1132
|
+
default: null,
|
|
1133
|
+
},
|
|
1134
|
+
{
|
|
1135
|
+
name: "target_audience",
|
|
1136
|
+
type: "text",
|
|
1137
|
+
label: "Target Audience",
|
|
1138
|
+
description: 'Target audience (e.g. "young professionals", "parents")',
|
|
1139
|
+
required: false,
|
|
1140
|
+
default: null,
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
name: "app_screenshots",
|
|
1144
|
+
type: "json",
|
|
1145
|
+
label: "App Screenshots",
|
|
1146
|
+
description:
|
|
1147
|
+
"The app's own existing screenshots (MUST be provided to be placed inside the device mockup)",
|
|
1148
|
+
required: true,
|
|
1149
|
+
default: null,
|
|
1150
|
+
validation: { minLength: 1 },
|
|
1151
|
+
},
|
|
1152
|
+
{
|
|
1153
|
+
name: "batches",
|
|
1154
|
+
type: "json",
|
|
1155
|
+
label: "Batches",
|
|
1156
|
+
description: "Reference screenshot batches — one per screenshot position",
|
|
1157
|
+
required: false,
|
|
1158
|
+
default: null,
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
name: "num_screenshots",
|
|
1162
|
+
type: "number",
|
|
1163
|
+
label: "Num Screenshots",
|
|
1164
|
+
description: "",
|
|
1165
|
+
required: false,
|
|
1166
|
+
default: 6,
|
|
1167
|
+
validation: { min: 1, max: 10 },
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
name: "aspect_ratio",
|
|
1171
|
+
type: "text",
|
|
1172
|
+
label: "Aspect Ratio",
|
|
1173
|
+
description: "Aspect ratio (9:16 for iPhone)",
|
|
1174
|
+
required: false,
|
|
1175
|
+
default: "9:16",
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
name: "image_model",
|
|
1179
|
+
type: "text",
|
|
1180
|
+
label: "Image Model",
|
|
1181
|
+
description: "Image model ID from registry",
|
|
1182
|
+
required: false,
|
|
1183
|
+
default: "nano-banana-2",
|
|
1184
|
+
hidden: true,
|
|
1185
|
+
},
|
|
1186
|
+
{
|
|
1187
|
+
name: "image_model_params",
|
|
1188
|
+
type: "json",
|
|
1189
|
+
label: "Image Model Params",
|
|
1190
|
+
description: "",
|
|
1191
|
+
required: false,
|
|
1192
|
+
default: null,
|
|
1193
|
+
hidden: true,
|
|
1194
|
+
},
|
|
1195
|
+
],
|
|
1196
|
+
};
|
|
1197
|
+
|
|
962
1198
|
export const slideshow_to_video: WorkflowDefinition<
|
|
963
1199
|
Types.SlideshowToVideoInput,
|
|
964
1200
|
Types.SlideshowToVideoOutput
|
|
@@ -2263,6 +2499,7 @@ export const workflowRegistry = {
|
|
|
2263
2499
|
ruby,
|
|
2264
2500
|
saa_s_loom,
|
|
2265
2501
|
saa_s_video,
|
|
2502
|
+
screenshot_generator,
|
|
2266
2503
|
slideshow_to_video,
|
|
2267
2504
|
slideshows_pinterest,
|
|
2268
2505
|
speaking_doctor,
|
|
@@ -2296,6 +2533,7 @@ export type WorkflowInputMap = {
|
|
|
2296
2533
|
ruby: Types.RubyInput;
|
|
2297
2534
|
saa_s_loom: Types.SaaSLoomInput;
|
|
2298
2535
|
saa_s_video: Types.SaaSVideoInput;
|
|
2536
|
+
screenshot_generator: Types.ScreenshotGeneratorInput;
|
|
2299
2537
|
slideshow_to_video: Types.SlideshowToVideoInput;
|
|
2300
2538
|
slideshows_pinterest: Types.SlideshowsPinterestInput;
|
|
2301
2539
|
speaking_doctor: Types.SpeakingDoctorInput;
|
|
@@ -2308,6 +2546,7 @@ export type WorkflowOutputMap = {
|
|
|
2308
2546
|
ruby: Types.RubyOutput;
|
|
2309
2547
|
saa_s_loom: Types.SaaSLoomOutput;
|
|
2310
2548
|
saa_s_video: Types.SaaSVideoOutput;
|
|
2549
|
+
screenshot_generator: Types.ScreenshotGeneratorOutput;
|
|
2311
2550
|
slideshow_to_video: Types.SlideshowToVideoOutput;
|
|
2312
2551
|
slideshows_pinterest: Types.SlideshowsPinterestOutput;
|
|
2313
2552
|
speaking_doctor: Types.SpeakingDoctorOutput;
|
|
@@ -60,6 +60,14 @@
|
|
|
60
60
|
"description": "What kind of inspiration the user wants (e.g., \"landing page design\")",
|
|
61
61
|
"title": "Prompt",
|
|
62
62
|
"type": "string"
|
|
63
|
+
},
|
|
64
|
+
"num_images": {
|
|
65
|
+
"default": 50,
|
|
66
|
+
"description": "Number of inspiration images to return",
|
|
67
|
+
"maximum": 100,
|
|
68
|
+
"minimum": 1,
|
|
69
|
+
"title": "Num Images",
|
|
70
|
+
"type": "integer"
|
|
63
71
|
}
|
|
64
72
|
},
|
|
65
73
|
"required": [
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"ScreenshotBatch": {
|
|
4
|
+
"description": "Reference screenshots for a single screenshot position.",
|
|
5
|
+
"properties": {
|
|
6
|
+
"position": {
|
|
7
|
+
"description": "Screenshot position (1-based)",
|
|
8
|
+
"maximum": 10,
|
|
9
|
+
"minimum": 1,
|
|
10
|
+
"title": "Position",
|
|
11
|
+
"type": "integer"
|
|
12
|
+
},
|
|
13
|
+
"headline": {
|
|
14
|
+
"anyOf": [
|
|
15
|
+
{
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"type": "null"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"default": null,
|
|
23
|
+
"description": "Headline text to display on this screenshot",
|
|
24
|
+
"title": "Headline"
|
|
25
|
+
},
|
|
26
|
+
"sub_headline": {
|
|
27
|
+
"anyOf": [
|
|
28
|
+
{
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "null"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"default": null,
|
|
36
|
+
"description": "Supporting text below the headline",
|
|
37
|
+
"title": "Sub Headline"
|
|
38
|
+
},
|
|
39
|
+
"feature_description": {
|
|
40
|
+
"anyOf": [
|
|
41
|
+
{
|
|
42
|
+
"type": "string"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "null"
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"default": null,
|
|
49
|
+
"description": "What feature or benefit this screenshot should highlight",
|
|
50
|
+
"title": "Feature Description"
|
|
51
|
+
},
|
|
52
|
+
"reference_urls": {
|
|
53
|
+
"description": "Reference screenshot URLs from similar apps for this position",
|
|
54
|
+
"items": {
|
|
55
|
+
"type": "string"
|
|
56
|
+
},
|
|
57
|
+
"title": "Reference Urls",
|
|
58
|
+
"type": "array"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"required": [
|
|
62
|
+
"position"
|
|
63
|
+
],
|
|
64
|
+
"title": "ScreenshotBatch",
|
|
65
|
+
"type": "object"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"description": "Input for App Store screenshot generation.",
|
|
69
|
+
"properties": {
|
|
70
|
+
"secret_key": {
|
|
71
|
+
"anyOf": [
|
|
72
|
+
{
|
|
73
|
+
"type": "string"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"type": "null"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"default": null,
|
|
80
|
+
"description": "Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True)",
|
|
81
|
+
"title": "Secret Key"
|
|
82
|
+
},
|
|
83
|
+
"rewrite_enabled": {
|
|
84
|
+
"default": false,
|
|
85
|
+
"description": "Make your content appear as fresh, original uploads. Bypasses duplicate detection and AI content filters on social platforms.",
|
|
86
|
+
"title": "Rewrite Enabled",
|
|
87
|
+
"type": "boolean"
|
|
88
|
+
},
|
|
89
|
+
"rewrite_device": {
|
|
90
|
+
"anyOf": [
|
|
91
|
+
{
|
|
92
|
+
"enum": [
|
|
93
|
+
"iPhone 17 Pro Max",
|
|
94
|
+
"iPhone 17 Pro",
|
|
95
|
+
"iPhone 17 Plus",
|
|
96
|
+
"iPhone 17",
|
|
97
|
+
"iPhone 16 Pro Max",
|
|
98
|
+
"iPhone 16 Pro",
|
|
99
|
+
"iPhone 16 Plus",
|
|
100
|
+
"iPhone 16",
|
|
101
|
+
"iPhone 15 Pro Max",
|
|
102
|
+
"iPhone 15 Pro",
|
|
103
|
+
"iPhone 15 Plus",
|
|
104
|
+
"iPhone 15",
|
|
105
|
+
"iPhone 14 Pro Max",
|
|
106
|
+
"iPhone 14 Pro",
|
|
107
|
+
"iPhone 14 Plus",
|
|
108
|
+
"iPhone 14",
|
|
109
|
+
"iPhone 13 Pro Max",
|
|
110
|
+
"iPhone 13 Pro",
|
|
111
|
+
"iPhone 13",
|
|
112
|
+
"iPhone 13 mini",
|
|
113
|
+
"Ray-Ban Meta Smart Glasses"
|
|
114
|
+
],
|
|
115
|
+
"type": "string"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"type": "null"
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
"default": null,
|
|
122
|
+
"description": "Make media appear as if created on this device. Adds authenticity and helps bypass platform detection. Random device if not specified.",
|
|
123
|
+
"title": "Rewrite Device"
|
|
124
|
+
},
|
|
125
|
+
"app_url": {
|
|
126
|
+
"anyOf": [
|
|
127
|
+
{
|
|
128
|
+
"type": "string"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"type": "null"
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"default": null,
|
|
135
|
+
"description": "App Store URL",
|
|
136
|
+
"title": "App Url"
|
|
137
|
+
},
|
|
138
|
+
"app_id": {
|
|
139
|
+
"anyOf": [
|
|
140
|
+
{
|
|
141
|
+
"type": "string"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"type": "null"
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"default": null,
|
|
148
|
+
"description": "Numeric App Store ID",
|
|
149
|
+
"title": "App Id"
|
|
150
|
+
},
|
|
151
|
+
"country": {
|
|
152
|
+
"default": "us",
|
|
153
|
+
"description": "Country code for App Store lookup",
|
|
154
|
+
"title": "Country",
|
|
155
|
+
"type": "string"
|
|
156
|
+
},
|
|
157
|
+
"app_title": {
|
|
158
|
+
"anyOf": [
|
|
159
|
+
{
|
|
160
|
+
"type": "string"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"type": "null"
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
"default": null,
|
|
167
|
+
"description": "App title (overrides fetched)",
|
|
168
|
+
"title": "App Title"
|
|
169
|
+
},
|
|
170
|
+
"app_subtitle": {
|
|
171
|
+
"anyOf": [
|
|
172
|
+
{
|
|
173
|
+
"type": "string"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"type": "null"
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
"default": null,
|
|
180
|
+
"description": "App subtitle / tagline",
|
|
181
|
+
"title": "App Subtitle"
|
|
182
|
+
},
|
|
183
|
+
"app_description": {
|
|
184
|
+
"anyOf": [
|
|
185
|
+
{
|
|
186
|
+
"type": "string"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"type": "null"
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
"default": null,
|
|
193
|
+
"description": "App description (overrides fetched)",
|
|
194
|
+
"title": "App Description"
|
|
195
|
+
},
|
|
196
|
+
"primary_color": {
|
|
197
|
+
"anyOf": [
|
|
198
|
+
{
|
|
199
|
+
"type": "string"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"type": "null"
|
|
203
|
+
}
|
|
204
|
+
],
|
|
205
|
+
"default": null,
|
|
206
|
+
"description": "Primary brand color hex (e.g. \"#4A90D9\")",
|
|
207
|
+
"title": "Primary Color"
|
|
208
|
+
},
|
|
209
|
+
"secondary_color": {
|
|
210
|
+
"anyOf": [
|
|
211
|
+
{
|
|
212
|
+
"type": "string"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"type": "null"
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
"default": null,
|
|
219
|
+
"description": "Secondary brand color hex",
|
|
220
|
+
"title": "Secondary Color"
|
|
221
|
+
},
|
|
222
|
+
"accent_color": {
|
|
223
|
+
"anyOf": [
|
|
224
|
+
{
|
|
225
|
+
"type": "string"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"type": "null"
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"default": null,
|
|
232
|
+
"description": "Accent color hex",
|
|
233
|
+
"title": "Accent Color"
|
|
234
|
+
},
|
|
235
|
+
"background_style": {
|
|
236
|
+
"anyOf": [
|
|
237
|
+
{
|
|
238
|
+
"type": "string"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"type": "null"
|
|
242
|
+
}
|
|
243
|
+
],
|
|
244
|
+
"default": null,
|
|
245
|
+
"description": "Background style: gradient, solid, abstract, blurred, minimal, dark, light",
|
|
246
|
+
"title": "Background Style"
|
|
247
|
+
},
|
|
248
|
+
"design_style": {
|
|
249
|
+
"anyOf": [
|
|
250
|
+
{
|
|
251
|
+
"type": "string"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"type": "null"
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
"default": null,
|
|
258
|
+
"description": "Overall design style: modern, bold, playful, corporate, elegant, minimal, vibrant",
|
|
259
|
+
"title": "Design Style"
|
|
260
|
+
},
|
|
261
|
+
"brand_keywords": {
|
|
262
|
+
"description": "Keywords describing the brand aesthetic (e.g. [\"clean\", \"premium\"])",
|
|
263
|
+
"items": {
|
|
264
|
+
"type": "string"
|
|
265
|
+
},
|
|
266
|
+
"title": "Brand Keywords",
|
|
267
|
+
"type": "array"
|
|
268
|
+
},
|
|
269
|
+
"target_audience": {
|
|
270
|
+
"anyOf": [
|
|
271
|
+
{
|
|
272
|
+
"type": "string"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"type": "null"
|
|
276
|
+
}
|
|
277
|
+
],
|
|
278
|
+
"default": null,
|
|
279
|
+
"description": "Target audience (e.g. \"young professionals\", \"parents\")",
|
|
280
|
+
"title": "Target Audience"
|
|
281
|
+
},
|
|
282
|
+
"app_screenshots": {
|
|
283
|
+
"description": "The app's own existing screenshots (MUST be provided to be placed inside the device mockup)",
|
|
284
|
+
"items": {
|
|
285
|
+
"type": "string"
|
|
286
|
+
},
|
|
287
|
+
"minItems": 1,
|
|
288
|
+
"title": "App Screenshots",
|
|
289
|
+
"type": "array"
|
|
290
|
+
},
|
|
291
|
+
"batches": {
|
|
292
|
+
"description": "Reference screenshot batches \u2014 one per screenshot position",
|
|
293
|
+
"items": {
|
|
294
|
+
"$ref": "#/$defs/ScreenshotBatch"
|
|
295
|
+
},
|
|
296
|
+
"title": "Batches",
|
|
297
|
+
"type": "array"
|
|
298
|
+
},
|
|
299
|
+
"num_screenshots": {
|
|
300
|
+
"default": 6,
|
|
301
|
+
"maximum": 10,
|
|
302
|
+
"minimum": 1,
|
|
303
|
+
"title": "Num Screenshots",
|
|
304
|
+
"type": "integer"
|
|
305
|
+
},
|
|
306
|
+
"aspect_ratio": {
|
|
307
|
+
"default": "9:16",
|
|
308
|
+
"description": "Aspect ratio (9:16 for iPhone)",
|
|
309
|
+
"title": "Aspect Ratio",
|
|
310
|
+
"type": "string"
|
|
311
|
+
},
|
|
312
|
+
"image_model": {
|
|
313
|
+
"default": "nano-banana-2",
|
|
314
|
+
"description": "Image model ID from registry",
|
|
315
|
+
"title": "Image Model",
|
|
316
|
+
"type": "string"
|
|
317
|
+
},
|
|
318
|
+
"image_model_params": {
|
|
319
|
+
"additionalProperties": true,
|
|
320
|
+
"title": "Image Model Params",
|
|
321
|
+
"type": "object"
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
"required": [
|
|
325
|
+
"app_screenshots"
|
|
326
|
+
],
|
|
327
|
+
"title": "ScreenshotGeneratorInput",
|
|
328
|
+
"type": "object"
|
|
329
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"GeneratedScreenshot": {
|
|
4
|
+
"description": "A single generated App Store screenshot.",
|
|
5
|
+
"properties": {
|
|
6
|
+
"position": {
|
|
7
|
+
"description": "Screenshot position (1-based)",
|
|
8
|
+
"title": "Position",
|
|
9
|
+
"type": "integer"
|
|
10
|
+
},
|
|
11
|
+
"image_url": {
|
|
12
|
+
"description": "Generated screenshot URL",
|
|
13
|
+
"title": "Image Url",
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"headline": {
|
|
17
|
+
"anyOf": [
|
|
18
|
+
{
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "null"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"default": null,
|
|
26
|
+
"description": "Headline used",
|
|
27
|
+
"title": "Headline"
|
|
28
|
+
},
|
|
29
|
+
"prompt_used": {
|
|
30
|
+
"default": "",
|
|
31
|
+
"description": "Image generation prompt used",
|
|
32
|
+
"title": "Prompt Used",
|
|
33
|
+
"type": "string"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"required": [
|
|
37
|
+
"position",
|
|
38
|
+
"image_url"
|
|
39
|
+
],
|
|
40
|
+
"title": "GeneratedScreenshot",
|
|
41
|
+
"type": "object"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"description": "Output from the screenshot generator workflow.",
|
|
45
|
+
"properties": {
|
|
46
|
+
"screenshots": {
|
|
47
|
+
"items": {
|
|
48
|
+
"$ref": "#/$defs/GeneratedScreenshot"
|
|
49
|
+
},
|
|
50
|
+
"title": "Screenshots",
|
|
51
|
+
"type": "array"
|
|
52
|
+
},
|
|
53
|
+
"app_title": {
|
|
54
|
+
"default": "",
|
|
55
|
+
"title": "App Title",
|
|
56
|
+
"type": "string"
|
|
57
|
+
},
|
|
58
|
+
"app_description": {
|
|
59
|
+
"anyOf": [
|
|
60
|
+
{
|
|
61
|
+
"type": "string"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"type": "null"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"default": null,
|
|
68
|
+
"title": "App Description"
|
|
69
|
+
},
|
|
70
|
+
"total_generated": {
|
|
71
|
+
"default": 0,
|
|
72
|
+
"title": "Total Generated",
|
|
73
|
+
"type": "integer"
|
|
74
|
+
},
|
|
75
|
+
"prompts": {
|
|
76
|
+
"items": {
|
|
77
|
+
"type": "string"
|
|
78
|
+
},
|
|
79
|
+
"title": "Prompts",
|
|
80
|
+
"type": "array"
|
|
81
|
+
},
|
|
82
|
+
"best_reference_app": {
|
|
83
|
+
"anyOf": [
|
|
84
|
+
{
|
|
85
|
+
"type": "string"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "null"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"default": null,
|
|
92
|
+
"description": "Title of the best-rated reference app",
|
|
93
|
+
"title": "Best Reference App"
|
|
94
|
+
},
|
|
95
|
+
"reference_screenshots_used": {
|
|
96
|
+
"description": "URLs of the screenshots used as visual inspiration",
|
|
97
|
+
"items": {
|
|
98
|
+
"type": "string"
|
|
99
|
+
},
|
|
100
|
+
"title": "Reference Screenshots Used",
|
|
101
|
+
"type": "array"
|
|
102
|
+
},
|
|
103
|
+
"llm_prompt_sent": {
|
|
104
|
+
"default": "",
|
|
105
|
+
"description": "The exact prompt sent to the LLM",
|
|
106
|
+
"title": "Llm Prompt Sent",
|
|
107
|
+
"type": "string"
|
|
108
|
+
},
|
|
109
|
+
"llm_response_raw": {
|
|
110
|
+
"default": "",
|
|
111
|
+
"description": "The raw JSON response from the LLM",
|
|
112
|
+
"title": "Llm Response Raw",
|
|
113
|
+
"type": "string"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"title": "ScreenshotGeneratorOutput",
|
|
117
|
+
"type": "object"
|
|
118
|
+
}
|
package/types.ts
CHANGED
|
@@ -66,6 +66,8 @@ export interface InspirationsPinterestInput {
|
|
|
66
66
|
| null;
|
|
67
67
|
/** What kind of inspiration the user wants (e.g., "landing page design") */
|
|
68
68
|
prompt: string;
|
|
69
|
+
/** Number of inspiration images to return */
|
|
70
|
+
num_images?: number;
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
export interface InspirationsPinterestOutput {
|
|
@@ -491,6 +493,100 @@ export interface SaaSVideoOutput {
|
|
|
491
493
|
generation_context?: Record<string, unknown>;
|
|
492
494
|
}
|
|
493
495
|
|
|
496
|
+
export interface ScreenshotGeneratorInput {
|
|
497
|
+
/** Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True) */
|
|
498
|
+
secret_key?: string | null;
|
|
499
|
+
/** Make your content appear as fresh, original uploads. Bypasses duplicate detection and AI content filters on social platforms. */
|
|
500
|
+
rewrite_enabled?: boolean;
|
|
501
|
+
/** Make media appear as if created on this device. Adds authenticity and helps bypass platform detection. Random device if not specified. */
|
|
502
|
+
rewrite_device?:
|
|
503
|
+
| "iPhone 17 Pro Max"
|
|
504
|
+
| "iPhone 17 Pro"
|
|
505
|
+
| "iPhone 17 Plus"
|
|
506
|
+
| "iPhone 17"
|
|
507
|
+
| "iPhone 16 Pro Max"
|
|
508
|
+
| "iPhone 16 Pro"
|
|
509
|
+
| "iPhone 16 Plus"
|
|
510
|
+
| "iPhone 16"
|
|
511
|
+
| "iPhone 15 Pro Max"
|
|
512
|
+
| "iPhone 15 Pro"
|
|
513
|
+
| "iPhone 15 Plus"
|
|
514
|
+
| "iPhone 15"
|
|
515
|
+
| "iPhone 14 Pro Max"
|
|
516
|
+
| "iPhone 14 Pro"
|
|
517
|
+
| "iPhone 14 Plus"
|
|
518
|
+
| "iPhone 14"
|
|
519
|
+
| "iPhone 13 Pro Max"
|
|
520
|
+
| "iPhone 13 Pro"
|
|
521
|
+
| "iPhone 13"
|
|
522
|
+
| "iPhone 13 mini"
|
|
523
|
+
| "Ray-Ban Meta Smart Glasses"
|
|
524
|
+
| null;
|
|
525
|
+
/** App Store URL */
|
|
526
|
+
app_url?: string | null;
|
|
527
|
+
/** Numeric App Store ID */
|
|
528
|
+
app_id?: string | null;
|
|
529
|
+
/** Country code for App Store lookup */
|
|
530
|
+
country?: string;
|
|
531
|
+
/** App title (overrides fetched) */
|
|
532
|
+
app_title?: string | null;
|
|
533
|
+
/** App subtitle / tagline */
|
|
534
|
+
app_subtitle?: string | null;
|
|
535
|
+
/** App description (overrides fetched) */
|
|
536
|
+
app_description?: string | null;
|
|
537
|
+
/** Primary brand color hex (e.g. "#4A90D9") */
|
|
538
|
+
primary_color?: string | null;
|
|
539
|
+
/** Secondary brand color hex */
|
|
540
|
+
secondary_color?: string | null;
|
|
541
|
+
/** Accent color hex */
|
|
542
|
+
accent_color?: string | null;
|
|
543
|
+
/** Background style: gradient, solid, abstract, blurred, minimal, dark, light */
|
|
544
|
+
background_style?: string | null;
|
|
545
|
+
/** Overall design style: modern, bold, playful, corporate, elegant, minimal, vibrant */
|
|
546
|
+
design_style?: string | null;
|
|
547
|
+
/** Keywords describing the brand aesthetic (e.g. ["clean", "premium"]) */
|
|
548
|
+
brand_keywords?: string[];
|
|
549
|
+
/** Target audience (e.g. "young professionals", "parents") */
|
|
550
|
+
target_audience?: string | null;
|
|
551
|
+
/** The app's own existing screenshots (MUST be provided to be placed inside the device mockup) */
|
|
552
|
+
app_screenshots: string[];
|
|
553
|
+
/** Reference screenshot batches — one per screenshot position */
|
|
554
|
+
batches?: {
|
|
555
|
+
position: number;
|
|
556
|
+
headline?: string | null;
|
|
557
|
+
sub_headline?: string | null;
|
|
558
|
+
feature_description?: string | null;
|
|
559
|
+
reference_urls?: string[];
|
|
560
|
+
}[];
|
|
561
|
+
num_screenshots?: number;
|
|
562
|
+
/** Aspect ratio (9:16 for iPhone) */
|
|
563
|
+
aspect_ratio?: string;
|
|
564
|
+
/** Image model ID from registry */
|
|
565
|
+
image_model?: string;
|
|
566
|
+
image_model_params?: Record<string, unknown>;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
export interface ScreenshotGeneratorOutput {
|
|
570
|
+
screenshots?: {
|
|
571
|
+
position: number;
|
|
572
|
+
image_url: string;
|
|
573
|
+
headline?: string | null;
|
|
574
|
+
prompt_used?: string;
|
|
575
|
+
}[];
|
|
576
|
+
app_title?: string;
|
|
577
|
+
app_description?: string | null;
|
|
578
|
+
total_generated?: number;
|
|
579
|
+
prompts?: string[];
|
|
580
|
+
/** Title of the best-rated reference app */
|
|
581
|
+
best_reference_app?: string | null;
|
|
582
|
+
/** URLs of the screenshots used as visual inspiration */
|
|
583
|
+
reference_screenshots_used?: string[];
|
|
584
|
+
/** The exact prompt sent to the LLM */
|
|
585
|
+
llm_prompt_sent?: string;
|
|
586
|
+
/** The raw JSON response from the LLM */
|
|
587
|
+
llm_response_raw?: string;
|
|
588
|
+
}
|
|
589
|
+
|
|
494
590
|
export interface SlideshowToVideoInput {
|
|
495
591
|
/** Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True) */
|
|
496
592
|
secret_key?: string | null;
|