@transloadit/node 6.2.2 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/alphalib/types/robots/_html-pdf.d.ts +3 -0
- package/dist/alphalib/types/robots/_html-pdf.d.ts.map +1 -0
- package/dist/alphalib/types/robots/_html-pdf.js +3 -0
- package/dist/alphalib/types/robots/_html-pdf.js.map +1 -0
- package/dist/alphalib/types/robots/_video-generate-description.d.ts +3 -0
- package/dist/alphalib/types/robots/_video-generate-description.d.ts.map +1 -0
- package/dist/alphalib/types/robots/_video-generate-description.js +3 -0
- package/dist/alphalib/types/robots/_video-generate-description.js.map +1 -0
- package/dist/alphalib/types/robots/cloudflare-store.d.ts +12 -0
- package/dist/alphalib/types/robots/cloudflare-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/cloudflare-store.js +20 -0
- package/dist/alphalib/types/robots/cloudflare-store.js.map +1 -1
- package/dist/alphalib/types/robots/document-convert.d.ts.map +1 -1
- package/dist/alphalib/types/robots/document-convert.js +3 -0
- package/dist/alphalib/types/robots/document-convert.js.map +1 -1
- package/dist/alphalib/types/robots/html-convert.d.ts.map +1 -1
- package/dist/alphalib/types/robots/html-convert.js +3 -0
- package/dist/alphalib/types/robots/html-convert.js.map +1 -1
- package/dist/alphalib/types/robots/s3-store.d.ts +8 -8
- package/dist/alphalib/types/robots/s3-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/s3-store.js +27 -1
- package/dist/alphalib/types/robots/s3-store.js.map +1 -1
- package/dist/alphalib/types/robots/text-speak.d.ts.map +1 -1
- package/dist/alphalib/types/robots/text-speak.js +0 -24
- package/dist/alphalib/types/robots/text-speak.js.map +1 -1
- package/dist/alphalib/types/robots/text-translate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/text-translate.js +0 -13
- package/dist/alphalib/types/robots/text-translate.js.map +1 -1
- package/dist/alphalib/types/robots/video-encode.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-encode.js +2 -0
- package/dist/alphalib/types/robots/video-encode.js.map +1 -1
- package/dist/alphalib/types/robots/video-generate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-generate.js +15 -25
- package/dist/alphalib/types/robots/video-generate.js.map +1 -1
- package/dist/alphalib/types/robots/video-subtitle.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-subtitle.js +2 -0
- package/dist/alphalib/types/robots/video-subtitle.js.map +1 -1
- package/dist/alphalib/types/robots/video-thumbs.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-thumbs.js +2 -0
- package/dist/alphalib/types/robots/video-thumbs.js.map +1 -1
- package/package.json +1 -1
- package/src/alphalib/types/robots/_html-pdf.ts +3 -0
- package/src/alphalib/types/robots/_video-generate-description.ts +2 -0
- package/src/alphalib/types/robots/cloudflare-store.ts +20 -0
- package/src/alphalib/types/robots/document-convert.ts +3 -0
- package/src/alphalib/types/robots/html-convert.ts +3 -0
- package/src/alphalib/types/robots/s3-store.ts +27 -1
- package/src/alphalib/types/robots/text-speak.ts +0 -24
- package/src/alphalib/types/robots/text-translate.ts +0 -13
- package/src/alphalib/types/robots/video-encode.ts +2 -0
- package/src/alphalib/types/robots/video-generate.ts +15 -27
- package/src/alphalib/types/robots/video-subtitle.ts +2 -0
- package/src/alphalib/types/robots/video-thumbs.ts +2 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Shared English contract for the HTML-to-PDF capture used by both conversion Robots. */
|
|
2
|
+
export declare const htmlPdfReadinessDescription = "For HTML-to-PDF output, printing starts once sampled visible frames, their documents, and their fonts have stayed ready for 500 ms. After navigation, PDF readiness has a 30-second cap; a page that does not become ready fails conversion. Hidden frames do not extend the ready interval. Content that first appears during the final sample window may be missed. Prepare dynamic content before capture.";
|
|
3
|
+
//# sourceMappingURL=_html-pdf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_html-pdf.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/_html-pdf.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,eAAO,MAAM,2BAA2B,kZACyW,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Shared English contract for the HTML-to-PDF capture used by both conversion Robots. */
|
|
2
|
+
export const htmlPdfReadinessDescription = 'For HTML-to-PDF output, printing starts once sampled visible frames, their documents, and their fonts have stayed ready for 500 ms. After navigation, PDF readiness has a 30-second cap; a page that does not become ready fails conversion. Hidden frames do not extend the ready interval. Content that first appears during the final sample window may be missed. Prepare dynamic content before capture.';
|
|
3
|
+
//# sourceMappingURL=_html-pdf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_html-pdf.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/_html-pdf.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,CAAC,MAAM,2BAA2B,GACtC,+YAA+Y,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_video-generate-description.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/_video-generate-description.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,uCAAuC,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_video-generate-description.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/_video-generate-description.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uCAAuC,GAAG,YAAY,CAAA"}
|
|
@@ -67,6 +67,7 @@ export declare const robotCloudflareStoreInstructionsSchema: z.ZodObject<{
|
|
|
67
67
|
} & {
|
|
68
68
|
robot: z.ZodLiteral<"/cloudflare/store">;
|
|
69
69
|
path: z.ZodDefault<z.ZodString>;
|
|
70
|
+
session_token: z.ZodOptional<z.ZodString>;
|
|
70
71
|
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
71
72
|
sign_urls_for: z.ZodOptional<z.ZodNumber>;
|
|
72
73
|
url_prefix: z.ZodOptional<z.ZodString>;
|
|
@@ -100,6 +101,7 @@ export declare const robotCloudflareStoreInstructionsSchema: z.ZodObject<{
|
|
|
100
101
|
credentials?: string | undefined;
|
|
101
102
|
bucket?: string | undefined;
|
|
102
103
|
secret?: string | undefined;
|
|
104
|
+
session_token?: string | undefined;
|
|
103
105
|
sign_urls_for?: number | undefined;
|
|
104
106
|
url_prefix?: string | undefined;
|
|
105
107
|
}, {
|
|
@@ -132,6 +134,7 @@ export declare const robotCloudflareStoreInstructionsSchema: z.ZodObject<{
|
|
|
132
134
|
credentials?: string | undefined;
|
|
133
135
|
bucket?: string | undefined;
|
|
134
136
|
secret?: string | undefined;
|
|
137
|
+
session_token?: string | undefined;
|
|
135
138
|
sign_urls_for?: number | undefined;
|
|
136
139
|
url_prefix?: string | undefined;
|
|
137
140
|
}>;
|
|
@@ -198,6 +201,7 @@ export declare const robotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.Z
|
|
|
198
201
|
secret: z.ZodOptional<z.ZodString>;
|
|
199
202
|
robot: z.ZodLiteral<"/cloudflare/store">;
|
|
200
203
|
path: z.ZodDefault<z.ZodString>;
|
|
204
|
+
session_token: z.ZodOptional<z.ZodString>;
|
|
201
205
|
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
202
206
|
sign_urls_for: z.ZodOptional<z.ZodNumber>;
|
|
203
207
|
url_prefix: z.ZodOptional<z.ZodString>;
|
|
@@ -233,6 +237,7 @@ export declare const robotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.Z
|
|
|
233
237
|
credentials?: string | undefined;
|
|
234
238
|
bucket?: string | undefined;
|
|
235
239
|
secret?: string | undefined;
|
|
240
|
+
session_token?: string | undefined;
|
|
236
241
|
sign_urls_for?: number | undefined;
|
|
237
242
|
url_prefix?: string | undefined;
|
|
238
243
|
}, {
|
|
@@ -265,6 +270,7 @@ export declare const robotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.Z
|
|
|
265
270
|
credentials?: string | undefined;
|
|
266
271
|
bucket?: string | undefined;
|
|
267
272
|
secret?: string | undefined;
|
|
273
|
+
session_token?: string | undefined;
|
|
268
274
|
sign_urls_for?: number | undefined;
|
|
269
275
|
url_prefix?: string | undefined;
|
|
270
276
|
}>, interpolatableRobotCloudflareStoreInstructionsSchema: z.ZodObject<{
|
|
@@ -330,6 +336,7 @@ export declare const robotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.Z
|
|
|
330
336
|
secret: z.ZodOptional<z.ZodString>;
|
|
331
337
|
robot: z.ZodLiteral<"/cloudflare/store">;
|
|
332
338
|
path: z.ZodDefault<z.ZodString>;
|
|
339
|
+
session_token: z.ZodOptional<z.ZodString>;
|
|
333
340
|
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
334
341
|
sign_urls_for: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
335
342
|
url_prefix: z.ZodOptional<z.ZodString>;
|
|
@@ -363,6 +370,7 @@ export declare const robotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.Z
|
|
|
363
370
|
credentials?: string | undefined;
|
|
364
371
|
bucket?: string | undefined;
|
|
365
372
|
secret?: string | undefined;
|
|
373
|
+
session_token?: string | undefined;
|
|
366
374
|
sign_urls_for?: string | number | undefined;
|
|
367
375
|
url_prefix?: string | undefined;
|
|
368
376
|
}, {
|
|
@@ -395,6 +403,7 @@ export declare const robotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.Z
|
|
|
395
403
|
credentials?: string | undefined;
|
|
396
404
|
bucket?: string | undefined;
|
|
397
405
|
secret?: string | undefined;
|
|
406
|
+
session_token?: string | undefined;
|
|
398
407
|
sign_urls_for?: string | number | undefined;
|
|
399
408
|
url_prefix?: string | undefined;
|
|
400
409
|
}>, interpolatableRobotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.ZodObject<{
|
|
@@ -459,6 +468,7 @@ export declare const robotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.Z
|
|
|
459
468
|
secret: z.ZodOptional<z.ZodString>;
|
|
460
469
|
robot: z.ZodLiteral<"/cloudflare/store">;
|
|
461
470
|
path: z.ZodDefault<z.ZodString>;
|
|
471
|
+
session_token: z.ZodOptional<z.ZodString>;
|
|
462
472
|
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
463
473
|
sign_urls_for: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
464
474
|
url_prefix: z.ZodOptional<z.ZodString>;
|
|
@@ -493,6 +503,7 @@ export declare const robotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.Z
|
|
|
493
503
|
credentials?: string | undefined;
|
|
494
504
|
bucket?: string | undefined;
|
|
495
505
|
secret?: string | undefined;
|
|
506
|
+
session_token?: string | undefined;
|
|
496
507
|
sign_urls_for?: string | number | undefined;
|
|
497
508
|
url_prefix?: string | undefined;
|
|
498
509
|
}, {
|
|
@@ -525,6 +536,7 @@ export declare const robotCloudflareStoreInstructionsWithHiddenFieldsSchema: z.Z
|
|
|
525
536
|
credentials?: string | undefined;
|
|
526
537
|
bucket?: string | undefined;
|
|
527
538
|
secret?: string | undefined;
|
|
539
|
+
session_token?: string | undefined;
|
|
528
540
|
sign_urls_for?: string | number | undefined;
|
|
529
541
|
url_prefix?: string | undefined;
|
|
530
542
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-store.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/cloudflare-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"cloudflare-store.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/cloudflare-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,eAAO,MAAM,IAAI,EAAE,cA4BlB,CAAA;AAED,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BxC,CAAA;AAEX,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,sCAAsC,CAAC,KAAK,CACtC,CAAA;AAE3D,eAAO,MACa,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACxD,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAElE,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACrD,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,gCAAgC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AACrE,MAAM,MAAM,gDAAgD,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AAC3F,MAAM,MAAM,8CAA8C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAChG,MAAM,MAAM,mDAAmD,GAC7D,YAAY,CAAC,qBAAqB,CAAC,CAAA;AACrC,MAAM,MAAM,8DAA8D,GACxE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,mEAAmE,GAC7E,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
|
|
@@ -6,6 +6,20 @@ export const meta = {
|
|
|
6
6
|
example_code_description: 'Export uploaded files to `my_target_folder` in a Cloudflare R2 bucket:',
|
|
7
7
|
extended_description: `
|
|
8
8
|
The URL to the result file will be returned in the <dfn>Assembly Status JSON</dfn>.
|
|
9
|
+
|
|
10
|
+
## Temporary credentials and permissions
|
|
11
|
+
|
|
12
|
+
You can use [temporary R2 credentials](https://developers.cloudflare.com/r2/api/s3/temporary-credentials/) by supplying the matching temporary \`key\`, \`secret\`, and \`session_token\`. Use the temporary secret returned or derived with the token, not the parent secret used to mint it. These values can also be stored together in Cloudflare <dfn>Template Credentials</dfn>. For per-Assembly credentials, send all three from your trusted backend; do not expose the parent credentials in browser instructions.
|
|
13
|
+
|
|
14
|
+
Credentials must remain valid through queuing, processing, upload retries, and verification. The Robot does not refresh them. Signed download URLs cannot outlive the credentials that sign them, even when \`sign_urls_for\` is longer.
|
|
15
|
+
|
|
16
|
+
When overriding a stored \`key\` or \`secret\` with a different value, supply the matching \`session_token\` inline too; the stored token will not be inherited. When updating Cloudflare Template Credentials, replacing either key or secret without a new token removes the old token. Omitting the token retains it only when the key and secret stay unchanged. You can also explicitly remove it with an empty string or \`null\`; empty tokens are treated as absent on creation too.
|
|
17
|
+
|
|
18
|
+
For locally signed credentials using explicit R2 \`actions\`, grant \`PutObject\` for small uploads and \`HeadObject\` for the Robot’s mandatory signed HEAD verification. Uploads larger than the default 5 MiB part size use multipart requests: also grant \`CreateMultipartUpload\`, \`UploadPart\`, \`CompleteMultipartUpload\`, and \`AbortMultipartUpload\` for failed-upload cleanup. Grant \`GetObject\` if consumers will use signed download URLs. These are R2 action names, not AWS IAM policy actions.
|
|
19
|
+
|
|
20
|
+
Scope \`paths.objectPaths\` to the exact destination object key and set \`path\` to that same key. A path ending in \`/\` appends a generated filename and will not match an exact-object grant. Use one output per exact-object key to avoid overwrites. No bucket listing or region-discovery permission is needed.
|
|
21
|
+
|
|
22
|
+
Strictly write-only credentials cannot pass this Robot’s HEAD verification. For uploads without read verification, use [/s3/store](/docs/robots/s3-store/) with the R2 configuration documented there. A presigned PUT URL is a different credential format and cannot be used as this Robot’s \`host\`.
|
|
9
23
|
`,
|
|
10
24
|
has_small_icon: true,
|
|
11
25
|
purpose_sentence: 'exports encoding results to Cloudflare R2 buckets',
|
|
@@ -20,6 +34,12 @@ export const robotCloudflareStoreInstructionsSchema = robotBase
|
|
|
20
34
|
.extend({
|
|
21
35
|
robot: z.literal('/cloudflare/store'),
|
|
22
36
|
path: storeFilePath,
|
|
37
|
+
session_token: z
|
|
38
|
+
.string()
|
|
39
|
+
.optional()
|
|
40
|
+
.describe(`
|
|
41
|
+
The session token belonging to the temporary Cloudflare R2 access key ID and secret access key supplied for this upload. It can also be supplied inside Template Credentials. The credentials must remain valid through upload and signed HEAD verification; the Robot does not refresh them.
|
|
42
|
+
`),
|
|
23
43
|
headers: z
|
|
24
44
|
.record(z.string())
|
|
25
45
|
.default({ 'Content-Type': '${file.mime}' })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-store.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/cloudflare-store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,WAAW,EACX,SAAS,EACT,cAAc,EACd,QAAQ,EACR,oBAAoB,EACpB,aAAa,GACd,MAAM,+BAA+B,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,cAAc;IACjB,YAAY,EAAE,yBAAyB,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;IAC3F,wBAAwB,EACtB,wEAAwE;IAC1E,oBAAoB,EAAE
|
|
1
|
+
{"version":3,"file":"cloudflare-store.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/cloudflare-store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,WAAW,EACX,SAAS,EACT,cAAc,EACd,QAAQ,EACR,oBAAoB,EACpB,aAAa,GACd,MAAM,+BAA+B,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,cAAc;IACjB,YAAY,EAAE,yBAAyB,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;IAC3F,wBAAwB,EACtB,wEAAwE;IAC1E,oBAAoB,EAAE;;;;;;;;;;;;;;;;CAgBvB;IACC,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,mDAAmD;IACrE,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,+BAA+B;IAC9C,KAAK,EAAE,+BAA+B;IACtC,IAAI,EAAE,sBAAsB;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,sCAAsC,GAAG,SAAS;KAC5D,KAAK,CAAC,QAAQ,CAAC;KACf,KAAK,CAAC,cAAc,CAAC;KACrB,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC;;CAEf,CAAC;IACE,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAClB,OAAO,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;SAC3C,QAAQ,CAAC;;;;CAIf,CAAC;IACE,aAAa,EAAE,oBAAoB;IACnC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC;;CAEf,CAAC;CACC,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,CAAC,MAAM,eAAe,GAC1B,WAAW,CAAC,IAAI,EAAE,sCAAsC,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,EACX,gBAAgB,EAAE,sDAAsD,EACxE,cAAc,EAAE,oDAAoD,EACpE,8BAA8B,EAC5B,oEAAoE,GACvE,GAAG,eAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-convert.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/document-convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"document-convert.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/document-convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAuBvB,4FAA4F;AAC5F,eAAO,MAAM,8BAA8B,iNAE1C,CAAA;AAQD,eAAO,MAAM,IAAI,EAAE,cA4ElB,CAAA;AAED,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkLxC,CAAA;AAEX,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,sCAAsC,CAAC,KAAK,CACtC,CAAA;AAE3D,eAAO,MACa,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACxD,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAElE,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACrD,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,gCAAgC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AACrE,MAAM,MAAM,gDAAgD,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AAC3F,MAAM,MAAM,8CAA8C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAChG,MAAM,MAAM,mDAAmD,GAC7D,YAAY,CAAC,qBAAqB,CAAC,CAAA;AACrC,MAAM,MAAM,8DAA8D,GACxE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,mEAAmE,GAC7E,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { zodCaseInsensitiveEnum } from "../../lib/zodInputSemantics.js";
|
|
3
3
|
import { documentConvertLoadInternalErrorReason, documentConvertLoadUserErrorReason, } from "../responseErrors/DocumentConvertRobot.js";
|
|
4
|
+
import { htmlPdfReadinessDescription } from "./_html-pdf.js";
|
|
4
5
|
import { createProcessingExample, defineRobot, robotBase, robotDocumentProcessingMeta, robotUse, } from "./_instructions-primitives.js";
|
|
5
6
|
const transcriptSrtDocumentation = 'Timestamped JSON from `/speech/transcribe` with `"format": "json"` can be converted to SRT. ' +
|
|
6
7
|
'Set `"format": "srt"` here. JSON words are grouped into cues of up to three words, breaking ' +
|
|
@@ -94,6 +95,8 @@ export const robotDocumentConvertInstructionsSchema = robotBase
|
|
|
94
95
|
.merge(robotUse)
|
|
95
96
|
.extend({
|
|
96
97
|
robot: z.literal('/document/convert').describe(`
|
|
98
|
+
${htmlPdfReadinessDescription}
|
|
99
|
+
|
|
97
100
|
> [!Note]
|
|
98
101
|
> This Robot can convert files to PDF, but cannot convert PDFs to different formats. If you want to convert PDFs to say, JPEG or TIFF, use [🤖/image/resize](/docs/robots/image-resize/). If you want to turn them into text files or recognize (OCR) them to make them searchable, reach out, as we have a new Robot in the works for this.
|
|
99
102
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-convert.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/document-convert.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EACL,sCAAsC,EACtC,kCAAkC,GACnC,MAAM,2CAA2C,CAAA;AAClD,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,SAAS,EACT,2BAA2B,EAC3B,QAAQ,GACT,MAAM,+BAA+B,CAAA;AAEtC,MAAM,0BAA0B,GAC9B,8FAA8F;IAC9F,8FAA8F;IAC9F,gGAAgG;IAChG,wEAAwE;IACxE,gDAAgD,CAAA;AAElD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAClE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAC3F,CAAA;AAED,MAAM,8BAA8B,GAAG;qFAC8C,kCAAkC;;sIAEe,sCAAsC;CAC3K,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,2BAA2B;IAC9B,YAAY,EAAE,uBAAuB,CAAC,WAAW,EAAE,mBAAmB,EAAE;QACtE,MAAM,EAAE,KAAK;KACd,CAAC;IACF,wBAAwB,EAAE,0CAA0C;IACpE,oBAAoB,EAAE;;;;;;;;;;;EAWtB,8BAA8B;;EAE9B,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC3B;IACC,gBAAgB,EAAE,2CAA2C;IAC7D,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,0CAA0C;IACzD,KAAK,EAAE,0CAA0C;IACjD,IAAI,EAAE,sBAAsB;IAC5B,+FAA+F;IAC/F,yEAAyE;IACzE,uCAAuC;IACvC,wEAAwE;IACxE,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,IAAI;IACd,kBAAkB,EAChB,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,iCAAiC;QAC7E,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC;QAC/C,CAAC,CAAC,EAAE;IACR,mBAAmB,EAAE,IAAI;IACzB,mFAAmF;IACnF,UAAU,EAAE,CAAC;CACd,CAAA;AAED,MAAM,CAAC,MAAM,sCAAsC,GAAG,SAAS;KAC5D,KAAK,CAAC,QAAQ,CAAC;KACf,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"document-convert.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/document-convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-convert.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/html-convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"html-convert.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/html-convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAUvB,eAAO,MAAM,IAAI,EAAE,cA4BlB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmFpC,CAAA;AAEX,QAAA,MAAM,YAAY;;;;CAIjB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,+BAA+B,CAC3D,OAAO,kCAAkC,CAAC,KAAK,EAC/C,OAAO,YAAY,CACkE,CAAA;AAEvF,eAAO,MACa,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACpD,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAChC,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAC/E,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,4BAA4B,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AACjE,MAAM,MAAM,4CAA4C,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACvF,MAAM,MAAM,0CAA0C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC5F,MAAM,MAAM,+CAA+C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AACjG,MAAM,MAAM,0DAA0D,GACpE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,+DAA+D,GACzE,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { htmlPdfReadinessDescription } from "./_html-pdf.js";
|
|
2
3
|
import { defineRobotWithHiddenFields, robotBase, robotDocumentProcessingMeta, robotUse, } from "./_instructions-primitives.js";
|
|
3
4
|
export const meta = {
|
|
4
5
|
...robotDocumentProcessingMeta,
|
|
@@ -36,6 +37,8 @@ export const robotHtmlConvertInstructionsSchema = robotBase
|
|
|
36
37
|
A URL can be provided instead of an input HTML file, to capture a screenshot from the website referenced by the URL.
|
|
37
38
|
|
|
38
39
|
Use [🤖/image/resize](/docs/robots/image-resize/) to resize or crop the screenshot as needed.
|
|
40
|
+
|
|
41
|
+
${htmlPdfReadinessDescription}
|
|
39
42
|
`),
|
|
40
43
|
url: z
|
|
41
44
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-convert.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/html-convert.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,2BAA2B,EAC3B,SAAS,EACT,2BAA2B,EAC3B,QAAQ,GACT,MAAM,+BAA+B,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,2BAA2B;IAC9B,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,QAAQ,EAAE;gBACR,KAAK,EAAE,eAAe;gBACtB,GAAG,EAAE,yBAAyB;aAC/B;SACF;KACF;IACD,wBAAwB,EAAE,qDAAqD;IAC/E,oBAAoB,EAAE;;;;;;CAMvB;IACC,gBAAgB,EAAE,uDAAuD;IACzE,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,+BAA+B;IAC7C,aAAa,EAAE,4CAA4C;IAC3D,KAAK,EAAE,qDAAqD;IAC5D,oBAAoB,EAAE,GAAG;IACzB,iBAAiB,EAAE,SAAS;IAC5B,IAAI,EAAE,kBAAkB;IACxB,cAAc,EAAE,EAAE;IAClB,mBAAmB,EAAE,IAAI;CAC1B,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAG,SAAS;KACxD,KAAK,CAAC,QAAQ,CAAC;KACf,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"html-convert.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/html-convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,8 +112,8 @@ export declare const robotS3StoreInstructionsSchema: z.ZodObject<{
|
|
|
112
112
|
bucket?: string | undefined;
|
|
113
113
|
secret?: string | undefined;
|
|
114
114
|
bucket_region?: string | undefined;
|
|
115
|
-
sign_urls_for?: number | undefined;
|
|
116
115
|
session_token?: string | undefined;
|
|
116
|
+
sign_urls_for?: number | undefined;
|
|
117
117
|
}, {
|
|
118
118
|
robot: "/s3/store";
|
|
119
119
|
headers?: Record<string, string> | undefined;
|
|
@@ -145,13 +145,13 @@ export declare const robotS3StoreInstructionsSchema: z.ZodObject<{
|
|
|
145
145
|
bucket?: string | undefined;
|
|
146
146
|
secret?: string | undefined;
|
|
147
147
|
bucket_region?: string | undefined;
|
|
148
|
+
session_token?: string | undefined;
|
|
148
149
|
sign_urls_for?: number | undefined;
|
|
149
150
|
url_prefix?: string | undefined;
|
|
150
151
|
acl?: "public" | "private" | "public-read" | "authenticated-read" | "bucket-owner-full-control" | "aws-exec-read" | "bucket-default" | "bucket-owner-read" | "public-read-write" | undefined;
|
|
151
152
|
check_integrity?: boolean | undefined;
|
|
152
153
|
tags?: Record<string, string> | undefined;
|
|
153
154
|
no_vhost?: boolean | undefined;
|
|
154
|
-
session_token?: string | undefined;
|
|
155
155
|
}>;
|
|
156
156
|
declare const hiddenFields: {
|
|
157
157
|
skip_region_lookup: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -267,8 +267,8 @@ export declare const robotS3StoreInstructionsWithHiddenFieldsSchema: z.ZodObject
|
|
|
267
267
|
bucket?: string | undefined;
|
|
268
268
|
secret?: string | undefined;
|
|
269
269
|
bucket_region?: string | undefined;
|
|
270
|
-
sign_urls_for?: number | undefined;
|
|
271
270
|
session_token?: string | undefined;
|
|
271
|
+
sign_urls_for?: number | undefined;
|
|
272
272
|
skip_region_lookup?: boolean | undefined;
|
|
273
273
|
}, {
|
|
274
274
|
robot: "/s3/store";
|
|
@@ -301,13 +301,13 @@ export declare const robotS3StoreInstructionsWithHiddenFieldsSchema: z.ZodObject
|
|
|
301
301
|
bucket?: string | undefined;
|
|
302
302
|
secret?: string | undefined;
|
|
303
303
|
bucket_region?: string | undefined;
|
|
304
|
+
session_token?: string | undefined;
|
|
304
305
|
sign_urls_for?: number | undefined;
|
|
305
306
|
url_prefix?: string | undefined;
|
|
306
307
|
acl?: "public" | "private" | "public-read" | "authenticated-read" | "bucket-owner-full-control" | "aws-exec-read" | "bucket-default" | "bucket-owner-read" | "public-read-write" | undefined;
|
|
307
308
|
check_integrity?: boolean | undefined;
|
|
308
309
|
tags?: Record<string, string> | undefined;
|
|
309
310
|
no_vhost?: boolean | undefined;
|
|
310
|
-
session_token?: string | undefined;
|
|
311
311
|
skip_region_lookup?: boolean | undefined;
|
|
312
312
|
}>, interpolatableRobotS3StoreInstructionsSchema: z.ZodObject<{
|
|
313
313
|
interpolate: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "false" | "true">, z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "false" | "true">>]>>;
|
|
@@ -417,8 +417,8 @@ export declare const robotS3StoreInstructionsWithHiddenFieldsSchema: z.ZodObject
|
|
|
417
417
|
bucket?: string | undefined;
|
|
418
418
|
secret?: string | undefined;
|
|
419
419
|
bucket_region?: string | undefined;
|
|
420
|
-
sign_urls_for?: string | number | undefined;
|
|
421
420
|
session_token?: string | undefined;
|
|
421
|
+
sign_urls_for?: string | number | undefined;
|
|
422
422
|
}, {
|
|
423
423
|
robot: "/s3/store";
|
|
424
424
|
headers?: Record<string, string> | undefined;
|
|
@@ -450,13 +450,13 @@ export declare const robotS3StoreInstructionsWithHiddenFieldsSchema: z.ZodObject
|
|
|
450
450
|
bucket?: string | undefined;
|
|
451
451
|
secret?: string | undefined;
|
|
452
452
|
bucket_region?: string | undefined;
|
|
453
|
+
session_token?: string | undefined;
|
|
453
454
|
sign_urls_for?: string | number | undefined;
|
|
454
455
|
url_prefix?: string | undefined;
|
|
455
456
|
acl?: string | undefined;
|
|
456
457
|
check_integrity?: string | boolean | undefined;
|
|
457
458
|
tags?: Record<string, string> | undefined;
|
|
458
459
|
no_vhost?: string | boolean | undefined;
|
|
459
|
-
session_token?: string | undefined;
|
|
460
460
|
}>, interpolatableRobotS3StoreInstructionsWithHiddenFieldsSchema: z.ZodObject<{
|
|
461
461
|
interpolate: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "false" | "true">, z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["true", "false"]>]>, boolean, boolean | "false" | "true">>]>>;
|
|
462
462
|
output_meta: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodBoolean]>>, z.ZodUnion<[z.ZodString, z.ZodBoolean]>, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>]>>;
|
|
@@ -566,8 +566,8 @@ export declare const robotS3StoreInstructionsWithHiddenFieldsSchema: z.ZodObject
|
|
|
566
566
|
bucket?: string | undefined;
|
|
567
567
|
secret?: string | undefined;
|
|
568
568
|
bucket_region?: string | undefined;
|
|
569
|
-
sign_urls_for?: string | number | undefined;
|
|
570
569
|
session_token?: string | undefined;
|
|
570
|
+
sign_urls_for?: string | number | undefined;
|
|
571
571
|
skip_region_lookup?: string | boolean | undefined;
|
|
572
572
|
}, {
|
|
573
573
|
robot: "/s3/store";
|
|
@@ -600,13 +600,13 @@ export declare const robotS3StoreInstructionsWithHiddenFieldsSchema: z.ZodObject
|
|
|
600
600
|
bucket?: string | undefined;
|
|
601
601
|
secret?: string | undefined;
|
|
602
602
|
bucket_region?: string | undefined;
|
|
603
|
+
session_token?: string | undefined;
|
|
603
604
|
sign_urls_for?: string | number | undefined;
|
|
604
605
|
url_prefix?: string | undefined;
|
|
605
606
|
acl?: string | undefined;
|
|
606
607
|
check_integrity?: string | boolean | undefined;
|
|
607
608
|
tags?: Record<string, string> | undefined;
|
|
608
609
|
no_vhost?: string | boolean | undefined;
|
|
609
|
-
session_token?: string | undefined;
|
|
610
610
|
skip_region_lookup?: string | boolean | undefined;
|
|
611
611
|
}>;
|
|
612
612
|
type Instructions = RobotSchemaVariantTypes<typeof robotDefinition>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-store.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/s3-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA4BvB,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"s3-store.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/s3-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA4BvB,eAAO,MAAM,IAAI,EAAE,cAsClB,CAAA;AAED,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgHhC,CAAA;AAEX,QAAA,MAAM,YAAY;;CAOjB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,+BAA+B,CAC3D,OAAO,8BAA8B,CAAC,KAAK,EAC3C,OAAO,YAAY,CAC8D,CAAA;AAEnF,eAAO,MACa,8CAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAChD,4CAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC5B,4DAA4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAC3E,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAC7D,MAAM,MAAM,6BAA6B,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;AACjE,MAAM,MAAM,wCAAwC,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACnF,MAAM,MAAM,sCAAsC,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AACxF,MAAM,MAAM,2CAA2C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC7F,MAAM,MAAM,sDAAsD,GAChE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,2DAA2D,GACrE,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
|
|
@@ -19,6 +19,32 @@ export const meta = {
|
|
|
19
19
|
...robotStoreMeta,
|
|
20
20
|
example_code: createStorageStoreExample('/s3/store', 'YOUR_AWS_CREDENTIALS'),
|
|
21
21
|
example_code_description: 'Export uploaded files to `my_target_folder` in an S3 bucket:',
|
|
22
|
+
extended_description: `
|
|
23
|
+
## Export to R2 with temporary credentials
|
|
24
|
+
|
|
25
|
+
To upload one output to an exact R2 object key, send the matching temporary credentials from your trusted backend:
|
|
26
|
+
|
|
27
|
+
\`\`\`json
|
|
28
|
+
{
|
|
29
|
+
"robot": "/s3/store",
|
|
30
|
+
"use": ":original",
|
|
31
|
+
"host": "https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com",
|
|
32
|
+
"bucket": "my-bucket",
|
|
33
|
+
"bucket_region": "auto",
|
|
34
|
+
"acl": "bucket-default",
|
|
35
|
+
"key": "TEMPORARY_ACCESS_KEY_ID",
|
|
36
|
+
"secret": "TEMPORARY_SECRET_ACCESS_KEY",
|
|
37
|
+
"session_token": "TEMPORARY_SESSION_TOKEN",
|
|
38
|
+
"path": "exports/result.jpg"
|
|
39
|
+
}
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
The HTTPS host enables TLS, \`bucket_region: "auto"\` avoids region discovery, and \`acl: "bucket-default"\` omits the generated ACL header. Do not add ACL or grant headers. Scope the [R2 temporary credentials](https://developers.cloudflare.com/r2/api/s3/temporary-credentials/) to the same bucket and exact object key, here \`exports/result.jpg\`. Do not end \`path\` with \`/\`: that appends a generated filename. Export one output per key to avoid overwrites.
|
|
43
|
+
|
|
44
|
+
For locally signed R2 credentials, \`actions: ["PutObject"]\` permits small single-request uploads with this configuration. Uploads larger than the default 5 MiB part size also require \`CreateMultipartUpload\`, \`UploadPart\`, \`CompleteMultipartUpload\`, and \`AbortMultipartUpload\` for failed-upload cleanup. These are R2 action names, not AWS IAM policy actions. No listing, region discovery, HEAD, or GET is required by this upload configuration. Unlike [/cloudflare/store](/docs/robots/cloudflare-store/), this Robot does not perform HEAD verification after upload.
|
|
45
|
+
|
|
46
|
+
Credentials must remain valid through queuing, processing, and upload retries; the Robot does not refresh them. A returned object URL does not grant read access. If you request signed download URLs with \`sign_urls_for\`, add \`GetObject\` permission; those URLs also expire when the temporary credentials expire. A presigned PUT URL cannot be used as \`host\`.
|
|
47
|
+
`,
|
|
22
48
|
has_small_icon: true,
|
|
23
49
|
purpose_sentence: 'exports encoding results to Amazon S3',
|
|
24
50
|
purpose_word: 'Amazon S3',
|
|
@@ -137,7 +163,7 @@ This parameter provides signed URLs in the result JSON (in the \`signed_url\` an
|
|
|
137
163
|
.string()
|
|
138
164
|
.optional()
|
|
139
165
|
.describe(`
|
|
140
|
-
The session token belonging to the temporary
|
|
166
|
+
The session token belonging to the temporary access key ID and secret access key supplied for this upload to S3 or a compatible service such as R2. The Robot does not assume a role or refresh these credentials; they must remain valid for the upload.
|
|
141
167
|
`),
|
|
142
168
|
})
|
|
143
169
|
.strict();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-store.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/s3-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"s3-store.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/s3-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-speak.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/text-speak.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"text-speak.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/text-speak.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,eAAO,MAAM,IAAI,EAAE,cAuBlB,CAAA;AAED,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuClC,CAAA;AAEX,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,gCAAgC,CAAC,KAAK,CACtC,CAAA;AAErD,eAAO,MACa,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAClD,8CAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC9B,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAC7E,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AAC/D,MAAM,MAAM,0CAA0C,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACrF,MAAM,MAAM,wCAAwC,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC1F,MAAM,MAAM,6CAA6C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC/F,MAAM,MAAM,wDAAwD,GAClE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,6DAA6D,GACvE,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
|
|
@@ -11,30 +11,6 @@ export const meta = {
|
|
|
11
11
|
extended_description: `
|
|
12
12
|
> [!Warning]
|
|
13
13
|
> Transloadit aims to be deterministic, but this <dfn>Robot</dfn> uses third-party AI services. The providers (AWS, GCP) will evolve their models over time, giving different responses for the same input media. Avoid relying on exact responses in your tests and application.
|
|
14
|
-
|
|
15
|
-
## Supported languages and voices
|
|
16
|
-
|
|
17
|
-
{% for provider in text_speak_voices %}
|
|
18
|
-
|
|
19
|
-
### {{provider[0] | upcase }}
|
|
20
|
-
|
|
21
|
-
<table class="table">
|
|
22
|
-
<thead>
|
|
23
|
-
<tr>
|
|
24
|
-
<th>Language</th>
|
|
25
|
-
<th>Voices</th>
|
|
26
|
-
</tr>
|
|
27
|
-
</thead>
|
|
28
|
-
<tbody>
|
|
29
|
-
{%- for language in provider[1] %}
|
|
30
|
-
<tr>
|
|
31
|
-
<td><strong>{{language[0]}}</strong></td>
|
|
32
|
-
<td>{{ language[1] | join: ", " }}</td>
|
|
33
|
-
</tr>
|
|
34
|
-
{%- endfor %}
|
|
35
|
-
</tbody>
|
|
36
|
-
</table>
|
|
37
|
-
{% endfor %}
|
|
38
14
|
`,
|
|
39
15
|
override_lvl1: 'Artificial Intelligence',
|
|
40
16
|
purpose_sentence: 'synthesizes speech in documents',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-speak.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/text-speak.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,WAAW,EACX,+BAA+B,EAC/B,SAAS,EACT,kBAAkB,EAClB,QAAQ,GACT,MAAM,+BAA+B,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,+BAA+B;IAClC,YAAY,EAAE,uBAAuB,CAAC,aAAa,EAAE,aAAa,EAAE;QAClE,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,UAAU;QACjB,eAAe,EAAE,OAAO;KACzB,CAAC;IACF,wBAAwB,EACtB,2FAA2F;IAC7F,oBAAoB,EAAE
|
|
1
|
+
{"version":3,"file":"text-speak.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/text-speak.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,WAAW,EACX,+BAA+B,EAC/B,SAAS,EACT,kBAAkB,EAClB,QAAQ,GACT,MAAM,+BAA+B,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,+BAA+B;IAClC,YAAY,EAAE,uBAAuB,CAAC,aAAa,EAAE,aAAa,EAAE;QAClE,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,UAAU;QACjB,eAAe,EAAE,OAAO;KACzB,CAAC;IACF,wBAAwB,EACtB,2FAA2F;IAC7F,oBAAoB,EAAE;;;CAGvB;IACC,aAAa,EAAE,yBAAyB;IACxC,gBAAgB,EAAE,iCAAiC;IACnD,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,mBAAmB;IACjC,aAAa,EAAE,gCAAgC;IAC/C,KAAK,EAAE,YAAY;IACnB,oBAAoB,EAAE,CAAC;IACvB,iBAAiB,EAAE,UAAU;IAC7B,IAAI,EAAE,gBAAgB;IACtB,gBAAgB,EAAE,IAAI;CACvB,CAAA;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,SAAS;KACtD,KAAK,CAAC,QAAQ,CAAC;KACf,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;;;;CAI5C,CAAC;IACE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CAAC;;CAEf,CAAC;IACE,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC;IACrF,uCAAuC;IACvC,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC;;;;CAIf,CAAC;IACE,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;SACtF,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC;;CAEf,CAAC;IACE,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC;;;;CAIf,CAAC;CACC,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,CAAC,MAAM,eAAe,GAC1B,WAAW,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,EACX,gBAAgB,EAAE,gDAAgD,EAClE,cAAc,EAAE,8CAA8C,EAC9D,8BAA8B,EAAE,8DAA8D,GAC/F,GAAG,eAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-translate.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/text-translate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"text-translate.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/text-translate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,eAAO,MAAM,IAAI,EAAE,cAqBlB,CAAA;AA0HD,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBtC,CAAA;AAEX,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,oCAAoC,CAAC,KAAK,CACtC,CAAA;AAEzD,eAAO,MACa,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACtD,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEhE,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACnD,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,8BAA8B,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AACnE,MAAM,MAAM,8CAA8C,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACzF,MAAM,MAAM,4CAA4C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC9F,MAAM,MAAM,iDAAiD,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AACnG,MAAM,MAAM,4DAA4D,GACtE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,iEAAiE,GAC3E,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
|
|
@@ -10,19 +10,6 @@ export const meta = {
|
|
|
10
10
|
extended_description: `
|
|
11
11
|
> [!Warning]
|
|
12
12
|
> This <dfn>Robot</dfn> uses third-party AI services. They may tweak their models over time, giving different responses for the same input media. Avoid relying on exact responses in your tests and application.
|
|
13
|
-
|
|
14
|
-
## Supported languages
|
|
15
|
-
|
|
16
|
-
{%- for provider in text_translate_languages %}
|
|
17
|
-
|
|
18
|
-
### {{provider[0] | upcase }}
|
|
19
|
-
|
|
20
|
-
<!-- prettier-ignore -->
|
|
21
|
-
{%- for language in provider[1] %}
|
|
22
|
-
{{ language }}{% unless forloop.last %},{% endunless %}
|
|
23
|
-
{%- endfor %}
|
|
24
|
-
|
|
25
|
-
{%- endfor %}
|
|
26
13
|
`,
|
|
27
14
|
override_lvl1: 'Artificial Intelligence',
|
|
28
15
|
purpose_sentence: 'translates text in documents',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-translate.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/text-translate.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,WAAW,EACX,+BAA+B,EAC/B,SAAS,EACT,kBAAkB,EAClB,QAAQ,GACT,MAAM,+BAA+B,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,+BAA+B;IAClC,YAAY,EAAE,uBAAuB,CAAC,YAAY,EAAE,iBAAiB,EAAE;QACrE,eAAe,EAAE,IAAI;QACrB,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,wBAAwB,EAAE,kDAAkD;IAC5E,oBAAoB,EAAE
|
|
1
|
+
{"version":3,"file":"text-translate.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/text-translate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-encode.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-encode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,eAAO,MAAM,IAAI,EAAE,cAclB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"video-encode.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-encode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,eAAO,MAAM,IAAI,EAAE,cAclB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmEpC,CAAA;AAEX,QAAA,MAAM,YAAY;;;;CAIjB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,+BAA+B,CAC3D,OAAO,kCAAkC,CAAC,KAAK,EAC/C,OAAO,YAAY,CACkE,CAAA;AAEvF,eAAO,MACa,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACpD,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAChC,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAC/E,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,4BAA4B,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AACjE,MAAM,MAAM,4CAA4C,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACvF,MAAM,MAAM,0CAA0C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC5F,MAAM,MAAM,+CAA+C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AACjG,MAAM,MAAM,0DAA0D,GACpE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,+DAA+D,GACzE,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
|
|
@@ -28,6 +28,8 @@ Videos recorded with iPhone spatial audio can contain a stereo AAC track alongsi
|
|
|
28
28
|
|
|
29
29
|
Files containing only unsupported audio still fail. Individual audio track selections and stream-copy requests keep the tracks you select; the output format must support copied tracks.
|
|
30
30
|
|
|
31
|
+
When adding watermarks or drawing with simple FFmpeg video filters such as \`drawtext\` to HLG or PQ HDR video, the video is tone-mapped to SDR BT.709 before drawing, so overlay colors retain their intended RGB values. SDR inputs keep their existing processing. A custom \`ffmpeg.pre:filter:v\` that supplies tone mapping controls its own color conversion. Custom multi-input \`filter_complex\` graphs must handle each input’s color space explicitly.
|
|
32
|
+
|
|
31
33
|
## Adding text overlays with FFmpeg
|
|
32
34
|
|
|
33
35
|
You can add text overlays to videos using FFmpeg's \`drawtext\` filter through this <dfn>Robot</dfn>'s \`ffmpeg\` parameter. Here are two examples — one with the default font and one with a custom font family name:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-encode.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-encode.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,SAAS,EACT,QAAQ,EACR,sBAAsB,EACtB,qCAAqC,GACtC,MAAM,+BAA+B,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,sBAAsB;IACzB,YAAY,EAAE,uBAAuB,CAAC,cAAc,EAAE,eAAe,EAAE;QACrE,MAAM,EAAE,MAAM;KACf,CAAC;IACF,wBAAwB,EACtB,yGAAyG;IAC3G,gBAAgB,EAAE,kEAAkE;IACpF,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,4BAA4B;IAC1C,aAAa,EAAE,wCAAwC;IACvD,KAAK,EAAE,wCAAwC;IAC/C,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,IAAI,EAAE,kBAAkB;CACzB,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAG,SAAS;KACxD,KAAK,CAAC,QAAQ,CAAC;KACf,KAAK,CAAC,qCAAqC,CAAC;KAC5C,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"video-encode.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-encode.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,SAAS,EACT,QAAQ,EACR,sBAAsB,EACtB,qCAAqC,GACtC,MAAM,+BAA+B,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,sBAAsB;IACzB,YAAY,EAAE,uBAAuB,CAAC,cAAc,EAAE,eAAe,EAAE;QACrE,MAAM,EAAE,MAAM;KACf,CAAC;IACF,wBAAwB,EACtB,yGAAyG;IAC3G,gBAAgB,EAAE,kEAAkE;IACpF,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,4BAA4B;IAC1C,aAAa,EAAE,wCAAwC;IACvD,KAAK,EAAE,wCAAwC;IAC/C,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,IAAI,EAAE,kBAAkB;CACzB,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAG,SAAS;KACxD,KAAK,CAAC,QAAQ,CAAC;KACf,KAAK,CAAC,qCAAqC,CAAC;KAC5C,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;yBAyBtB,aAAa,CAAC,MAAM,CAAC,kBAAkB;;;;;;;;;;;yBAWvC,aAAa,CAAC,MAAM,CAAC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAsB/D,CAAC;IACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,YAAY,GAAG;IACnB,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAGxB,2BAA2B,CAAC,IAAI,EAAE,kCAAkC,EAAE,YAAY,CAAC,CAAA;AAEvF,MAAM,CAAC,MAAM,EACX,gBAAgB,EAAE,kDAAkD,EACpE,cAAc,EAAE,gDAAgD,EAChE,8BAA8B,EAAE,gEAAgE,GACjG,GAAG,eAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-generate.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"video-generate.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,eAAO,MAAM,IAAI,EAAE,cAsBlB,CAAA;AAED,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCtC,CAAA;AAEX,eAAO,MAAM,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM7D,CAAA;AAEJ,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,8CAA8C,GAAG,CAAC,CAAC,KAAK,CAClE,OAAO,oDAAoD,CAC5D,CAAA;AAED,eAAO,MAAM,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9D,CAAA;AACD,MAAM,MAAM,4CAA4C,GACtD,iDAAiD,CAAA;AAEnD,MAAM,MAAM,iDAAiD,GAAG,CAAC,CAAC,KAAK,CACrE,OAAO,kDAAkD,CAC1D,CAAA;AAED,eAAO,MAAM,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9E,CAAA;AACD,MAAM,MAAM,4DAA4D,GAAG,CAAC,CAAC,KAAK,CAChF,OAAO,kEAAkE,CAC1E,CAAA;AACD,MAAM,MAAM,iEAAiE,GAAG,CAAC,CAAC,KAAK,CACrF,OAAO,kEAAkE,CAC1E,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,eAAe,CAC3C,OAAO,kDAAkD,EACzD,OAAO,kEAAkE,CAM1E,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { videoGenerateDefaultModelIdentifier } from "./_ai-models.js";
|
|
3
3
|
import { autoProviderDescription, interpolateRobot, robotArtificialIntelligenceMeta, robotBase, robotParameterDocs, robotUse, } from "./_instructions-primitives.js";
|
|
4
|
+
import { videoGenerationParameterEnforcementDate } from "./_video-generate-description.js";
|
|
4
5
|
export const meta = {
|
|
5
6
|
...robotArtificialIntelligenceMeta,
|
|
6
7
|
example_code: {
|
|
@@ -8,8 +9,6 @@ export const meta = {
|
|
|
8
9
|
generated_video: {
|
|
9
10
|
robot: '/video/generate',
|
|
10
11
|
prompt: 'A slow cinematic drone shot of ocean cliffs at sunrise, realistic lighting.',
|
|
11
|
-
duration: 5,
|
|
12
|
-
aspect_ratio: '16:9',
|
|
13
12
|
format: 'mp4',
|
|
14
13
|
},
|
|
15
14
|
},
|
|
@@ -33,14 +32,17 @@ export const robotVideoGenerateInstructionsSchema = robotBase
|
|
|
33
32
|
model: z
|
|
34
33
|
.string()
|
|
35
34
|
.optional()
|
|
36
|
-
.describe(`
|
|
35
|
+
.describe(`Video model; defaults to ${videoGenerateDefaultModelIdentifier}. Unsupported settings warn until ${videoGenerationParameterEnforcementDate}. MiniMax outputs are about six seconds.`),
|
|
37
36
|
prompt: z.string().describe('The prompt describing the desired video content.'),
|
|
38
37
|
format: z.enum(['mp4']).optional().describe('Format of the generated video.'),
|
|
39
38
|
seed: z.number().optional().describe(robotParameterDocs.seed.description),
|
|
40
|
-
aspect_ratio: z
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
aspect_ratio: z
|
|
40
|
+
.string()
|
|
41
|
+
.optional()
|
|
42
|
+
.describe('Aspect ratio for lightricks/ltx-video without an input image.'),
|
|
43
|
+
height: z.number().optional().describe('Pixel height for tencent/hunyuan-video.'),
|
|
44
|
+
width: z.number().optional().describe('Pixel width for tencent/hunyuan-video.'),
|
|
45
|
+
style: z.string().optional().describe('Unsupported by current models; omit it.'),
|
|
44
46
|
num_outputs: z
|
|
45
47
|
.number()
|
|
46
48
|
.int()
|
|
@@ -48,24 +50,12 @@ export const robotVideoGenerateInstructionsSchema = robotBase
|
|
|
48
50
|
.max(10)
|
|
49
51
|
.optional()
|
|
50
52
|
.describe('Number of video variants to generate.'),
|
|
51
|
-
duration: z.number().optional().describe('
|
|
52
|
-
fps: z.number().optional().describe('Frames per second
|
|
53
|
-
motion_amount: z
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
camera_motion: z
|
|
58
|
-
.string()
|
|
59
|
-
.optional()
|
|
60
|
-
.describe('Camera movement type (e.g., pan-left, pan-right, zoom-in, zoom-out, orbit, static, dolly, crane).'),
|
|
61
|
-
negative_prompt: z
|
|
62
|
-
.string()
|
|
63
|
-
.optional()
|
|
64
|
-
.describe('Describes what should be avoided in the generated video.'),
|
|
65
|
-
reference_strength: z
|
|
66
|
-
.number()
|
|
67
|
-
.optional()
|
|
68
|
-
.describe('How closely the output should follow the reference input (0.0 - 1.0).'),
|
|
53
|
+
duration: z.number().optional().describe('Unsupported by current models; omit it.'),
|
|
54
|
+
fps: z.number().optional().describe('Frames per second for tencent/hunyuan-video.'),
|
|
55
|
+
motion_amount: z.number().optional().describe('Unsupported by current models; omit it.'),
|
|
56
|
+
camera_motion: z.string().optional().describe('Unsupported by current models; omit it.'),
|
|
57
|
+
negative_prompt: z.string().optional().describe('Content to avoid (lightricks/ltx-video).'),
|
|
58
|
+
reference_strength: z.number().optional().describe('Unsupported by current models; omit it.'),
|
|
69
59
|
})
|
|
70
60
|
.strict();
|
|
71
61
|
export const robotVideoGenerateInstructionsWithHiddenFieldsSchema = robotVideoGenerateInstructionsSchema.extend({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-generate.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-generate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,mCAAmC,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,+BAA+B,EAC/B,SAAS,EACT,kBAAkB,EAClB,QAAQ,GACT,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"video-generate.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-subtitle.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-subtitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkBvB,oFAAoF;AACpF,eAAO,MAAM,wBAAwB;;;;;CAOpC,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,cAmClB,CAAA;AAED,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"video-subtitle.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-subtitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkBvB,oFAAoF;AACpF,eAAO,MAAM,wBAAwB;;;;;CAOpC,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,cAmClB,CAAA;AAED,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqHtC,CAAA;AAEX,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,oCAAoC,CAAC,KAAK,CACtC,CAAA;AAEzD,eAAO,MACa,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACtD,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEhE,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACnD,CAAA;AAEnB,KAAK,YAAY,GAAG,uBAAuB,CAAC,OAAO,eAAe,CAAC,CAAA;AAEnE,MAAM,MAAM,8BAA8B,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;AACnE,MAAM,MAAM,8CAA8C,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;AACzF,MAAM,MAAM,4CAA4C,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAC9F,MAAM,MAAM,iDAAiD,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AACnG,MAAM,MAAM,4DAA4D,GACtE,YAAY,CAAC,4BAA4B,CAAC,CAAA;AAC5C,MAAM,MAAM,iEAAiE,GAC3E,YAAY,CAAC,2BAA2B,CAAC,CAAA"}
|
|
@@ -56,6 +56,8 @@ export const robotVideoSubtitleInstructionsSchema = robotBase
|
|
|
56
56
|
This <dfn>Robot</dfn> supports SRT, VTT, ASS, and the timestamped JSON output of \`/speech/transcribe\` with \`"format": "json"\`. Pass the video as \`"video"\` and the transcript as \`"subtitles"\` in the \`use\` parameter. JSON words are grouped into captions and converted to ASS for burned word highlighting, or plain SRT cues for external subtitle streams. External JSON cues preserve casing and punctuation. Provider segments do not control caption breaks. SRT and VTT timing is preserved.
|
|
57
57
|
|
|
58
58
|
Without a \`preset\` or custom \`ffmpeg\` options, the legacy \`"flash"\` preset produces FLV output. With this default, burned subtitles use MP3 audio; external subtitles copy the input audio. Set \`"preset": "empty"\` to keep the input container, such as MP4 for an MP4 input.
|
|
59
|
+
|
|
60
|
+
When burning subtitles into HLG or PQ HDR video, the video is tone-mapped to SDR BT.709 before captions are drawn. Caption colors retain their intended RGB values, and the output is tagged as SDR. External subtitles preserve the source video’s HDR colors. SDR inputs keep their existing processing. If \`ffmpeg.pre:filter:v\` supplies its own tone mapping, that filter controls color conversion.
|
|
59
61
|
`),
|
|
60
62
|
subtitles_type: zodInputPreservingTransform(z.enum(['burned', 'external', 'burn']), (val) => val === 'burn' ? 'burned' : val)
|
|
61
63
|
.default('external')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-subtitle.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-subtitle.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,sBAAsB,GACvB,MAAM,+BAA+B,CAAA;AAEtC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAC5E,MAAM,wBAAwB,GAAG,2SAA2S,CAAA;AAE5U,oFAAoF;AACpF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,qFAAqF;IACrF,IAAI,EAAE,SAAS;IACf,uFAAuF;IACvF,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,IAAI;IACV,aAAa,EAAE,CAAC;CACjB,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,sBAAsB;IACzB,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,UAAU,EAAE;gBACV,KAAK,EAAE,oBAAoB;gBAC3B,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,MAAM;gBACd,eAAe,EAAE,OAAO;aACzB;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,iBAAiB;gBACxB,GAAG,EAAE;oBACH,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE;wBAClC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE;qBACxC;iBACF;gBACD,cAAc,EAAE,QAAQ;gBACxB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,QAAQ;gBACf,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,kBAAkB;aACtD;SACF;KACF;IACD,wBAAwB,EACtB,sVAAsV;IACxV,gBAAgB,EAAE,8CAA8C;IAChE,YAAY,EAAE,UAAU;IACxB,YAAY,EAAE,UAAU;IACxB,aAAa,EAAE,yBAAyB;IACxC,KAAK,EAAE,yBAAyB;IAChC,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,IAAI,EAAE,oBAAoB;CAC3B,CAAA;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,SAAS;KAC1D,KAAK,CAAC,QAAQ,CAAC;KACf,KAAK,CAAC,gBAAgB,CAAC;KACvB,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"video-subtitle.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-subtitle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-thumbs.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-thumbs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAevB,sEAAsE;AACtE,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C,kGAAkG;AAClG,eAAO,MAAM,mBAAmB,wBAAkE,CAAA;AAElG,mGAAmG;AACnG,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAEhD,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,QAAQ,CAAA;AAOlD,kGAAkG;AAClG,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAEhG;AAED,eAAO,MAAM,IAAI,EAAE,cAmBlB,CAAA;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"video-thumbs.d.ts","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-thumbs.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,8 @@ export const robotVideoThumbsInstructionsSchema = robotBase
|
|
|
43
43
|
robot: z.literal('/video/thumbs').describe(`
|
|
44
44
|
Set \`smart: true\` to select strong preview images with AI instead of taking frames only at regular intervals. The Robot scores candidate frames for clarity, brightness, composition, faces, expressions, action, and visual interest, then returns the best \`count\` frames in chronological order. Smart results include \`file.meta.smart_score\` and \`file.meta.smart_reasons\`. If AI scoring is unavailable, the Assembly continues with the candidate frames in fallback order and includes a warning. No AI credentials are required.
|
|
45
45
|
|
|
46
|
+
HLG and PQ HDR video frames are tone-mapped to SDR sRGB before image encoding, including smart-thumbnail candidates. This preserves the intended appearance in browsers that display thumbnails as sRGB images. SDR inputs keep their existing processing.
|
|
47
|
+
|
|
46
48
|
## AI pricing
|
|
47
49
|
|
|
48
50
|
Regular \`/video/thumbs\` processing charges still apply. AI frame analysis is billed separately at the underlying provider cost plus a ${smartThumbnailMarkupPercent}% Transloadit markup. Smart selection uses the dedicated \`${smartThumbnailModel}\` vision model with \`${smartThumbnailReasoningEffort}\` reasoning, independently of the \`/ai/chat\` default. The exact AI charge varies with the number of candidate frames and provider pricing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-thumbs.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-thumbs.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,WAAW,EACX,QAAQ,EACR,sBAAsB,GACvB,MAAM,+BAA+B,CAAA;AAEtC,sEAAsE;AACtE,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAE7C,kGAAkG;AAClG,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAA+D,CAAA;AAElG,mGAAmG;AACnG,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAA;AAEhD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAA;AAElD,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACxE,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AACjF,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AACnE,MAAM,6BAA6B,GAAG,4BAA4B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AAEnF,kGAAkG;AAClG,MAAM,UAAU,+BAA+B,CAAC,KAAa,EAAE,iBAAyB;IACtF,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAmB;IAClC,GAAG,sBAAsB;IACzB,YAAY,EAAE,uBAAuB,CAAC,aAAa,EAAE,eAAe,EAAE;QACpE,KAAK,EAAE,CAAC;QACR,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,kBAAkB;QACrD,KAAK,EAAE,IAAI;QACX,oBAAoB,EAAE,EAAE;KACzB,CAAC;IACF,wBAAwB,EACtB,8EAA8E;IAChF,gBAAgB,EAAE,+DAA+D;IACjF,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,WAAW;IACzB,aAAa,EAAE,gCAAgC;IAC/C,KAAK,EAAE,gCAAgC;IACvC,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,EAAE;CACnB,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAG,SAAS;KACxD,KAAK,CAAC,QAAQ,CAAC;KACf,KAAK,CAAC,WAAW,CAAC;KAClB,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"video-thumbs.js","sourceRoot":"","sources":["../../../../src/alphalib/types/robots/video-thumbs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Shared English contract for the HTML-to-PDF capture used by both conversion Robots. */
|
|
2
|
+
export const htmlPdfReadinessDescription =
|
|
3
|
+
'For HTML-to-PDF output, printing starts once sampled visible frames, their documents, and their fonts have stayed ready for 500 ms. After navigation, PDF readiness has a 30-second cap; a page that does not become ready fails conversion. Hidden frames do not extend the ready interval. Content that first appears during the final sample window may be missed. Prepare dynamic content before capture.'
|
|
@@ -24,6 +24,20 @@ export const meta: RobotMetaInput = {
|
|
|
24
24
|
'Export uploaded files to `my_target_folder` in a Cloudflare R2 bucket:',
|
|
25
25
|
extended_description: `
|
|
26
26
|
The URL to the result file will be returned in the <dfn>Assembly Status JSON</dfn>.
|
|
27
|
+
|
|
28
|
+
## Temporary credentials and permissions
|
|
29
|
+
|
|
30
|
+
You can use [temporary R2 credentials](https://developers.cloudflare.com/r2/api/s3/temporary-credentials/) by supplying the matching temporary \`key\`, \`secret\`, and \`session_token\`. Use the temporary secret returned or derived with the token, not the parent secret used to mint it. These values can also be stored together in Cloudflare <dfn>Template Credentials</dfn>. For per-Assembly credentials, send all three from your trusted backend; do not expose the parent credentials in browser instructions.
|
|
31
|
+
|
|
32
|
+
Credentials must remain valid through queuing, processing, upload retries, and verification. The Robot does not refresh them. Signed download URLs cannot outlive the credentials that sign them, even when \`sign_urls_for\` is longer.
|
|
33
|
+
|
|
34
|
+
When overriding a stored \`key\` or \`secret\` with a different value, supply the matching \`session_token\` inline too; the stored token will not be inherited. When updating Cloudflare Template Credentials, replacing either key or secret without a new token removes the old token. Omitting the token retains it only when the key and secret stay unchanged. You can also explicitly remove it with an empty string or \`null\`; empty tokens are treated as absent on creation too.
|
|
35
|
+
|
|
36
|
+
For locally signed credentials using explicit R2 \`actions\`, grant \`PutObject\` for small uploads and \`HeadObject\` for the Robot’s mandatory signed HEAD verification. Uploads larger than the default 5 MiB part size use multipart requests: also grant \`CreateMultipartUpload\`, \`UploadPart\`, \`CompleteMultipartUpload\`, and \`AbortMultipartUpload\` for failed-upload cleanup. Grant \`GetObject\` if consumers will use signed download URLs. These are R2 action names, not AWS IAM policy actions.
|
|
37
|
+
|
|
38
|
+
Scope \`paths.objectPaths\` to the exact destination object key and set \`path\` to that same key. A path ending in \`/\` appends a generated filename and will not match an exact-object grant. Use one output per exact-object key to avoid overwrites. No bucket listing or region-discovery permission is needed.
|
|
39
|
+
|
|
40
|
+
Strictly write-only credentials cannot pass this Robot’s HEAD verification. For uploads without read verification, use [/s3/store](/docs/robots/s3-store/) with the R2 configuration documented there. A presigned PUT URL is a different credential format and cannot be used as this Robot’s \`host\`.
|
|
27
41
|
`,
|
|
28
42
|
has_small_icon: true,
|
|
29
43
|
purpose_sentence: 'exports encoding results to Cloudflare R2 buckets',
|
|
@@ -39,6 +53,12 @@ export const robotCloudflareStoreInstructionsSchema = robotBase
|
|
|
39
53
|
.extend({
|
|
40
54
|
robot: z.literal('/cloudflare/store'),
|
|
41
55
|
path: storeFilePath,
|
|
56
|
+
session_token: z
|
|
57
|
+
.string()
|
|
58
|
+
.optional()
|
|
59
|
+
.describe(`
|
|
60
|
+
The session token belonging to the temporary Cloudflare R2 access key ID and secret access key supplied for this upload. It can also be supplied inside Template Credentials. The credentials must remain valid through upload and signed HEAD verification; the Robot does not refresh them.
|
|
61
|
+
`),
|
|
42
62
|
headers: z
|
|
43
63
|
.record(z.string())
|
|
44
64
|
.default({ 'Content-Type': '${file.mime}' })
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
documentConvertLoadInternalErrorReason,
|
|
12
12
|
documentConvertLoadUserErrorReason,
|
|
13
13
|
} from '../responseErrors/DocumentConvertRobot.ts'
|
|
14
|
+
import { htmlPdfReadinessDescription } from './_html-pdf.ts'
|
|
14
15
|
import {
|
|
15
16
|
createProcessingExample,
|
|
16
17
|
defineRobot,
|
|
@@ -119,6 +120,8 @@ export const robotDocumentConvertInstructionsSchema = robotBase
|
|
|
119
120
|
.merge(robotUse)
|
|
120
121
|
.extend({
|
|
121
122
|
robot: z.literal('/document/convert').describe(`
|
|
123
|
+
${htmlPdfReadinessDescription}
|
|
124
|
+
|
|
122
125
|
> [!Note]
|
|
123
126
|
> This Robot can convert files to PDF, but cannot convert PDFs to different formats. If you want to convert PDFs to say, JPEG or TIFF, use [🤖/image/resize](/docs/robots/image-resize/). If you want to turn them into text files or recognize (OCR) them to make them searchable, reach out, as we have a new Robot in the works for this.
|
|
124
127
|
|
|
@@ -6,6 +6,7 @@ import type {
|
|
|
6
6
|
|
|
7
7
|
import { z } from 'zod'
|
|
8
8
|
|
|
9
|
+
import { htmlPdfReadinessDescription } from './_html-pdf.ts'
|
|
9
10
|
import {
|
|
10
11
|
defineRobotWithHiddenFields,
|
|
11
12
|
robotBase,
|
|
@@ -50,6 +51,8 @@ export const robotHtmlConvertInstructionsSchema = robotBase
|
|
|
50
51
|
A URL can be provided instead of an input HTML file, to capture a screenshot from the website referenced by the URL.
|
|
51
52
|
|
|
52
53
|
Use [🤖/image/resize](/docs/robots/image-resize/) to resize or crop the screenshot as needed.
|
|
54
|
+
|
|
55
|
+
${htmlPdfReadinessDescription}
|
|
53
56
|
`),
|
|
54
57
|
url: z
|
|
55
58
|
.string()
|
|
@@ -36,6 +36,32 @@ export const meta: RobotMetaInput = {
|
|
|
36
36
|
...robotStoreMeta,
|
|
37
37
|
example_code: createStorageStoreExample('/s3/store', 'YOUR_AWS_CREDENTIALS'),
|
|
38
38
|
example_code_description: 'Export uploaded files to `my_target_folder` in an S3 bucket:',
|
|
39
|
+
extended_description: `
|
|
40
|
+
## Export to R2 with temporary credentials
|
|
41
|
+
|
|
42
|
+
To upload one output to an exact R2 object key, send the matching temporary credentials from your trusted backend:
|
|
43
|
+
|
|
44
|
+
\`\`\`json
|
|
45
|
+
{
|
|
46
|
+
"robot": "/s3/store",
|
|
47
|
+
"use": ":original",
|
|
48
|
+
"host": "https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com",
|
|
49
|
+
"bucket": "my-bucket",
|
|
50
|
+
"bucket_region": "auto",
|
|
51
|
+
"acl": "bucket-default",
|
|
52
|
+
"key": "TEMPORARY_ACCESS_KEY_ID",
|
|
53
|
+
"secret": "TEMPORARY_SECRET_ACCESS_KEY",
|
|
54
|
+
"session_token": "TEMPORARY_SESSION_TOKEN",
|
|
55
|
+
"path": "exports/result.jpg"
|
|
56
|
+
}
|
|
57
|
+
\`\`\`
|
|
58
|
+
|
|
59
|
+
The HTTPS host enables TLS, \`bucket_region: "auto"\` avoids region discovery, and \`acl: "bucket-default"\` omits the generated ACL header. Do not add ACL or grant headers. Scope the [R2 temporary credentials](https://developers.cloudflare.com/r2/api/s3/temporary-credentials/) to the same bucket and exact object key, here \`exports/result.jpg\`. Do not end \`path\` with \`/\`: that appends a generated filename. Export one output per key to avoid overwrites.
|
|
60
|
+
|
|
61
|
+
For locally signed R2 credentials, \`actions: ["PutObject"]\` permits small single-request uploads with this configuration. Uploads larger than the default 5 MiB part size also require \`CreateMultipartUpload\`, \`UploadPart\`, \`CompleteMultipartUpload\`, and \`AbortMultipartUpload\` for failed-upload cleanup. These are R2 action names, not AWS IAM policy actions. No listing, region discovery, HEAD, or GET is required by this upload configuration. Unlike [/cloudflare/store](/docs/robots/cloudflare-store/), this Robot does not perform HEAD verification after upload.
|
|
62
|
+
|
|
63
|
+
Credentials must remain valid through queuing, processing, and upload retries; the Robot does not refresh them. A returned object URL does not grant read access. If you request signed download URLs with \`sign_urls_for\`, add \`GetObject\` permission; those URLs also expire when the temporary credentials expire. A presigned PUT URL cannot be used as \`host\`.
|
|
64
|
+
`,
|
|
39
65
|
has_small_icon: true,
|
|
40
66
|
purpose_sentence: 'exports encoding results to Amazon S3',
|
|
41
67
|
purpose_word: 'Amazon S3',
|
|
@@ -155,7 +181,7 @@ This parameter provides signed URLs in the result JSON (in the \`signed_url\` an
|
|
|
155
181
|
.string()
|
|
156
182
|
.optional()
|
|
157
183
|
.describe(`
|
|
158
|
-
The session token belonging to the temporary
|
|
184
|
+
The session token belonging to the temporary access key ID and secret access key supplied for this upload to S3 or a compatible service such as R2. The Robot does not assume a role or refresh these credentials; they must remain valid for the upload.
|
|
159
185
|
`),
|
|
160
186
|
})
|
|
161
187
|
.strict()
|
|
@@ -28,30 +28,6 @@ export const meta: RobotMetaInput = {
|
|
|
28
28
|
extended_description: `
|
|
29
29
|
> [!Warning]
|
|
30
30
|
> Transloadit aims to be deterministic, but this <dfn>Robot</dfn> uses third-party AI services. The providers (AWS, GCP) will evolve their models over time, giving different responses for the same input media. Avoid relying on exact responses in your tests and application.
|
|
31
|
-
|
|
32
|
-
## Supported languages and voices
|
|
33
|
-
|
|
34
|
-
{% for provider in text_speak_voices %}
|
|
35
|
-
|
|
36
|
-
### {{provider[0] | upcase }}
|
|
37
|
-
|
|
38
|
-
<table class="table">
|
|
39
|
-
<thead>
|
|
40
|
-
<tr>
|
|
41
|
-
<th>Language</th>
|
|
42
|
-
<th>Voices</th>
|
|
43
|
-
</tr>
|
|
44
|
-
</thead>
|
|
45
|
-
<tbody>
|
|
46
|
-
{%- for language in provider[1] %}
|
|
47
|
-
<tr>
|
|
48
|
-
<td><strong>{{language[0]}}</strong></td>
|
|
49
|
-
<td>{{ language[1] | join: ", " }}</td>
|
|
50
|
-
</tr>
|
|
51
|
-
{%- endfor %}
|
|
52
|
-
</tbody>
|
|
53
|
-
</table>
|
|
54
|
-
{% endfor %}
|
|
55
31
|
`,
|
|
56
32
|
override_lvl1: 'Artificial Intelligence',
|
|
57
33
|
purpose_sentence: 'synthesizes speech in documents',
|
|
@@ -26,19 +26,6 @@ export const meta: RobotMetaInput = {
|
|
|
26
26
|
extended_description: `
|
|
27
27
|
> [!Warning]
|
|
28
28
|
> This <dfn>Robot</dfn> uses third-party AI services. They may tweak their models over time, giving different responses for the same input media. Avoid relying on exact responses in your tests and application.
|
|
29
|
-
|
|
30
|
-
## Supported languages
|
|
31
|
-
|
|
32
|
-
{%- for provider in text_translate_languages %}
|
|
33
|
-
|
|
34
|
-
### {{provider[0] | upcase }}
|
|
35
|
-
|
|
36
|
-
<!-- prettier-ignore -->
|
|
37
|
-
{%- for language in provider[1] %}
|
|
38
|
-
{{ language }}{% unless forloop.last %},{% endunless %}
|
|
39
|
-
{%- endfor %}
|
|
40
|
-
|
|
41
|
-
{%- endfor %}
|
|
42
29
|
`,
|
|
43
30
|
override_lvl1: 'Artificial Intelligence',
|
|
44
31
|
purpose_sentence: 'translates text in documents',
|
|
@@ -45,6 +45,8 @@ Videos recorded with iPhone spatial audio can contain a stereo AAC track alongsi
|
|
|
45
45
|
|
|
46
46
|
Files containing only unsupported audio still fail. Individual audio track selections and stream-copy requests keep the tracks you select; the output format must support copied tracks.
|
|
47
47
|
|
|
48
|
+
When adding watermarks or drawing with simple FFmpeg video filters such as \`drawtext\` to HLG or PQ HDR video, the video is tone-mapped to SDR BT.709 before drawing, so overlay colors retain their intended RGB values. SDR inputs keep their existing processing. A custom \`ffmpeg.pre:filter:v\` that supplies tone mapping controls its own color conversion. Custom multi-input \`filter_complex\` graphs must handle each input’s color space explicitly.
|
|
49
|
+
|
|
48
50
|
## Adding text overlays with FFmpeg
|
|
49
51
|
|
|
50
52
|
You can add text overlays to videos using FFmpeg's \`drawtext\` filter through this <dfn>Robot</dfn>'s \`ffmpeg\` parameter. Here are two examples — one with the default font and one with a custom font family name:
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
robotParameterDocs,
|
|
12
12
|
robotUse,
|
|
13
13
|
} from './_instructions-primitives.ts'
|
|
14
|
+
import { videoGenerationParameterEnforcementDate } from './_video-generate-description.ts'
|
|
14
15
|
|
|
15
16
|
export const meta: RobotMetaInput = {
|
|
16
17
|
...robotArtificialIntelligenceMeta,
|
|
@@ -19,8 +20,6 @@ export const meta: RobotMetaInput = {
|
|
|
19
20
|
generated_video: {
|
|
20
21
|
robot: '/video/generate',
|
|
21
22
|
prompt: 'A slow cinematic drone shot of ocean cliffs at sunrise, realistic lighting.',
|
|
22
|
-
duration: 5,
|
|
23
|
-
aspect_ratio: '16:9',
|
|
24
23
|
format: 'mp4',
|
|
25
24
|
},
|
|
26
25
|
},
|
|
@@ -46,15 +45,18 @@ export const robotVideoGenerateInstructionsSchema = robotBase
|
|
|
46
45
|
.string()
|
|
47
46
|
.optional()
|
|
48
47
|
.describe(
|
|
49
|
-
`
|
|
48
|
+
`Video model; defaults to ${videoGenerateDefaultModelIdentifier}. Unsupported settings warn until ${videoGenerationParameterEnforcementDate}. MiniMax outputs are about six seconds.`,
|
|
50
49
|
),
|
|
51
50
|
prompt: z.string().describe('The prompt describing the desired video content.'),
|
|
52
51
|
format: z.enum(['mp4']).optional().describe('Format of the generated video.'),
|
|
53
52
|
seed: z.number().optional().describe(robotParameterDocs.seed.description),
|
|
54
|
-
aspect_ratio: z
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
aspect_ratio: z
|
|
54
|
+
.string()
|
|
55
|
+
.optional()
|
|
56
|
+
.describe('Aspect ratio for lightricks/ltx-video without an input image.'),
|
|
57
|
+
height: z.number().optional().describe('Pixel height for tencent/hunyuan-video.'),
|
|
58
|
+
width: z.number().optional().describe('Pixel width for tencent/hunyuan-video.'),
|
|
59
|
+
style: z.string().optional().describe('Unsupported by current models; omit it.'),
|
|
58
60
|
num_outputs: z
|
|
59
61
|
.number()
|
|
60
62
|
.int()
|
|
@@ -62,26 +64,12 @@ export const robotVideoGenerateInstructionsSchema = robotBase
|
|
|
62
64
|
.max(10)
|
|
63
65
|
.optional()
|
|
64
66
|
.describe('Number of video variants to generate.'),
|
|
65
|
-
duration: z.number().optional().describe('
|
|
66
|
-
fps: z.number().optional().describe('Frames per second
|
|
67
|
-
motion_amount: z
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
camera_motion: z
|
|
72
|
-
.string()
|
|
73
|
-
.optional()
|
|
74
|
-
.describe(
|
|
75
|
-
'Camera movement type (e.g., pan-left, pan-right, zoom-in, zoom-out, orbit, static, dolly, crane).',
|
|
76
|
-
),
|
|
77
|
-
negative_prompt: z
|
|
78
|
-
.string()
|
|
79
|
-
.optional()
|
|
80
|
-
.describe('Describes what should be avoided in the generated video.'),
|
|
81
|
-
reference_strength: z
|
|
82
|
-
.number()
|
|
83
|
-
.optional()
|
|
84
|
-
.describe('How closely the output should follow the reference input (0.0 - 1.0).'),
|
|
67
|
+
duration: z.number().optional().describe('Unsupported by current models; omit it.'),
|
|
68
|
+
fps: z.number().optional().describe('Frames per second for tencent/hunyuan-video.'),
|
|
69
|
+
motion_amount: z.number().optional().describe('Unsupported by current models; omit it.'),
|
|
70
|
+
camera_motion: z.string().optional().describe('Unsupported by current models; omit it.'),
|
|
71
|
+
negative_prompt: z.string().optional().describe('Content to avoid (lightricks/ltx-video).'),
|
|
72
|
+
reference_strength: z.number().optional().describe('Unsupported by current models; omit it.'),
|
|
85
73
|
})
|
|
86
74
|
.strict()
|
|
87
75
|
|
|
@@ -77,6 +77,8 @@ export const robotVideoSubtitleInstructionsSchema = robotBase
|
|
|
77
77
|
This <dfn>Robot</dfn> supports SRT, VTT, ASS, and the timestamped JSON output of \`/speech/transcribe\` with \`"format": "json"\`. Pass the video as \`"video"\` and the transcript as \`"subtitles"\` in the \`use\` parameter. JSON words are grouped into captions and converted to ASS for burned word highlighting, or plain SRT cues for external subtitle streams. External JSON cues preserve casing and punctuation. Provider segments do not control caption breaks. SRT and VTT timing is preserved.
|
|
78
78
|
|
|
79
79
|
Without a \`preset\` or custom \`ffmpeg\` options, the legacy \`"flash"\` preset produces FLV output. With this default, burned subtitles use MP3 audio; external subtitles copy the input audio. Set \`"preset": "empty"\` to keep the input container, such as MP4 for an MP4 input.
|
|
80
|
+
|
|
81
|
+
When burning subtitles into HLG or PQ HDR video, the video is tone-mapped to SDR BT.709 before captions are drawn. Caption colors retain their intended RGB values, and the output is tagged as SDR. External subtitles preserve the source video’s HDR colors. SDR inputs keep their existing processing. If \`ffmpeg.pre:filter:v\` supplies its own tone mapping, that filter controls color conversion.
|
|
80
82
|
`),
|
|
81
83
|
subtitles_type: zodInputPreservingTransform(z.enum(['burned', 'external', 'burn']), (val) =>
|
|
82
84
|
val === 'burn' ? 'burned' : val,
|
|
@@ -70,6 +70,8 @@ export const robotVideoThumbsInstructionsSchema = robotBase
|
|
|
70
70
|
robot: z.literal('/video/thumbs').describe(`
|
|
71
71
|
Set \`smart: true\` to select strong preview images with AI instead of taking frames only at regular intervals. The Robot scores candidate frames for clarity, brightness, composition, faces, expressions, action, and visual interest, then returns the best \`count\` frames in chronological order. Smart results include \`file.meta.smart_score\` and \`file.meta.smart_reasons\`. If AI scoring is unavailable, the Assembly continues with the candidate frames in fallback order and includes a warning. No AI credentials are required.
|
|
72
72
|
|
|
73
|
+
HLG and PQ HDR video frames are tone-mapped to SDR sRGB before image encoding, including smart-thumbnail candidates. This preserves the intended appearance in browsers that display thumbnails as sRGB images. SDR inputs keep their existing processing.
|
|
74
|
+
|
|
73
75
|
## AI pricing
|
|
74
76
|
|
|
75
77
|
Regular \`/video/thumbs\` processing charges still apply. AI frame analysis is billed separately at the underlying provider cost plus a ${smartThumbnailMarkupPercent}% Transloadit markup. Smart selection uses the dedicated \`${smartThumbnailModel}\` vision model with \`${smartThumbnailReasoningEffort}\` reasoning, independently of the \`/ai/chat\` default. The exact AI charge varies with the number of candidate frames and provider pricing.
|