transloadit 4.13.1 → 4.14.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/README.md +20 -5
- package/dist/Transloadit.d.ts +2 -0
- package/dist/Transloadit.d.ts.map +1 -1
- package/dist/Transloadit.js +12 -2
- package/dist/Transloadit.js.map +1 -1
- package/dist/alphalib/types/assemblyStatus.d.ts +758 -0
- package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyStatus.js +6 -0
- package/dist/alphalib/types/assemblyStatus.js.map +1 -1
- package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
- package/dist/alphalib/types/robots/_instructions-primitives.js +2 -0
- package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
- package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -1
- package/dist/alphalib/types/robots/ai-chat.js +1 -0
- package/dist/alphalib/types/robots/ai-chat.js.map +1 -1
- package/dist/alphalib/types/robots/image-generate.js +4 -4
- package/dist/alphalib/types/robots/image-generate.js.map +1 -1
- package/dist/alphalib/types/storageAsset.d.ts +27 -1
- package/dist/alphalib/types/storageAsset.d.ts.map +1 -1
- package/dist/alphalib/types/storageAsset.js +6 -0
- package/dist/alphalib/types/storageAsset.js.map +1 -1
- package/dist/cli/commands/storage.d.ts +1 -0
- package/dist/cli/commands/storage.d.ts.map +1 -1
- package/dist/cli/commands/storage.js +27 -2
- package/dist/cli/commands/storage.js.map +1 -1
- package/dist/cli/semanticIntents/imageGenerate.d.ts +2 -2
- package/dist/cli/semanticIntents/imageGenerate.js +4 -4
- package/dist/cli/semanticIntents/imageGenerate.js.map +1 -1
- package/dist/cli/storageReceipts.d.ts.map +1 -1
- package/dist/cli/storageReceipts.js +4 -1
- package/dist/cli/storageReceipts.js.map +1 -1
- package/dist/storageImage.d.ts +6 -3
- package/dist/storageImage.d.ts.map +1 -1
- package/dist/storageImage.js +13 -0
- package/dist/storageImage.js.map +1 -1
- package/package.json +1 -1
- package/src/Transloadit.ts +18 -2
- package/src/alphalib/types/assemblyStatus.ts +6 -0
- package/src/alphalib/types/robots/_instructions-primitives.ts +2 -0
- package/src/alphalib/types/robots/ai-chat.ts +1 -0
- package/src/alphalib/types/robots/image-generate.ts +4 -4
- package/src/alphalib/types/storageAsset.ts +9 -1
- package/src/cli/commands/storage.ts +28 -2
- package/src/cli/semanticIntents/imageGenerate.ts +4 -4
- package/src/cli/storageReceipts.ts +4 -1
- package/src/storageImage.ts +18 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageReceipts.js","sourceRoot":"","sources":["../../src/cli/storageReceipts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storageReceipts.js","sourceRoot":"","sources":["../../src/cli/storageReceipts.ts"],"names":[],"mappings":"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"}
|
package/dist/storageImage.d.ts
CHANGED
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
import type { StoredAsset } from './alphalib/types/storageAsset.ts';
|
|
2
2
|
import type { CreateAssemblyOptions, Transloadit } from './Transloadit.ts';
|
|
3
|
+
import { z } from 'zod';
|
|
3
4
|
/**
|
|
4
5
|
* Verified Storage metadata that can be saved and passed directly to an image renderer.
|
|
5
6
|
* Width and height reflect EXIF auto-orientation, matching Storage preview delivery.
|
|
6
7
|
*/
|
|
7
8
|
export interface StoredImageReceipt extends Readonly<StoredAsset> {
|
|
8
|
-
/**
|
|
9
|
+
/** Legacy catalog spelling; new server receipts use has_alpha. */
|
|
9
10
|
readonly hasAlpha?: boolean;
|
|
10
11
|
readonly height: number;
|
|
11
12
|
readonly md5hash: string;
|
|
12
|
-
/** Optional base64 ThumbHash of the original pixels, for an inline blur placeholder. */
|
|
13
|
-
readonly thumbhash?: string;
|
|
14
13
|
readonly width: number;
|
|
15
14
|
}
|
|
15
|
+
/** Shared SDK/CLI opt-in for server extraction; rendering remains a separate choice. */
|
|
16
|
+
export declare const storageImagePlaceholderSchema: z.ZodEnum<["blur", "empty"]>;
|
|
16
17
|
/** One explicit destination, with the existing Assembly upload and polling controls. */
|
|
17
18
|
export interface StoreImageOptions extends Pick<CreateAssemblyOptions, 'chunkSize' | 'onAssemblyProgress' | 'onUploadProgress' | 'signal' | 'timeout'> {
|
|
18
19
|
/** Complete relative Storage filename. Directories and interpolation expressions are rejected. */
|
|
19
20
|
path: string;
|
|
20
21
|
/** Explicit opt-in replacement of an existing path; defaults to false. */
|
|
21
22
|
overwrite?: boolean;
|
|
23
|
+
/** Request a server ThumbHash. Successful extraction adds metadata usage of 20% of the file bytes. */
|
|
24
|
+
placeholder?: z.infer<typeof storageImagePlaceholderSchema>;
|
|
22
25
|
/** Observe verified metadata. Not awaited; sync and async observer errors cannot undo a write. */
|
|
23
26
|
onReceipt?: (receipt: StoredImageReceipt, input: StoredImageExpectation, assemblyId: string | undefined) => void | Promise<void>;
|
|
24
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageImage.d.ts","sourceRoot":"","sources":["../src/storageImage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storageImage.d.ts","sourceRoot":"","sources":["../src/storageImage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAM1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAAC,WAAW,CAAC;IAC/D,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,8BAA4B,CAAA;AAEtE,wFAAwF;AACxF,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,qBAAqB,EACrB,WAAW,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAC/E;IACD,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sGAAsG;IACtG,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;IAC3D,kGAAkG;IAClG,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,sBAAsB,EAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,KAC3B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED,+FAA+F;AAC/F,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,8FAA8F;AAC9F,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,sBAAsB,CAAA;CACjC;AAuCD,kGAAkG;AAClG,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAqE7B;AAED,oGAAoG;AACpG,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAU7B"}
|
package/dist/storageImage.js
CHANGED
|
@@ -5,6 +5,8 @@ import { z } from 'zod';
|
|
|
5
5
|
import { ApiError } from "./ApiError.js";
|
|
6
6
|
import { storedAssetSchema } from "./alphalib/types/storageAsset.js";
|
|
7
7
|
import InconsistentResponseError from "./InconsistentResponseError.js";
|
|
8
|
+
/** Shared SDK/CLI opt-in for server extraction; rendering remains a separate choice. */
|
|
9
|
+
export const storageImagePlaceholderSchema = z.enum(['blur', 'empty']);
|
|
8
10
|
const positiveIntegerSchema = z.number().int().positive().max(Number.MAX_SAFE_INTEGER);
|
|
9
11
|
const receiptRequestSchema = z.object({
|
|
10
12
|
assemblyId: z.string().regex(/^[A-Za-z0-9_-]+$/),
|
|
@@ -42,6 +44,9 @@ function validateDestination(path) {
|
|
|
42
44
|
export async function storeImage(client, filePath, options) {
|
|
43
45
|
const { path, chunkSize, onAssemblyProgress, onUploadProgress, onReceipt, overwrite, signal, timeout, } = options;
|
|
44
46
|
validateDestination(path);
|
|
47
|
+
const placeholder = storageImagePlaceholderSchema.optional().parse(options.placeholder, {
|
|
48
|
+
path: ['placeholder'],
|
|
49
|
+
});
|
|
45
50
|
if (overwrite !== undefined && typeof overwrite !== 'boolean')
|
|
46
51
|
throw new TypeError('overwrite must be a boolean');
|
|
47
52
|
signal?.throwIfAborted();
|
|
@@ -62,6 +67,14 @@ export async function storeImage(client, filePath, options) {
|
|
|
62
67
|
onUploadProgress,
|
|
63
68
|
params: {
|
|
64
69
|
steps: {
|
|
70
|
+
...(placeholder === 'blur'
|
|
71
|
+
? {
|
|
72
|
+
':original': {
|
|
73
|
+
robot: '/upload/handle',
|
|
74
|
+
output_meta: { thumbhash: true },
|
|
75
|
+
},
|
|
76
|
+
}
|
|
77
|
+
: {}),
|
|
65
78
|
stored: {
|
|
66
79
|
robot: '/transloadit/store',
|
|
67
80
|
use: ':original',
|
package/dist/storageImage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageImage.js","sourceRoot":"","sources":["../src/storageImage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storageImage.js","sourceRoot":"","sources":["../src/storageImage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Transloadit.ts
CHANGED
|
@@ -453,6 +453,8 @@ type BaseOptions = {
|
|
|
453
453
|
maxRetries?: number
|
|
454
454
|
timeout?: number
|
|
455
455
|
gotRetry?: Partial<RetryOptions>
|
|
456
|
+
/** Follow API redirects. Disable when requests originate from untrusted callers. Defaults to true. */
|
|
457
|
+
followRedirects?: boolean
|
|
456
458
|
validateResponses?: boolean
|
|
457
459
|
clientName?: string
|
|
458
460
|
}
|
|
@@ -461,6 +463,7 @@ export type Options = BaseOptions & (AuthKeySecret | AuthToken)
|
|
|
461
463
|
|
|
462
464
|
export class Transloadit {
|
|
463
465
|
#signatureAlgorithm: SignatureAlgorithm
|
|
466
|
+
#followRedirects: boolean
|
|
464
467
|
private _authKey: string
|
|
465
468
|
|
|
466
469
|
private _authSecret: string
|
|
@@ -504,6 +507,7 @@ export class Transloadit {
|
|
|
504
507
|
this._authSecret = opts.authSecret ?? ''
|
|
505
508
|
this.#signatureAlgorithm = opts.signatureAlgorithm ?? 'sha384'
|
|
506
509
|
this._authToken = hasToken ? rawToken : null
|
|
510
|
+
this.#followRedirects = opts.followRedirects ?? true
|
|
507
511
|
this._endpoint = opts.endpoint || 'https://api2.transloadit.com'
|
|
508
512
|
this._maxRetries = opts.maxRetries != null ? opts.maxRetries : 5
|
|
509
513
|
this._defaultTimeout = opts.timeout != null ? opts.timeout : 60000
|
|
@@ -1650,6 +1654,7 @@ export class Transloadit {
|
|
|
1650
1654
|
}
|
|
1651
1655
|
|
|
1652
1656
|
const requestOpts: OptionsOfJSONResponseBody = {
|
|
1657
|
+
followRedirect: this.#followRedirects,
|
|
1653
1658
|
retry: this._gotRetry,
|
|
1654
1659
|
body: form,
|
|
1655
1660
|
timeout,
|
|
@@ -1665,8 +1670,19 @@ export class Transloadit {
|
|
|
1665
1670
|
|
|
1666
1671
|
try {
|
|
1667
1672
|
const request = got[method]<TRet>(url, requestOpts)
|
|
1668
|
-
const { body } = await request
|
|
1669
|
-
//
|
|
1673
|
+
const { body, statusCode } = await request
|
|
1674
|
+
// redirect_url responses can contain a valid Assembly, but an empty redirect cannot
|
|
1675
|
+
// fulfill an API request. Keep its Location unfollowed without reporting empty success.
|
|
1676
|
+
if (
|
|
1677
|
+
!this.#followRedirects &&
|
|
1678
|
+
statusCode >= 300 &&
|
|
1679
|
+
statusCode < 400 &&
|
|
1680
|
+
(body === null || typeof body !== 'object')
|
|
1681
|
+
) {
|
|
1682
|
+
throw new InconsistentResponseError(
|
|
1683
|
+
'The API returned a redirect without a JSON object while redirects are disabled.',
|
|
1684
|
+
)
|
|
1685
|
+
}
|
|
1670
1686
|
return body
|
|
1671
1687
|
} catch (err) {
|
|
1672
1688
|
if (!(err instanceof RequestError)) throw err
|
|
@@ -391,6 +391,8 @@ export type AssemblyStatusErrCode = z.infer<typeof assemblyStatusErrCodeSchema>
|
|
|
391
391
|
|
|
392
392
|
const assemblyStatusMetaSchema = z
|
|
393
393
|
.object({
|
|
394
|
+
thumbhash: storedAssetSchema.shape.thumbhash,
|
|
395
|
+
has_alpha: storedAssetSchema.shape.has_alpha,
|
|
394
396
|
width: z.union([z.number(), z.null()]).optional(),
|
|
395
397
|
height: z.union([z.number(), z.null()]).optional(),
|
|
396
398
|
date_file_modified: z.string().nullable().optional(),
|
|
@@ -636,6 +638,8 @@ export const assemblyStatusUploadSchema = z
|
|
|
636
638
|
version_id: storedAssetSchema.shape.version_id.optional(),
|
|
637
639
|
workspace: storedAssetSchema.shape.workspace.optional(),
|
|
638
640
|
sha256: storedAssetSchema.shape.sha256,
|
|
641
|
+
thumbhash: storedAssetSchema.shape.thumbhash,
|
|
642
|
+
has_alpha: storedAssetSchema.shape.has_alpha,
|
|
639
643
|
name: z.string(),
|
|
640
644
|
basename: z.string(),
|
|
641
645
|
ext: z.string(),
|
|
@@ -677,6 +681,8 @@ export const assemblyStatusResultSchema = z
|
|
|
677
681
|
version_id: storedAssetSchema.shape.version_id.optional(),
|
|
678
682
|
workspace: storedAssetSchema.shape.workspace.optional(),
|
|
679
683
|
sha256: storedAssetSchema.shape.sha256,
|
|
684
|
+
thumbhash: storedAssetSchema.shape.thumbhash,
|
|
685
|
+
has_alpha: storedAssetSchema.shape.has_alpha,
|
|
680
686
|
basename: z.string().nullable().optional(),
|
|
681
687
|
field: z.string().nullable().optional(),
|
|
682
688
|
md5hash: z.string().nullable().optional(),
|
|
@@ -536,6 +536,8 @@ For images, you can add \`"has_transparency": true\` in this object to extract i
|
|
|
536
536
|
|
|
537
537
|
For images, you can also add \`"blurhash": true\` to extract a [BlurHash](https://blurha.sh) string — a compact representation of a placeholder for the image, useful for showing a blurred preview while the full image loads.
|
|
538
538
|
|
|
539
|
+
For images, \`"thumbhash": true\` instead extracts a base64-encoded [ThumbHash](https://evanw.github.io/thumbhash/) into \`meta.thumbhash\`, together with \`meta.has_alpha\` (whether an alpha channel exists, even when fully opaque). It describes EXIF-oriented pixels and uses the first frame of animated images. Extraction is best-effort: images above 40 megapixels, unsupported formats, or a failed/bounded decode produce no placeholder. Successful extraction adds a metadata charge equivalent to 20% of that file's bytes. No ThumbHash surcharge applies when disabled or when no hash is produced.
|
|
540
|
+
|
|
539
541
|
For videos, you can add the \`"colorspace: true"\` parameter to extract the colorspace of the output video.
|
|
540
542
|
|
|
541
543
|
For videos, you can also add \`"interlaced": true\` to detect whether the video is interlaced. This combines the cheap ffprobe \`field_order\` flag with a bounded \`idet\` sampling pass over the first frames of the source, exposing \`interlaced\`, \`field_order\`, and a diagnostic \`interlace_detection\` object under \`file.meta\`. This is computationally expensive and billed accordingly.
|
|
@@ -544,6 +544,7 @@ export const MODEL_CAPABILITIES: Record<string, { pdf: boolean; image: boolean }
|
|
|
544
544
|
'anthropic/claude-sonnet-4-20250514': { pdf: true, image: true },
|
|
545
545
|
'anthropic/claude-opus-4-8': { pdf: true, image: true },
|
|
546
546
|
'anthropic/claude-opus-5': { pdf: true, image: true },
|
|
547
|
+
'anthropic/claude-opus-5-5': { pdf: true, image: true },
|
|
547
548
|
'anthropic/claude-4-opus-20250514': { pdf: true, image: true },
|
|
548
549
|
'anthropic/claude-opus-4-20250514': { pdf: true, image: true },
|
|
549
550
|
'anthropic/claude-sonnet-4-5': { pdf: true, image: true },
|
|
@@ -91,7 +91,7 @@ Best practice:
|
|
|
91
91
|
.string()
|
|
92
92
|
.optional()
|
|
93
93
|
.describe(
|
|
94
|
-
'The AI model to use. Defaults to
|
|
94
|
+
'The AI model to use. Defaults to openai/gpt-image-2.5-flare. Supported models include flux-1.1-pro-ultra, flux-schnell, recraft-v3, google/nano-banana, google/nano-banana-2, google/nano-banana-pro, openai/gpt-image-2, openai/gpt-image-2.5-flare, openai/gpt-image-2.5-sunburst, and stability-ai/stable-diffusion-inpainting. The legacy alias gpt-image-2 is also accepted for backwards compatibility.',
|
|
95
95
|
),
|
|
96
96
|
prompt: z
|
|
97
97
|
.string()
|
|
@@ -102,7 +102,7 @@ Best practice:
|
|
|
102
102
|
.enum(['jpeg', 'jpg', 'png', 'gif', 'webp', 'svg'])
|
|
103
103
|
.optional()
|
|
104
104
|
.describe(
|
|
105
|
-
'Output format. Defaults depend on model: png for Google
|
|
105
|
+
'Output format. Defaults depend on model: png for Google and OpenAI models, svg for recraft-v3, jpeg for others. Google models currently return PNG only.',
|
|
106
106
|
),
|
|
107
107
|
seed: z.number().optional().describe('Seed for the random number generator.'),
|
|
108
108
|
aspect_ratio: z
|
|
@@ -115,13 +115,13 @@ Best practice:
|
|
|
115
115
|
.number()
|
|
116
116
|
.optional()
|
|
117
117
|
.describe(
|
|
118
|
-
'Requested output height in pixels (mainly used by Google image models
|
|
118
|
+
'Requested output height in pixels (mainly used by Google and OpenAI image models).',
|
|
119
119
|
),
|
|
120
120
|
width: z
|
|
121
121
|
.number()
|
|
122
122
|
.optional()
|
|
123
123
|
.describe(
|
|
124
|
-
'Requested output width in pixels (mainly used by Google image models
|
|
124
|
+
'Requested output width in pixels (mainly used by Google and OpenAI image models).',
|
|
125
125
|
),
|
|
126
126
|
style: z.string().optional().describe('Style of the generated image.'),
|
|
127
127
|
num_outputs: z
|
|
@@ -33,9 +33,17 @@ export const storedAssetSchema = z.object({
|
|
|
33
33
|
.optional(),
|
|
34
34
|
width: z.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),
|
|
35
35
|
height: z.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),
|
|
36
|
+
thumbhash: z
|
|
37
|
+
.string()
|
|
38
|
+
.regex(
|
|
39
|
+
/^(?:[A-Za-z0-9+/]{4}){1,15}(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)$/u,
|
|
40
|
+
)
|
|
41
|
+
.optional()
|
|
42
|
+
.describe('Base64-encoded ThumbHash of this version’s displayed pixels, when requested with output_meta.thumbhash on its producing Step. This is image data: apply the same access controls as the original.'),
|
|
43
|
+
has_alpha: z.boolean().optional().describe('Whether the image has an alpha channel, even if all its pixels are opaque. Present when ThumbHash extraction succeeds; absence means unknown.'),
|
|
36
44
|
})
|
|
37
45
|
|
|
38
|
-
/** Store, read and recovery share this shape
|
|
46
|
+
/** Store, read and recovery share this version-pinned shape, including optional placeholders. */
|
|
39
47
|
export type StoredAsset = z.infer<typeof storedAssetSchema>
|
|
40
48
|
|
|
41
49
|
/** Bounded metadata paging; cursors are the last returned, case-sensitive asset path. */
|
|
@@ -11,6 +11,7 @@ import { z } from 'zod'
|
|
|
11
11
|
import { ApiError } from '../../ApiError.ts'
|
|
12
12
|
import { storedAssetSchema } from '../../alphalib/types/storageAsset.ts'
|
|
13
13
|
import InconsistentResponseError from '../../InconsistentResponseError.ts'
|
|
14
|
+
import { storageImagePlaceholderSchema } from '../../storageImage.ts'
|
|
14
15
|
import { normalizeStoragePublicPrefix } from '../../storagePublicPrefixes.ts'
|
|
15
16
|
import { Transloadit } from '../../Transloadit.ts'
|
|
16
17
|
import { noticeCliCredentialSource, quoteCliArgument, resolveCliConfig } from '../helpers.ts'
|
|
@@ -235,6 +236,8 @@ export class StorageStoreCommand extends StorageProjectCommand {
|
|
|
235
236
|
Storage writes must be enabled. Existing Storage paths conflict unless --overwrite is explicit.
|
|
236
237
|
--hashed inserts eight MD5 hex digits before the extension. Matching catalog receipts skip
|
|
237
238
|
repeat uploads; changed bytes get a fresh name. --hashed cannot be combined with --overwrite.
|
|
239
|
+
--placeholder blur requests server metadata on new uploads. Successful extraction adds
|
|
240
|
+
metadata usage of 20% of the file bytes. Missing placeholders never retry a completed upload.
|
|
238
241
|
The project catalog binds workspace, published prefixes and image receipts. Each successful
|
|
239
242
|
upload is saved atomically before the next. Do not run two writers against the same catalog.
|
|
240
243
|
The catalog defaults to transloadit.images.json; --receipts selects another file.
|
|
@@ -254,6 +257,9 @@ export class StorageStoreCommand extends StorageProjectCommand {
|
|
|
254
257
|
overwrite = Option.Boolean('--overwrite', false, {
|
|
255
258
|
description: 'Explicitly replace an existing Storage path',
|
|
256
259
|
})
|
|
260
|
+
placeholder = Option.String('--placeholder', {
|
|
261
|
+
description: 'Server placeholder: blur opts into metadata extraction; empty is the default',
|
|
262
|
+
})
|
|
257
263
|
publicDelivery = Option.Boolean('--public', false, {
|
|
258
264
|
description:
|
|
259
265
|
'Publish the destination directory recursively, including current and future objects',
|
|
@@ -267,6 +273,9 @@ export class StorageStoreCommand extends StorageProjectCommand {
|
|
|
267
273
|
let published: string | undefined
|
|
268
274
|
try {
|
|
269
275
|
noticeCliCredentialSource(this.cliConfig, this.output)
|
|
276
|
+
const placeholder = storageImagePlaceholderSchema.optional().parse(this.placeholder, {
|
|
277
|
+
path: ['--placeholder'],
|
|
278
|
+
})
|
|
270
279
|
if (this.hashed && this.overwrite)
|
|
271
280
|
throw new Error(
|
|
272
281
|
'--hashed cannot be combined with --overwrite; changed bytes get a new name',
|
|
@@ -350,6 +359,7 @@ export class StorageStoreCommand extends StorageProjectCommand {
|
|
|
350
359
|
}
|
|
351
360
|
stored.receipt ??= await this.client.storeImage(input.file, {
|
|
352
361
|
path: destination,
|
|
362
|
+
...(placeholder === undefined ? {} : { placeholder }),
|
|
353
363
|
signal,
|
|
354
364
|
onReceipt: (receipt, expected, assemblyId) => {
|
|
355
365
|
const sizeMatches = receipt.size === expected.size
|
|
@@ -429,9 +439,19 @@ export class StorageStoreCommand extends StorageProjectCommand {
|
|
|
429
439
|
})
|
|
430
440
|
}
|
|
431
441
|
const receipt = stored.receipt
|
|
442
|
+
if (placeholder === 'blur' && receipt.thumbhash === undefined) {
|
|
443
|
+
this.output.notice(
|
|
444
|
+
unchanged
|
|
445
|
+
? `Placeholder unavailable for ${JSON.stringify(receipt.path)}. Use storage receipts sync to recover metadata already on the server; no file was uploaded or replaced. Sync cannot generate a missing hash.`
|
|
446
|
+
: `Placeholder unavailable for ${JSON.stringify(receipt.path)}; the image was stored successfully. Extraction is best-effort; the saved receipt remains usable without blur.`,
|
|
447
|
+
)
|
|
448
|
+
}
|
|
432
449
|
publicImage ||= published !== undefined && receipt.path.startsWith(published)
|
|
433
450
|
const blur =
|
|
434
|
-
saved &&
|
|
451
|
+
saved &&
|
|
452
|
+
publicImage &&
|
|
453
|
+
receipt.thumbhash !== undefined &&
|
|
454
|
+
(receipt.has_alpha ?? receipt.hasAlpha) !== true
|
|
435
455
|
// A foreign catalog says nothing about this destination's policy or rendering setup.
|
|
436
456
|
const setupAdvice =
|
|
437
457
|
!saved || setupPrinted
|
|
@@ -665,7 +685,13 @@ export class StorageReceiptsSyncCommand extends UnauthenticatedCommand {
|
|
|
665
685
|
evidence.data.version_id === asset.version_id
|
|
666
686
|
? evidence.data
|
|
667
687
|
: {}
|
|
668
|
-
|
|
688
|
+
const merged: z.infer<typeof uploadEvidenceSchema> = {
|
|
689
|
+
...retained,
|
|
690
|
+
...asset,
|
|
691
|
+
apiOrigin: endpoint,
|
|
692
|
+
}
|
|
693
|
+
if (asset.has_alpha !== undefined) delete merged.hasAlpha
|
|
694
|
+
return [asset.path, merged]
|
|
669
695
|
})
|
|
670
696
|
count = entries.length
|
|
671
697
|
return Object.fromEntries(entries)
|
|
@@ -5,7 +5,7 @@ import { basename } from 'node:path'
|
|
|
5
5
|
|
|
6
6
|
import { parseOptionalEnumValue } from './parsing.ts'
|
|
7
7
|
|
|
8
|
-
const defaultImageGenerateModel = '
|
|
8
|
+
const defaultImageGenerateModel = 'openai/gpt-image-2.5-flare'
|
|
9
9
|
const imageGenerateFormats = ['jpeg', 'jpg', 'png', 'gif', 'webp', 'svg'] as const
|
|
10
10
|
|
|
11
11
|
const imageGenerateOptionDefinitions = [
|
|
@@ -23,7 +23,7 @@ const imageGenerateOptionDefinitions = [
|
|
|
23
23
|
kind: 'string',
|
|
24
24
|
propertyName: 'model',
|
|
25
25
|
optionFlags: '--model',
|
|
26
|
-
description: `
|
|
26
|
+
description: `Defaults to ${defaultImageGenerateModel}. Choose openai/gpt-image-2.5-sunburst for precision. Explicit older models remain supported.`,
|
|
27
27
|
required: false,
|
|
28
28
|
exampleValue: defaultImageGenerateModel,
|
|
29
29
|
},
|
|
@@ -96,8 +96,8 @@ const imageGenerateCommandPresentation = {
|
|
|
96
96
|
'transloadit image generate --prompt "A red bicycle in a studio" --output output.png',
|
|
97
97
|
],
|
|
98
98
|
[
|
|
99
|
-
'Generate with OpenAI
|
|
100
|
-
'transloadit image generate --model openai/gpt-image-2 --width 1024 --height 1024 --prompt "A ceramic coffee mug on a white sweep" --output output.png',
|
|
99
|
+
'Generate with OpenAI Images 2.5 Sunburst',
|
|
100
|
+
'transloadit image generate --model openai/gpt-image-2.5-sunburst --width 1024 --height 1024 --prompt "A ceramic coffee mug on a white sweep" --output output.png',
|
|
101
101
|
],
|
|
102
102
|
[
|
|
103
103
|
'Guide generation with one input image',
|
|
@@ -69,6 +69,9 @@ export function storageTypesPath(catalog: string): string {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
function catalogTypes(catalog: StorageProjectCatalog, file?: string): string {
|
|
72
|
+
// Headerless files predate has_alpha. Ownership checks must reproduce their exact format;
|
|
73
|
+
// newly generated files always name their catalog and include the canonical field.
|
|
74
|
+
const alphaType = file === undefined ? '' : ' has_alpha?: boolean;'
|
|
72
75
|
// Canonical LF keeps generated output deterministic; Git controls checkout-specific EOL conversion.
|
|
73
76
|
const properties = Object.entries(catalog.images)
|
|
74
77
|
.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
|
|
@@ -78,7 +81,7 @@ function catalogTypes(catalog: StorageProjectCatalog, file?: string): string {
|
|
|
78
81
|
if (!dimensions.success) return []
|
|
79
82
|
const { width, height, asset_id, version_id, workspace } = dimensions.data
|
|
80
83
|
const name = JSON.stringify(path)
|
|
81
|
-
return ` ${name}: { path: ${name}; workspace: ${JSON.stringify(workspace)}; asset_id: ${JSON.stringify(asset_id)}; version_id: ${JSON.stringify(version_id)}; width: ${width}; height: ${height}; thumbhash?: string
|
|
84
|
+
return ` ${name}: { path: ${name}; workspace: ${JSON.stringify(workspace)}; asset_id: ${JSON.stringify(asset_id)}; version_id: ${JSON.stringify(version_id)}; width: ${width}; height: ${height}; thumbhash?: string;${alphaType} hasAlpha?: boolean }`
|
|
82
85
|
})
|
|
83
86
|
return [
|
|
84
87
|
typesHeader,
|
package/src/storageImage.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AssemblyStatus } from './alphalib/types/assemblyStatus.ts'
|
|
2
|
+
import type { InterpolatableRobotUploadHandleInstructionsInput } from './alphalib/types/robots/upload-handle.ts'
|
|
2
3
|
import type { StoredAsset } from './alphalib/types/storageAsset.ts'
|
|
3
4
|
import type { CreateAssemblyOptions, Transloadit } from './Transloadit.ts'
|
|
4
5
|
|
|
@@ -17,15 +18,16 @@ import InconsistentResponseError from './InconsistentResponseError.ts'
|
|
|
17
18
|
* Width and height reflect EXIF auto-orientation, matching Storage preview delivery.
|
|
18
19
|
*/
|
|
19
20
|
export interface StoredImageReceipt extends Readonly<StoredAsset> {
|
|
20
|
-
/**
|
|
21
|
+
/** Legacy catalog spelling; new server receipts use has_alpha. */
|
|
21
22
|
readonly hasAlpha?: boolean
|
|
22
23
|
readonly height: number
|
|
23
24
|
readonly md5hash: string
|
|
24
|
-
/** Optional base64 ThumbHash of the original pixels, for an inline blur placeholder. */
|
|
25
|
-
readonly thumbhash?: string
|
|
26
25
|
readonly width: number
|
|
27
26
|
}
|
|
28
27
|
|
|
28
|
+
/** Shared SDK/CLI opt-in for server extraction; rendering remains a separate choice. */
|
|
29
|
+
export const storageImagePlaceholderSchema = z.enum(['blur', 'empty'])
|
|
30
|
+
|
|
29
31
|
/** One explicit destination, with the existing Assembly upload and polling controls. */
|
|
30
32
|
export interface StoreImageOptions
|
|
31
33
|
extends Pick<
|
|
@@ -36,6 +38,8 @@ export interface StoreImageOptions
|
|
|
36
38
|
path: string
|
|
37
39
|
/** Explicit opt-in replacement of an existing path; defaults to false. */
|
|
38
40
|
overwrite?: boolean
|
|
41
|
+
/** Request a server ThumbHash. Successful extraction adds metadata usage of 20% of the file bytes. */
|
|
42
|
+
placeholder?: z.infer<typeof storageImagePlaceholderSchema>
|
|
39
43
|
/** Observe verified metadata. Not awaited; sync and async observer errors cannot undo a write. */
|
|
40
44
|
onReceipt?: (
|
|
41
45
|
receipt: StoredImageReceipt,
|
|
@@ -111,6 +115,9 @@ export async function storeImage(
|
|
|
111
115
|
timeout,
|
|
112
116
|
} = options
|
|
113
117
|
validateDestination(path)
|
|
118
|
+
const placeholder = storageImagePlaceholderSchema.optional().parse(options.placeholder, {
|
|
119
|
+
path: ['placeholder'],
|
|
120
|
+
})
|
|
114
121
|
if (overwrite !== undefined && typeof overwrite !== 'boolean')
|
|
115
122
|
throw new TypeError('overwrite must be a boolean')
|
|
116
123
|
signal?.throwIfAborted()
|
|
@@ -130,6 +137,14 @@ export async function storeImage(
|
|
|
130
137
|
onUploadProgress,
|
|
131
138
|
params: {
|
|
132
139
|
steps: {
|
|
140
|
+
...(placeholder === 'blur'
|
|
141
|
+
? {
|
|
142
|
+
':original': {
|
|
143
|
+
robot: '/upload/handle',
|
|
144
|
+
output_meta: { thumbhash: true },
|
|
145
|
+
} satisfies InterpolatableRobotUploadHandleInstructionsInput,
|
|
146
|
+
}
|
|
147
|
+
: {}),
|
|
133
148
|
stored: {
|
|
134
149
|
robot: '/transloadit/store',
|
|
135
150
|
use: ':original',
|