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.
Files changed (46) hide show
  1. package/README.md +20 -5
  2. package/dist/Transloadit.d.ts +2 -0
  3. package/dist/Transloadit.d.ts.map +1 -1
  4. package/dist/Transloadit.js +12 -2
  5. package/dist/Transloadit.js.map +1 -1
  6. package/dist/alphalib/types/assemblyStatus.d.ts +758 -0
  7. package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
  8. package/dist/alphalib/types/assemblyStatus.js +6 -0
  9. package/dist/alphalib/types/assemblyStatus.js.map +1 -1
  10. package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
  11. package/dist/alphalib/types/robots/_instructions-primitives.js +2 -0
  12. package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
  13. package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -1
  14. package/dist/alphalib/types/robots/ai-chat.js +1 -0
  15. package/dist/alphalib/types/robots/ai-chat.js.map +1 -1
  16. package/dist/alphalib/types/robots/image-generate.js +4 -4
  17. package/dist/alphalib/types/robots/image-generate.js.map +1 -1
  18. package/dist/alphalib/types/storageAsset.d.ts +27 -1
  19. package/dist/alphalib/types/storageAsset.d.ts.map +1 -1
  20. package/dist/alphalib/types/storageAsset.js +6 -0
  21. package/dist/alphalib/types/storageAsset.js.map +1 -1
  22. package/dist/cli/commands/storage.d.ts +1 -0
  23. package/dist/cli/commands/storage.d.ts.map +1 -1
  24. package/dist/cli/commands/storage.js +27 -2
  25. package/dist/cli/commands/storage.js.map +1 -1
  26. package/dist/cli/semanticIntents/imageGenerate.d.ts +2 -2
  27. package/dist/cli/semanticIntents/imageGenerate.js +4 -4
  28. package/dist/cli/semanticIntents/imageGenerate.js.map +1 -1
  29. package/dist/cli/storageReceipts.d.ts.map +1 -1
  30. package/dist/cli/storageReceipts.js +4 -1
  31. package/dist/cli/storageReceipts.js.map +1 -1
  32. package/dist/storageImage.d.ts +6 -3
  33. package/dist/storageImage.d.ts.map +1 -1
  34. package/dist/storageImage.js +13 -0
  35. package/dist/storageImage.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/Transloadit.ts +18 -2
  38. package/src/alphalib/types/assemblyStatus.ts +6 -0
  39. package/src/alphalib/types/robots/_instructions-primitives.ts +2 -0
  40. package/src/alphalib/types/robots/ai-chat.ts +1 -0
  41. package/src/alphalib/types/robots/image-generate.ts +4 -4
  42. package/src/alphalib/types/storageAsset.ts +9 -1
  43. package/src/cli/commands/storage.ts +28 -2
  44. package/src/cli/semanticIntents/imageGenerate.ts +4 -4
  45. package/src/cli/storageReceipts.ts +4 -1
  46. 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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"}
@@ -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
- /** Optional metadata indicating that the original has an alpha channel. */
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":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAY1E;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAAC,WAAW,CAAC;IAC/D,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,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,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,CA0D7B;AAED,oGAAoG;AACpG,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAU7B"}
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"}
@@ -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',
@@ -1 +1 @@
1
- {"version":3,"file":"storageImage.js","sourceRoot":"","sources":["../src/storageImage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageImage.js","sourceRoot":"","sources":["../src/storageImage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "transloadit",
3
- "version": "4.13.1",
3
+ "version": "4.14.0",
4
4
  "description": "Node.js SDK for Transloadit",
5
5
  "homepage": "https://github.com/transloadit/node-sdk/tree/main/packages/node",
6
6
  "bugs": {
@@ -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
- // console.log(body)
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 google/nano-banana. 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, and stability-ai/stable-diffusion-inpainting. The legacy alias gpt-image-2 is also accepted for backwards compatibility.',
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 models and openai/gpt-image-2, svg for recraft-v3, jpeg for others. Google models currently return PNG only.',
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 and openai/gpt-image-2).',
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 and openai/gpt-image-2).',
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; image clients may enrich it with placeholders. */
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 && publicImage && receipt.thumbhash !== undefined && receipt.hasAlpha !== true
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
- return [asset.path, { ...retained, ...asset, apiOrigin: endpoint }]
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 = 'google/nano-banana-2'
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: `The AI model to use for image generation. Defaults to ${defaultImageGenerateModel}. Backend-supported models include openai/gpt-image-2 and Google Nano Banana variants.`,
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 gpt-image-2',
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; hasAlpha?: boolean }`
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,
@@ -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
- /** Optional metadata indicating that the original has an alpha channel. */
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',