@tanstack/ai-worldlabs 0.0.0 → 0.1.2

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 (78) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +42 -2
  3. package/dist/esm/adapters/world.d.ts +38 -0
  4. package/dist/esm/adapters/world.js +314 -0
  5. package/dist/esm/adapters/world.js.map +1 -0
  6. package/dist/esm/byok.d.ts +1 -0
  7. package/dist/esm/byok.js +11 -0
  8. package/dist/esm/byok.js.map +1 -0
  9. package/dist/esm/generated/client/client.gen.d.ts +2 -0
  10. package/dist/esm/generated/client/client.gen.js +174 -0
  11. package/dist/esm/generated/client/client.gen.js.map +1 -0
  12. package/dist/esm/generated/client/index.d.ts +10 -0
  13. package/dist/esm/generated/client/index.js +5 -0
  14. package/dist/esm/generated/client/types.gen.d.ts +120 -0
  15. package/dist/esm/generated/client/utils.gen.d.ts +37 -0
  16. package/dist/esm/generated/client/utils.gen.js +177 -0
  17. package/dist/esm/generated/client/utils.gen.js.map +1 -0
  18. package/dist/esm/generated/client.d.ts +1 -0
  19. package/dist/esm/generated/client.gen.d.ts +12 -0
  20. package/dist/esm/generated/client.gen.js +9 -0
  21. package/dist/esm/generated/client.gen.js.map +1 -0
  22. package/dist/esm/generated/client.js +5 -0
  23. package/dist/esm/generated/core/auth.gen.d.ts +25 -0
  24. package/dist/esm/generated/core/auth.gen.js +12 -0
  25. package/dist/esm/generated/core/auth.gen.js.map +1 -0
  26. package/dist/esm/generated/core/bodySerializer.gen.d.ts +25 -0
  27. package/dist/esm/generated/core/bodySerializer.gen.js +6 -0
  28. package/dist/esm/generated/core/bodySerializer.gen.js.map +1 -0
  29. package/dist/esm/generated/core/params.gen.d.ts +43 -0
  30. package/dist/esm/generated/core/params.gen.js +9 -0
  31. package/dist/esm/generated/core/params.gen.js.map +1 -0
  32. package/dist/esm/generated/core/pathSerializer.gen.d.ts +33 -0
  33. package/dist/esm/generated/core/pathSerializer.gen.js +82 -0
  34. package/dist/esm/generated/core/pathSerializer.gen.js.map +1 -0
  35. package/dist/esm/generated/core/queryKeySerializer.gen.d.ts +18 -0
  36. package/dist/esm/generated/core/serverSentEvents.gen.d.ts +71 -0
  37. package/dist/esm/generated/core/serverSentEvents.gen.js +96 -0
  38. package/dist/esm/generated/core/serverSentEvents.gen.js.map +1 -0
  39. package/dist/esm/generated/core/types.gen.d.ts +83 -0
  40. package/dist/esm/generated/core/utils.gen.d.ts +19 -0
  41. package/dist/esm/generated/core/utils.gen.js +78 -0
  42. package/dist/esm/generated/core/utils.gen.js.map +1 -0
  43. package/dist/esm/generated/index.d.ts +2 -0
  44. package/dist/esm/generated/sdk.gen.d.ts +275 -0
  45. package/dist/esm/generated/sdk.gen.js +79 -0
  46. package/dist/esm/generated/sdk.gen.js.map +1 -0
  47. package/dist/esm/generated/types.gen.d.ts +1610 -0
  48. package/dist/esm/index.d.ts +5 -0
  49. package/dist/esm/index.js +4 -0
  50. package/dist/esm/model-meta.d.ts +63 -0
  51. package/dist/esm/model-meta.js +17 -0
  52. package/dist/esm/model-meta.js.map +1 -0
  53. package/dist/esm/utils/client.d.ts +16 -0
  54. package/dist/esm/utils/client.js +35 -0
  55. package/dist/esm/utils/client.js.map +1 -0
  56. package/package.json +55 -6
  57. package/src/adapters/world.ts +535 -0
  58. package/src/byok.ts +7 -0
  59. package/src/generated/client/client.gen.ts +301 -0
  60. package/src/generated/client/index.ts +27 -0
  61. package/src/generated/client/types.gen.ts +247 -0
  62. package/src/generated/client/utils.gen.ts +332 -0
  63. package/src/generated/client.gen.ts +26 -0
  64. package/src/generated/client.ts +3 -0
  65. package/src/generated/core/auth.gen.ts +48 -0
  66. package/src/generated/core/bodySerializer.gen.ts +96 -0
  67. package/src/generated/core/params.gen.ts +186 -0
  68. package/src/generated/core/pathSerializer.gen.ts +186 -0
  69. package/src/generated/core/queryKeySerializer.gen.ts +139 -0
  70. package/src/generated/core/serverSentEvents.gen.ts +265 -0
  71. package/src/generated/core/types.gen.ts +124 -0
  72. package/src/generated/core/utils.gen.ts +146 -0
  73. package/src/generated/index.ts +113 -0
  74. package/src/generated/sdk.gen.ts +531 -0
  75. package/src/generated/types.gen.ts +1767 -0
  76. package/src/index.ts +20 -0
  77. package/src/model-meta.ts +79 -0
  78. package/src/utils/client.ts +50 -0
@@ -0,0 +1,1767 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+
3
+ export type ClientOptions = {
4
+ baseUrl: 'https://api.worldlabs.ai' | (string & {})
5
+ }
6
+
7
+ /**
8
+ * Content
9
+ *
10
+ * Represents content (media, text, images) that can be stored inline or via URL.
11
+ *
12
+ * Supports both direct data storage (up to 10MB) and URL references (up to 20MB).
13
+ */
14
+ export type Content = {
15
+ /**
16
+ * Data Base64
17
+ */
18
+ data_base64?: string | null
19
+ /**
20
+ * Extension
21
+ *
22
+ * File extension without dot
23
+ */
24
+ extension?: string | null
25
+ /**
26
+ * Uri
27
+ */
28
+ uri?: string | null
29
+ }
30
+
31
+ /**
32
+ * CreditsResponse
33
+ *
34
+ * Remaining credits for the authenticated API user.
35
+ */
36
+ export type CreditsResponse = {
37
+ /**
38
+ * Remaining Credits
39
+ *
40
+ * Remaining API credits available to the authenticated user.
41
+ */
42
+ remaining_credits: number
43
+ }
44
+
45
+ /**
46
+ * DataBase64Reference
47
+ *
48
+ * Reference to content via base64-encoded data.
49
+ */
50
+ export type DataBase64Reference = {
51
+ /**
52
+ * Data Base64
53
+ *
54
+ * Base64-encoded content data
55
+ */
56
+ data_base64: string
57
+ /**
58
+ * Extension
59
+ *
60
+ * File extension without dot (e.g., 'jpg', 'png')
61
+ */
62
+ extension?: string | null
63
+ /**
64
+ * Source
65
+ */
66
+ source?: 'data_base64'
67
+ }
68
+
69
+ /**
70
+ * DeleteWorldResponse
71
+ *
72
+ * Response from world deletion endpoint.
73
+ */
74
+ export type DeleteWorldResponse = {
75
+ /**
76
+ * Deleted
77
+ *
78
+ * Whether the world was successfully deleted
79
+ */
80
+ deleted: boolean
81
+ /**
82
+ * World Id
83
+ *
84
+ * ID of the deleted world
85
+ */
86
+ world_id: string
87
+ }
88
+
89
+ /**
90
+ * DepthPanoPrompt
91
+ *
92
+ * For models conditioned on a depth pano and text.
93
+ * When depth_pano_image is a log-encoded PNG, z_min and z_max are required
94
+ * to decode it correctly. When it is an EXR file containing raw float depth
95
+ * values, z_min and z_max will both be ignored.
96
+ * Please set z_min and z_max both to None when using an EXR file.
97
+ */
98
+ export type DepthPanoPrompt = {
99
+ depth_pano_image: Content
100
+ /**
101
+ * Text Prompt
102
+ */
103
+ text_prompt?: string | null
104
+ /**
105
+ * Type
106
+ */
107
+ type?: 'depth-pano'
108
+ /**
109
+ * Z Max
110
+ */
111
+ z_max?: number | null
112
+ /**
113
+ * Z Min
114
+ */
115
+ z_min?: number | null
116
+ }
117
+
118
+ /**
119
+ * ExportWorldRequest
120
+ *
121
+ * Request to export a generated world asset.
122
+ */
123
+ export type ExportWorldRequest = {
124
+ /**
125
+ * Asset Type
126
+ *
127
+ * Asset family to export: 'splats' or 'mesh'.
128
+ */
129
+ asset_type: 'splats' | 'mesh'
130
+ /**
131
+ * Format
132
+ *
133
+ * Requested export format.
134
+ */
135
+ format: 'ply' | 'glb'
136
+ /**
137
+ * Mesh Variant
138
+ *
139
+ * Mesh variant to return when an HQ mesh already exists.
140
+ */
141
+ mesh_variant?: 'textured' | 'vertex_colored'
142
+ /**
143
+ * Resolution
144
+ *
145
+ * Splat resolution to convert when exporting splats as PLY.
146
+ */
147
+ resolution?: 'full_res' | '500k' | '150k' | '100k'
148
+ }
149
+
150
+ /**
151
+ * ExportWorldResponse
152
+ *
153
+ * Response from world export endpoint.
154
+ */
155
+ export type ExportWorldResponse = {
156
+ /**
157
+ * Settled credit cost for the operation. Populated only on successful completion.
158
+ */
159
+ cost?: OperationCost | null
160
+ /**
161
+ * Created At
162
+ *
163
+ * Creation timestamp
164
+ */
165
+ created_at?: string | null
166
+ /**
167
+ * Done
168
+ *
169
+ * True if the operation is completed
170
+ */
171
+ done: boolean
172
+ /**
173
+ * Error information if the operation failed
174
+ */
175
+ error?: OperationError | null
176
+ /**
177
+ * Expires At
178
+ *
179
+ * Expiration timestamp
180
+ */
181
+ expires_at?: string | null
182
+ /**
183
+ * Metadata
184
+ *
185
+ * Service-specific metadata, such as progress percentage
186
+ */
187
+ metadata?: {
188
+ [key: string]: unknown
189
+ } | null
190
+ /**
191
+ * Operation Id
192
+ *
193
+ * Operation identifier
194
+ */
195
+ operation_id: string
196
+ /**
197
+ * Result payload when done=true and no error. Structure depends on operation type.
198
+ */
199
+ response?: ExportWorldResult | null
200
+ /**
201
+ * Updated At
202
+ *
203
+ * Last update timestamp
204
+ */
205
+ updated_at?: string | null
206
+ }
207
+
208
+ /**
209
+ * ExportWorldResult
210
+ *
211
+ * Downloadable exported world asset.
212
+ */
213
+ export type ExportWorldResult = {
214
+ /**
215
+ * Asset Type
216
+ *
217
+ * Exported asset family
218
+ */
219
+ asset_type: 'splats' | 'mesh'
220
+ /**
221
+ * Format
222
+ *
223
+ * Exported file format
224
+ */
225
+ format: 'ply' | 'glb'
226
+ /**
227
+ * Mesh Variant
228
+ *
229
+ * Mesh variant returned for this export, if applicable
230
+ */
231
+ mesh_variant?: 'textured' | 'vertex_colored' | null
232
+ /**
233
+ * Resolution
234
+ *
235
+ * Splat resolution used for this export, if applicable
236
+ */
237
+ resolution?: string | null
238
+ /**
239
+ * Url
240
+ *
241
+ * Download URL for the exported asset
242
+ */
243
+ url: string
244
+ }
245
+
246
+ /**
247
+ * GenerateWorldResponse
248
+ *
249
+ * Response from world generation endpoint.
250
+ */
251
+ export type GenerateWorldResponse = {
252
+ /**
253
+ * Settled credit cost for the operation. Populated only on successful completion.
254
+ */
255
+ cost?: OperationCost | null
256
+ /**
257
+ * Created At
258
+ *
259
+ * Creation timestamp
260
+ */
261
+ created_at?: string | null
262
+ /**
263
+ * Done
264
+ *
265
+ * True if the operation is completed
266
+ */
267
+ done: boolean
268
+ /**
269
+ * Error information if the operation failed
270
+ */
271
+ error?: OperationError | null
272
+ /**
273
+ * Expires At
274
+ *
275
+ * Expiration timestamp
276
+ */
277
+ expires_at?: string | null
278
+ /**
279
+ * Metadata
280
+ *
281
+ * Service-specific metadata, such as progress percentage
282
+ */
283
+ metadata?: {
284
+ [key: string]: unknown
285
+ } | null
286
+ /**
287
+ * Operation Id
288
+ *
289
+ * Operation identifier
290
+ */
291
+ operation_id: string
292
+ /**
293
+ * Response
294
+ *
295
+ * Result payload when done=true and no error. Structure depends on operation type.
296
+ */
297
+ response?: unknown | null
298
+ /**
299
+ * Updated At
300
+ *
301
+ * Last update timestamp
302
+ */
303
+ updated_at?: string | null
304
+ }
305
+
306
+ /**
307
+ * GetOperationResponse[Union[World, PanoDepthToRgbResult, ExportWorldResult]]
308
+ */
309
+ export type GetOperationResponseUnionWorldPanoDepthToRgbResultExportWorldResult =
310
+ {
311
+ /**
312
+ * Settled credit cost for the operation. Populated only on successful completion.
313
+ */
314
+ cost?: OperationCost | null
315
+ /**
316
+ * Created At
317
+ *
318
+ * Creation timestamp
319
+ */
320
+ created_at?: string | null
321
+ /**
322
+ * Done
323
+ *
324
+ * True if the operation is completed
325
+ */
326
+ done: boolean
327
+ /**
328
+ * Error information if the operation failed
329
+ */
330
+ error?: OperationError | null
331
+ /**
332
+ * Expires At
333
+ *
334
+ * Expiration timestamp
335
+ */
336
+ expires_at?: string | null
337
+ /**
338
+ * Metadata
339
+ *
340
+ * Service-specific metadata, such as progress percentage
341
+ */
342
+ metadata?: {
343
+ [key: string]: unknown
344
+ } | null
345
+ /**
346
+ * Operation Id
347
+ *
348
+ * Operation identifier
349
+ */
350
+ operation_id: string
351
+ /**
352
+ * Response
353
+ *
354
+ * Result payload when done=true and no error. Structure depends on operation type.
355
+ */
356
+ response?: World | PanoDepthToRgbResult | ExportWorldResult | null
357
+ /**
358
+ * Updated At
359
+ *
360
+ * Last update timestamp
361
+ */
362
+ updated_at?: string | null
363
+ }
364
+
365
+ /**
366
+ * HTTPValidationError
367
+ */
368
+ export type HttpValidationError = {
369
+ /**
370
+ * Detail
371
+ */
372
+ detail?: Array<ValidationError>
373
+ }
374
+
375
+ /**
376
+ * ImagePrompt
377
+ *
378
+ * Image-to-world generation.
379
+ *
380
+ * Generates a world from an image. text_prompt is optional - if not provided,
381
+ * it will be generated via recaptioning.
382
+ *
383
+ * Recommended image formats: jpg, jpeg, png, webp.
384
+ */
385
+ export type ImagePrompt = {
386
+ /**
387
+ * Disable Recaption
388
+ *
389
+ * If True, use text_prompt as-is without recaptioning
390
+ */
391
+ disable_recaption?: boolean | null
392
+ /**
393
+ * Image Prompt
394
+ *
395
+ * Image content for world generation
396
+ */
397
+ image_prompt:
398
+ | ({
399
+ source: 'media_asset'
400
+ } & MediaAssetReference)
401
+ | ({
402
+ source: 'uri'
403
+ } & UriReference)
404
+ | ({
405
+ source: 'data_base64'
406
+ } & DataBase64Reference)
407
+ /**
408
+ * How to treat the image input as a panorama. `auto` detects valid equirectangular panoramas, `true` always uses the image as a panorama, and `false` treats it as a standard image.
409
+ */
410
+ is_pano?: PanoDetectionMode
411
+ /**
412
+ * Text Prompt
413
+ *
414
+ * Optional text guidance (auto-generated if not provided)
415
+ */
416
+ text_prompt?: string | null
417
+ /**
418
+ * Type
419
+ */
420
+ type?: 'image'
421
+ }
422
+
423
+ /**
424
+ * ImageryAssets
425
+ *
426
+ * Imagery asset URLs.
427
+ */
428
+ export type ImageryAssets = {
429
+ /**
430
+ * Pano Url
431
+ *
432
+ * Panorama image URL
433
+ */
434
+ pano_url?: string | null
435
+ }
436
+
437
+ /**
438
+ * InpaintPanoPrompt
439
+ *
440
+ * For models that inpaint the masked portion of a pano image.
441
+ */
442
+ export type InpaintPanoPrompt = {
443
+ pano_image: Content
444
+ pano_mask: Content
445
+ /**
446
+ * Text Prompt
447
+ */
448
+ text_prompt?: string | null
449
+ /**
450
+ * Type
451
+ */
452
+ type?: 'inpaint-pano'
453
+ }
454
+
455
+ /**
456
+ * ListWorldsRequest
457
+ *
458
+ * Request to list API-generated worlds with optional filters.
459
+ */
460
+ export type ListWorldsRequest = {
461
+ /**
462
+ * Created After
463
+ *
464
+ * Filter worlds created after this timestamp (inclusive)
465
+ */
466
+ created_after?: string | null
467
+ /**
468
+ * Created Before
469
+ *
470
+ * Filter worlds created before this timestamp (exclusive)
471
+ */
472
+ created_before?: string | null
473
+ /**
474
+ * Is Public
475
+ *
476
+ * Filter by visibility. true=public only, false=private only, null=all
477
+ */
478
+ is_public?: boolean | null
479
+ /**
480
+ * Model
481
+ *
482
+ * Filter by model used for generation. Legacy names are deprecated; use the new lowercase names.
483
+ */
484
+ model?:
485
+ | 'marble-1.0-draft'
486
+ | 'marble-1.0'
487
+ | 'marble-1.1'
488
+ | 'marble-1.1-plus'
489
+ | 'Marble 0.1-mini'
490
+ | 'Marble 0.1-plus'
491
+ | 'Marble 1.1-plus'
492
+ | null
493
+ /**
494
+ * Page Size
495
+ *
496
+ * Number of results per page (1-100)
497
+ */
498
+ page_size?: number
499
+ /**
500
+ * Page Token
501
+ *
502
+ * Cursor token for pagination (opaque base64 string from previous response). Use cursor from next_page_token in previous response for consistent pagination.
503
+ */
504
+ page_token?: string | null
505
+ /**
506
+ * Sort By
507
+ *
508
+ * Sort results by created_at or updated_at
509
+ */
510
+ sort_by?: 'created_at' | 'updated_at'
511
+ /**
512
+ * Status
513
+ *
514
+ * Filter by world status
515
+ */
516
+ status?: 'SUCCEEDED' | 'PENDING' | 'FAILED' | 'RUNNING' | null
517
+ /**
518
+ * Tags
519
+ *
520
+ * Filter by tags (returns worlds with ANY of these tags)
521
+ */
522
+ tags?: Array<string> | null
523
+ }
524
+
525
+ /**
526
+ * ListWorldsResponse
527
+ *
528
+ * Response containing a list of API-generated worlds.
529
+ */
530
+ export type ListWorldsResponse = {
531
+ /**
532
+ * Next Page Token
533
+ *
534
+ * Token for fetching the next page of results
535
+ */
536
+ next_page_token?: string | null
537
+ /**
538
+ * Worlds
539
+ *
540
+ * List of worlds
541
+ */
542
+ worlds: Array<World>
543
+ }
544
+
545
+ /**
546
+ * MediaAsset
547
+ *
548
+ * A user-uploaded media asset stored in managed storage.
549
+ *
550
+ * MediaAssets can be images, videos, or binary blobs that are used
551
+ * as input to world generation.
552
+ */
553
+ export type MediaAsset = {
554
+ /**
555
+ * Created At
556
+ *
557
+ * Creation timestamp
558
+ */
559
+ created_at: string
560
+ /**
561
+ * Extension
562
+ *
563
+ * File extension without dot
564
+ */
565
+ extension?: string | null
566
+ /**
567
+ * File Name
568
+ *
569
+ * File name
570
+ */
571
+ file_name: string
572
+ /**
573
+ * High-level media type
574
+ */
575
+ kind: MediaAssetKind
576
+ /**
577
+ * Media Asset Id
578
+ *
579
+ * Server-generated media asset identifier
580
+ */
581
+ media_asset_id: string
582
+ /**
583
+ * Metadata
584
+ *
585
+ * Optional application-specific metadata
586
+ */
587
+ metadata?: {
588
+ [key: string]: unknown
589
+ } | null
590
+ /**
591
+ * Updated At
592
+ *
593
+ * Last update timestamp
594
+ */
595
+ updated_at?: string | null
596
+ }
597
+
598
+ /**
599
+ * MediaAssetKind
600
+ *
601
+ * High-level media asset type.
602
+ */
603
+ export type MediaAssetKind = 'image' | 'video'
604
+
605
+ /**
606
+ * MediaAssetPrepareUploadRequest
607
+ *
608
+ * Request to prepare a media asset upload.
609
+ */
610
+ export type MediaAssetPrepareUploadRequest = {
611
+ /**
612
+ * Extension
613
+ *
614
+ * File extension without dot
615
+ */
616
+ extension?: string | null
617
+ /**
618
+ * File Name
619
+ *
620
+ * File name
621
+ */
622
+ file_name: string
623
+ /**
624
+ * High-level media type
625
+ */
626
+ kind: MediaAssetKind
627
+ /**
628
+ * Metadata
629
+ *
630
+ * Optional application-specific metadata
631
+ */
632
+ metadata?: {
633
+ [key: string]: unknown
634
+ } | null
635
+ }
636
+
637
+ /**
638
+ * MediaAssetPrepareUploadResponse
639
+ *
640
+ * Response from preparing a media asset upload.
641
+ */
642
+ export type MediaAssetPrepareUploadResponse = {
643
+ /**
644
+ * The created media asset
645
+ */
646
+ media_asset: MediaAsset
647
+ /**
648
+ * Upload URL information
649
+ */
650
+ upload_info: UploadUrlInfo
651
+ }
652
+
653
+ /**
654
+ * MediaAssetReference
655
+ *
656
+ * Reference to a previously uploaded MediaAsset.
657
+ */
658
+ export type MediaAssetReference = {
659
+ /**
660
+ * Media Asset Id
661
+ *
662
+ * ID of a MediaAsset resource previously created and marked READY
663
+ */
664
+ media_asset_id: string
665
+ /**
666
+ * Source
667
+ */
668
+ source?: 'media_asset'
669
+ }
670
+
671
+ /**
672
+ * MeshAssets
673
+ *
674
+ * Mesh asset URLs.
675
+ */
676
+ export type MeshAssets = {
677
+ /**
678
+ * Collider Mesh Url
679
+ *
680
+ * Collider mesh URL
681
+ */
682
+ collider_mesh_url?: string | null
683
+ /**
684
+ * Full Res Mesh Url
685
+ *
686
+ * Full-resolution vertex-colored mesh URL
687
+ */
688
+ full_res_mesh_url?: string | null
689
+ /**
690
+ * Hq Mesh Url
691
+ *
692
+ * High-quality textured mesh URL
693
+ */
694
+ hq_mesh_url?: string | null
695
+ }
696
+
697
+ /**
698
+ * MultiImagePrompt
699
+ *
700
+ * Multi-image-to-world generation.
701
+ *
702
+ * Generates a world from multiple images. text_prompt is optional.
703
+ *
704
+ * Recommended image formats: jpg, jpeg, png, webp.
705
+ */
706
+ export type MultiImagePromptInput = {
707
+ /**
708
+ * Disable Recaption
709
+ *
710
+ * If True, use text_prompt as-is without recaptioning
711
+ */
712
+ disable_recaption?: boolean | null
713
+ /**
714
+ * Multi Image Prompt
715
+ *
716
+ * List of images with optional spherical locations
717
+ */
718
+ multi_image_prompt: Array<SphericallyLocatedContentInput>
719
+ /**
720
+ * Reconstruct Images
721
+ *
722
+ * Whether to use reconstruction mode (allows up to 8 images, otherwise 4)
723
+ */
724
+ reconstruct_images?: boolean
725
+ /**
726
+ * Text Prompt
727
+ *
728
+ * Optional text guidance (auto-generated if not provided)
729
+ */
730
+ text_prompt?: string | null
731
+ /**
732
+ * Type
733
+ */
734
+ type?: 'multi-image'
735
+ }
736
+
737
+ /**
738
+ * MultiImagePrompt
739
+ *
740
+ * For world models supporting multi-image (+ text) input.
741
+ */
742
+ export type MultiImagePromptOutput = {
743
+ /**
744
+ * Multi Image Prompt
745
+ */
746
+ multi_image_prompt: Array<SphericallyLocatedContentOutput>
747
+ /**
748
+ * Reconstruct Images
749
+ */
750
+ reconstruct_images?: boolean
751
+ /**
752
+ * Text Prompt
753
+ */
754
+ text_prompt?: string | null
755
+ /**
756
+ * Type
757
+ */
758
+ type?: 'multi-image'
759
+ }
760
+
761
+ /**
762
+ * OperationCost
763
+ *
764
+ * Settled credit cost for a successful operation.
765
+ */
766
+ export type OperationCost = {
767
+ /**
768
+ * Line Items
769
+ *
770
+ * Usage events that make up the operation's total credits
771
+ */
772
+ line_items?: Array<OperationCostLineItem>
773
+ /**
774
+ * Total Credits
775
+ *
776
+ * Total credits charged for the operation
777
+ */
778
+ total_credits: number
779
+ }
780
+
781
+ /**
782
+ * OperationCostLineItem
783
+ *
784
+ * A single usage event contributing to an operation's total credits.
785
+ */
786
+ export type OperationCostLineItem = {
787
+ /**
788
+ * Credits
789
+ *
790
+ * Credits charged for this usage event
791
+ */
792
+ credits: number
793
+ /**
794
+ * Name
795
+ *
796
+ * Human-readable usage event name
797
+ */
798
+ name: string
799
+ }
800
+
801
+ /**
802
+ * OperationError
803
+ *
804
+ * Error information for a failed operation.
805
+ */
806
+ export type OperationError = {
807
+ /**
808
+ * Code
809
+ *
810
+ * Error code
811
+ */
812
+ code?: number | null
813
+ /**
814
+ * Message
815
+ *
816
+ * Error message
817
+ */
818
+ message?: string | null
819
+ }
820
+
821
+ /**
822
+ * Operation[PanoDepthToRgbResult]
823
+ */
824
+ export type OperationPanoDepthToRgbResult = {
825
+ /**
826
+ * Settled credit cost for the operation. Populated only on successful completion.
827
+ */
828
+ cost?: OperationCost | null
829
+ /**
830
+ * Created At
831
+ *
832
+ * Creation timestamp
833
+ */
834
+ created_at?: string | null
835
+ /**
836
+ * Done
837
+ *
838
+ * True if the operation is completed
839
+ */
840
+ done: boolean
841
+ /**
842
+ * Error information if the operation failed
843
+ */
844
+ error?: OperationError | null
845
+ /**
846
+ * Expires At
847
+ *
848
+ * Expiration timestamp
849
+ */
850
+ expires_at?: string | null
851
+ /**
852
+ * Metadata
853
+ *
854
+ * Service-specific metadata, such as progress percentage
855
+ */
856
+ metadata?: {
857
+ [key: string]: unknown
858
+ } | null
859
+ /**
860
+ * Operation Id
861
+ *
862
+ * Operation identifier
863
+ */
864
+ operation_id: string
865
+ /**
866
+ * Result payload when done=true and no error. Structure depends on operation type.
867
+ */
868
+ response?: PanoDepthToRgbResult | null
869
+ /**
870
+ * Updated At
871
+ *
872
+ * Last update timestamp
873
+ */
874
+ updated_at?: string | null
875
+ }
876
+
877
+ /**
878
+ * PanoDepthToRgbRequest
879
+ *
880
+ * Request to generate an RGB panorama from a depth panorama.
881
+ *
882
+ * Provide a depth panorama and a text prompt describing
883
+ * the desired appearance. The depth map supplies the
884
+ * scene geometry; the model synthesizes textures that
885
+ * loosely adhere to that geometry and returns a panoramic RGB image.
886
+ *
887
+ * Accepted depth inputs:
888
+ *
889
+ * * **EXR**: float depth values. Omit ``z_min``
890
+ * and ``z_max``.
891
+ * * **PNG**: depth values normalized to [0, 1].
892
+ * Provide both ``z_min`` and ``z_max`` so the service
893
+ * can decode the PNG correctly.
894
+ *
895
+ * For a complete PNG-based workflow, see the
896
+ * `web-chisel-depth-png example <https://github.com/worldlabsai/worldlabs-api-examples/tree/main/web-chisel-depth-png>`.
897
+ *
898
+ * This endpoint returns a long-running ``Operation``.
899
+ * Poll ``GET /operations/{operation_id}`` until
900
+ * ``done`` is ``true``, then read the generated
901
+ * panorama URL from ``response.pano_url``.
902
+ */
903
+ export type PanoDepthToRgbRequest = {
904
+ /**
905
+ * Depth Pano Image
906
+ *
907
+ * Depth panorama image (EXR or PNG). Provide via URI, media_asset, or base64 (max 100 MB).
908
+ */
909
+ depth_pano_image:
910
+ | ({
911
+ source: 'media_asset'
912
+ } & MediaAssetReference)
913
+ | ({
914
+ source: 'uri'
915
+ } & UriReference)
916
+ | ({
917
+ source: 'data_base64'
918
+ } & DataBase64Reference)
919
+ /**
920
+ * Seed
921
+ *
922
+ * Random seed for reproducible generation.
923
+ */
924
+ seed?: number | null
925
+ /**
926
+ * Text Prompt
927
+ *
928
+ * Text description of the desired appearance.
929
+ */
930
+ text_prompt: string
931
+ /**
932
+ * Z Max
933
+ *
934
+ * Maximum depth. Required for PNG depth maps (normalized to [0, 1]). Must be provided together with z_min and must be greater than z_min. Omit for EXR depth maps.
935
+ */
936
+ z_max?: number | null
937
+ /**
938
+ * Z Min
939
+ *
940
+ * Minimum depth. Required for PNG depth maps (normalized to [0, 1]). Must be provided together with z_max. Omit for EXR depth maps.
941
+ */
942
+ z_min?: number | null
943
+ }
944
+
945
+ /**
946
+ * PanoDepthToRgbResult
947
+ *
948
+ * Result from depth-to-RGB panorama generation.
949
+ *
950
+ * Returned inside ``Operation.response`` when the
951
+ * operation completes successfully (``done=true``).
952
+ */
953
+ export type PanoDepthToRgbResult = {
954
+ /**
955
+ * Pano Url
956
+ *
957
+ * URL of the generated RGB panorama image. Available when the operation succeeds.
958
+ */
959
+ pano_url?: string | null
960
+ }
961
+
962
+ export type PanoDetectionMode = 'auto' | true | false
963
+
964
+ /**
965
+ * Permission
966
+ *
967
+ * Access control permissions for a resource.
968
+ */
969
+ export type Permission = {
970
+ /**
971
+ * Allow Id Access
972
+ */
973
+ allow_id_access?: boolean
974
+ /**
975
+ * Allowed Readers
976
+ */
977
+ allowed_readers?: Array<string>
978
+ /**
979
+ * Allowed Writers
980
+ */
981
+ allowed_writers?: Array<string>
982
+ /**
983
+ * Public
984
+ */
985
+ public?: boolean
986
+ }
987
+
988
+ /**
989
+ * Prompt
990
+ *
991
+ * For world models generating a world from a single image (+ text).
992
+ * Images can be generated using the :image-generation method.
993
+ * If no text prompt is provided, it will be generated via recaption.
994
+ */
995
+ export type Prompt = {
996
+ image_prompt: Content
997
+ /**
998
+ * Is Pano
999
+ */
1000
+ is_pano?: boolean
1001
+ /**
1002
+ * Text Prompt
1003
+ */
1004
+ text_prompt?: string | null
1005
+ /**
1006
+ * Type
1007
+ */
1008
+ type?: 'image'
1009
+ }
1010
+
1011
+ /**
1012
+ * SphericallyLocatedContent
1013
+ *
1014
+ * Content with a preferred location on the sphere.
1015
+ */
1016
+ export type SphericallyLocatedContentInput = {
1017
+ /**
1018
+ * Azimuth
1019
+ *
1020
+ * Azimuth angle in degrees
1021
+ */
1022
+ azimuth?: number | null
1023
+ /**
1024
+ * Content
1025
+ *
1026
+ * The content at this location
1027
+ */
1028
+ content:
1029
+ | ({
1030
+ source: 'media_asset'
1031
+ } & MediaAssetReference)
1032
+ | ({
1033
+ source: 'uri'
1034
+ } & UriReference)
1035
+ | ({
1036
+ source: 'data_base64'
1037
+ } & DataBase64Reference)
1038
+ }
1039
+
1040
+ /**
1041
+ * SphericallyLocatedContent
1042
+ *
1043
+ * Content with a preferred location on the sphere.
1044
+ */
1045
+ export type SphericallyLocatedContentOutput = {
1046
+ /**
1047
+ * Azimuth
1048
+ */
1049
+ azimuth?: number | null
1050
+ /**
1051
+ * Data Base64
1052
+ */
1053
+ data_base64?: string | null
1054
+ /**
1055
+ * Extension
1056
+ *
1057
+ * File extension without dot
1058
+ */
1059
+ extension?: string | null
1060
+ /**
1061
+ * Uri
1062
+ */
1063
+ uri?: string | null
1064
+ }
1065
+
1066
+ /**
1067
+ * SplatAssets
1068
+ *
1069
+ * Gaussian splat asset URLs.
1070
+ */
1071
+ export type SplatAssets = {
1072
+ /**
1073
+ * Semantic metadata for the world
1074
+ */
1075
+ semantics_metadata?: WorldSemanticsMetadata | null
1076
+ /**
1077
+ * Spz Urls
1078
+ *
1079
+ * URLs for SPZ format Gaussian splat files
1080
+ */
1081
+ spz_urls?: {
1082
+ [key: string]: string
1083
+ } | null
1084
+ }
1085
+
1086
+ /**
1087
+ * UploadUrlInfo
1088
+ *
1089
+ * Information required to upload raw bytes directly to storage.
1090
+ */
1091
+ export type UploadUrlInfo = {
1092
+ /**
1093
+ * Curl Example
1094
+ *
1095
+ * Optional curl example for convenience
1096
+ */
1097
+ curl_example?: string | null
1098
+ /**
1099
+ * Required Headers
1100
+ *
1101
+ * Headers that MUST be included when uploading (e.g. Content-Type)
1102
+ */
1103
+ required_headers?: {
1104
+ [key: string]: string
1105
+ } | null
1106
+ /**
1107
+ * Upload Method
1108
+ *
1109
+ * Upload method
1110
+ */
1111
+ upload_method: string
1112
+ /**
1113
+ * Upload Url
1114
+ *
1115
+ * Signed URL for uploading bytes via PUT
1116
+ */
1117
+ upload_url: string
1118
+ }
1119
+
1120
+ /**
1121
+ * UriReference
1122
+ *
1123
+ * Reference to content via a publicly accessible URL.
1124
+ */
1125
+ export type UriReference = {
1126
+ /**
1127
+ * Source
1128
+ */
1129
+ source?: 'uri'
1130
+ /**
1131
+ * Uri
1132
+ *
1133
+ * Publicly accessible URL pointing to the media
1134
+ */
1135
+ uri: string
1136
+ }
1137
+
1138
+ /**
1139
+ * ValidationError
1140
+ */
1141
+ export type ValidationError = {
1142
+ /**
1143
+ * Location
1144
+ */
1145
+ loc: Array<string | number>
1146
+ /**
1147
+ * Message
1148
+ */
1149
+ msg: string
1150
+ /**
1151
+ * Error Type
1152
+ */
1153
+ type: string
1154
+ }
1155
+
1156
+ /**
1157
+ * VideoPrompt
1158
+ *
1159
+ * Video-to-world generation.
1160
+ *
1161
+ * Generates a world from a video. text_prompt is optional.
1162
+ *
1163
+ * Recommended video formats: mp4, webm, mov, avi.
1164
+ * Maximum video size: 100MB.
1165
+ */
1166
+ export type VideoPromptInput = {
1167
+ /**
1168
+ * Disable Recaption
1169
+ *
1170
+ * If True, use text_prompt as-is without recaptioning
1171
+ */
1172
+ disable_recaption?: boolean | null
1173
+ /**
1174
+ * Text Prompt
1175
+ *
1176
+ * Optional text guidance (auto-generated if not provided)
1177
+ */
1178
+ text_prompt?: string | null
1179
+ /**
1180
+ * Type
1181
+ */
1182
+ type?: 'video'
1183
+ /**
1184
+ * Video Prompt
1185
+ *
1186
+ * Video content for world generation
1187
+ */
1188
+ video_prompt:
1189
+ | ({
1190
+ source: 'media_asset'
1191
+ } & MediaAssetReference)
1192
+ | ({
1193
+ source: 'uri'
1194
+ } & UriReference)
1195
+ | ({
1196
+ source: 'data_base64'
1197
+ } & DataBase64Reference)
1198
+ }
1199
+
1200
+ /**
1201
+ * VideoPrompt
1202
+ *
1203
+ * For world models supporting video (+ text) input.
1204
+ */
1205
+ export type VideoPromptOutput = {
1206
+ /**
1207
+ * Text Prompt
1208
+ */
1209
+ text_prompt?: string | null
1210
+ /**
1211
+ * Type
1212
+ */
1213
+ type?: 'video'
1214
+ video_prompt: Content
1215
+ }
1216
+
1217
+ /**
1218
+ * World
1219
+ *
1220
+ * A generated world, including asset URLs.
1221
+ */
1222
+ export type World = {
1223
+ /**
1224
+ * Generated world assets
1225
+ */
1226
+ assets?: WorldAssets | null
1227
+ /**
1228
+ * Created At
1229
+ *
1230
+ * Creation timestamp
1231
+ */
1232
+ created_at?: string | null
1233
+ /**
1234
+ * Display Name
1235
+ *
1236
+ * Display name
1237
+ */
1238
+ display_name: string
1239
+ /**
1240
+ * Model
1241
+ *
1242
+ * Model used for generation
1243
+ */
1244
+ model?: string | null
1245
+ /**
1246
+ * Access control permissions for the world
1247
+ */
1248
+ permission?: Permission | null
1249
+ /**
1250
+ * Tags
1251
+ *
1252
+ * Tags associated with the world
1253
+ */
1254
+ tags?: Array<string> | null
1255
+ /**
1256
+ * Updated At
1257
+ *
1258
+ * Last update timestamp
1259
+ */
1260
+ updated_at?: string | null
1261
+ /**
1262
+ * World Id
1263
+ *
1264
+ * World identifier
1265
+ */
1266
+ world_id: string
1267
+ /**
1268
+ * World Marble Url
1269
+ *
1270
+ * World Marble URL
1271
+ */
1272
+ world_marble_url: string
1273
+ /**
1274
+ * World Prompt
1275
+ *
1276
+ * World prompt
1277
+ */
1278
+ world_prompt?:
1279
+ | ({
1280
+ type: 'text'
1281
+ } & WorldTextPromptOutput)
1282
+ | ({
1283
+ type: 'image'
1284
+ } & Prompt)
1285
+ | ({
1286
+ type: 'multi-image'
1287
+ } & MultiImagePromptOutput)
1288
+ | ({
1289
+ type: 'video'
1290
+ } & VideoPromptOutput)
1291
+ | ({
1292
+ type: 'depth-pano'
1293
+ } & DepthPanoPrompt)
1294
+ | ({
1295
+ type: 'inpaint-pano'
1296
+ } & InpaintPanoPrompt)
1297
+ | null
1298
+ }
1299
+
1300
+ /**
1301
+ * WorldAssets
1302
+ *
1303
+ * Downloadable outputs of world generation.
1304
+ */
1305
+ export type WorldAssets = {
1306
+ /**
1307
+ * Caption
1308
+ *
1309
+ * AI-generated description of the world
1310
+ */
1311
+ caption?: string | null
1312
+ /**
1313
+ * Imagery assets
1314
+ */
1315
+ imagery?: ImageryAssets | null
1316
+ /**
1317
+ * Mesh assets
1318
+ */
1319
+ mesh?: MeshAssets | null
1320
+ /**
1321
+ * Gaussian splat assets
1322
+ */
1323
+ splats?: SplatAssets | null
1324
+ /**
1325
+ * Thumbnail Url
1326
+ *
1327
+ * Thumbnail URL for the world
1328
+ */
1329
+ thumbnail_url?: string | null
1330
+ }
1331
+
1332
+ /**
1333
+ * WorldSemanticsMetadata
1334
+ *
1335
+ * Semantic metadata describing how to interpret the generated splat
1336
+ * asset in real-world units.
1337
+ *
1338
+ * The exported asset is in arbitrary model units. Apply the transform
1339
+ * below to convert to a metric, ground-aligned frame:
1340
+ *
1341
+ * metric_xyz = raw_xyz * metric_scale_factor
1342
+ * aligned_xyz = metric_xyz - (0, ground_plane_offset, 0)
1343
+ *
1344
+ * Both fields are populated on every world generated by the current
1345
+ * pipeline. They remain Optional only for backwards compatibility with
1346
+ * worlds generated before December 2025, which predate metric-scale
1347
+ * estimation.
1348
+ *
1349
+ * TODO: once pre-December-2025 worlds are migrated or aged out, tighten
1350
+ * these fields to non-Optional and drop the `| None` from the type.
1351
+ */
1352
+ export type WorldSemanticsMetadata = {
1353
+ /**
1354
+ * Ground Plane Offset
1355
+ *
1356
+ * Vertical (Y-axis) offset, in meters, of the detected ground plane in the metric-scaled frame. Subtract from Y after applying `metric_scale_factor` to place the ground at y=0.
1357
+ */
1358
+ ground_plane_offset?: number | null
1359
+ /**
1360
+ * Metric Scale Factor
1361
+ *
1362
+ * Multiplicative factor that converts raw asset coordinates to meters. Multiply all XYZ positions (and isotropic scales) by this value. A value of 1.0 means scale could not be inferred and the asset was left in model units.
1363
+ */
1364
+ metric_scale_factor?: number | null
1365
+ }
1366
+
1367
+ /**
1368
+ * WorldTextPrompt
1369
+ *
1370
+ * Text-to-world generation.
1371
+ *
1372
+ * Generates a world from a text description. text_prompt is REQUIRED.
1373
+ */
1374
+ export type WorldTextPromptInput = {
1375
+ /**
1376
+ * Disable Recaption
1377
+ *
1378
+ * If True, use text_prompt as-is without recaptioning
1379
+ */
1380
+ disable_recaption?: boolean | null
1381
+ /**
1382
+ * Text Prompt
1383
+ *
1384
+ * Optional text guidance (auto-generated if not provided)
1385
+ */
1386
+ text_prompt?: string | null
1387
+ /**
1388
+ * Type
1389
+ */
1390
+ type?: 'text'
1391
+ }
1392
+
1393
+ /**
1394
+ * WorldTextPrompt
1395
+ *
1396
+ * Input prompt class for text-conditioned world generation.
1397
+ */
1398
+ export type WorldTextPromptOutput = {
1399
+ /**
1400
+ * Text Prompt
1401
+ */
1402
+ text_prompt?: string | null
1403
+ /**
1404
+ * Type
1405
+ */
1406
+ type?: 'text'
1407
+ }
1408
+
1409
+ /**
1410
+ * WorldsGenerateRequest
1411
+ *
1412
+ * Request to generate a world from text, image, multi-image, or video input.
1413
+ */
1414
+ export type WorldsGenerateRequest = {
1415
+ /**
1416
+ * Display Name
1417
+ *
1418
+ * Optional human-readable title for the world (max 64 characters). Stored as world metadata and returned in world responses; does not affect generation. If omitted, World Labs may generate a title from the prompt.
1419
+ */
1420
+ display_name?: string | null
1421
+ /**
1422
+ * Model
1423
+ *
1424
+ * The model to use for generation. marble-1.1-plus includes dynamic world sizing. Legacy names ('Marble 0.1-plus', etc.) still work but are deprecated and will be removed in a future release.
1425
+ */
1426
+ model?:
1427
+ | 'marble-1.0-draft'
1428
+ | 'marble-1.0'
1429
+ | 'marble-1.1'
1430
+ | 'marble-1.1-plus'
1431
+ | 'Marble 0.1-mini'
1432
+ | 'Marble 0.1-plus'
1433
+ | 'Marble 1.1-plus'
1434
+ /**
1435
+ * The permission for the world
1436
+ */
1437
+ permission?: Permission
1438
+ /**
1439
+ * Seed
1440
+ *
1441
+ * Random seed for generation
1442
+ */
1443
+ seed?: number | null
1444
+ /**
1445
+ * Tags
1446
+ *
1447
+ * Optional tags for the world (max 10 tags, each up to 32 characters)
1448
+ */
1449
+ tags?: Array<string> | null
1450
+ /**
1451
+ * World Prompt
1452
+ *
1453
+ * The prompt specifying how to generate the world
1454
+ */
1455
+ world_prompt:
1456
+ | ({
1457
+ type: 'text'
1458
+ } & WorldTextPromptInput)
1459
+ | ({
1460
+ type: 'image'
1461
+ } & ImagePrompt)
1462
+ | ({
1463
+ type: 'multi-image'
1464
+ } & MultiImagePromptInput)
1465
+ | ({
1466
+ type: 'video'
1467
+ } & VideoPromptInput)
1468
+ }
1469
+
1470
+ export type GetCreditsMarbleV1CreditsGetData = {
1471
+ body?: never
1472
+ path?: never
1473
+ query?: never
1474
+ url: '/marble/v1/credits'
1475
+ }
1476
+
1477
+ export type GetCreditsMarbleV1CreditsGetResponses = {
1478
+ /**
1479
+ * Successful Response
1480
+ */
1481
+ 200: CreditsResponse
1482
+ }
1483
+
1484
+ export type GetCreditsMarbleV1CreditsGetResponse =
1485
+ GetCreditsMarbleV1CreditsGetResponses[keyof GetCreditsMarbleV1CreditsGetResponses]
1486
+
1487
+ export type GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetData = {
1488
+ body?: never
1489
+ path: {
1490
+ /**
1491
+ * Media Asset Id
1492
+ */
1493
+ media_asset_id: string
1494
+ }
1495
+ query?: never
1496
+ url: '/marble/v1/media-assets/{media_asset_id}'
1497
+ }
1498
+
1499
+ export type GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetErrors = {
1500
+ /**
1501
+ * Validation Error
1502
+ */
1503
+ 422: HttpValidationError
1504
+ }
1505
+
1506
+ export type GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetError =
1507
+ GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetErrors[keyof GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetErrors]
1508
+
1509
+ export type GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetResponses = {
1510
+ /**
1511
+ * Successful Response
1512
+ */
1513
+ 200: MediaAsset
1514
+ }
1515
+
1516
+ export type GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetResponse =
1517
+ GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetResponses[keyof GetMediaAssetMarbleV1MediaAssetsMediaAssetIdGetResponses]
1518
+
1519
+ export type PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostData = {
1520
+ body: MediaAssetPrepareUploadRequest
1521
+ path?: never
1522
+ query?: never
1523
+ url: '/marble/v1/media-assets:prepare_upload'
1524
+ }
1525
+
1526
+ export type PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostErrors =
1527
+ {
1528
+ /**
1529
+ * Validation Error
1530
+ */
1531
+ 422: HttpValidationError
1532
+ }
1533
+
1534
+ export type PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostError =
1535
+ PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostErrors[keyof PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostErrors]
1536
+
1537
+ export type PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostResponses =
1538
+ {
1539
+ /**
1540
+ * Successful Response
1541
+ */
1542
+ 200: MediaAssetPrepareUploadResponse
1543
+ }
1544
+
1545
+ export type PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostResponse =
1546
+ PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostResponses[keyof PrepareMediaAssetUploadMarbleV1MediaAssetsPrepareUploadPostResponses]
1547
+
1548
+ export type GetOperationMarbleV1OperationsOperationIdGetData = {
1549
+ body?: never
1550
+ path: {
1551
+ /**
1552
+ * Operation Id
1553
+ */
1554
+ operation_id: string
1555
+ }
1556
+ query?: never
1557
+ url: '/marble/v1/operations/{operation_id}'
1558
+ }
1559
+
1560
+ export type GetOperationMarbleV1OperationsOperationIdGetErrors = {
1561
+ /**
1562
+ * Validation Error
1563
+ */
1564
+ 422: HttpValidationError
1565
+ }
1566
+
1567
+ export type GetOperationMarbleV1OperationsOperationIdGetError =
1568
+ GetOperationMarbleV1OperationsOperationIdGetErrors[keyof GetOperationMarbleV1OperationsOperationIdGetErrors]
1569
+
1570
+ export type GetOperationMarbleV1OperationsOperationIdGetResponses = {
1571
+ /**
1572
+ * Successful Response
1573
+ */
1574
+ 200: GetOperationResponseUnionWorldPanoDepthToRgbResultExportWorldResult
1575
+ }
1576
+
1577
+ export type GetOperationMarbleV1OperationsOperationIdGetResponse =
1578
+ GetOperationMarbleV1OperationsOperationIdGetResponses[keyof GetOperationMarbleV1OperationsOperationIdGetResponses]
1579
+
1580
+ export type PanoDepthToRgbMarbleV1PanoDepthToRgbPostData = {
1581
+ body: PanoDepthToRgbRequest
1582
+ path?: never
1583
+ query?: never
1584
+ url: '/marble/v1/pano:depth_to_rgb'
1585
+ }
1586
+
1587
+ export type PanoDepthToRgbMarbleV1PanoDepthToRgbPostErrors = {
1588
+ /**
1589
+ * The account has insufficient API credits for this request.
1590
+ */
1591
+ 402: unknown
1592
+ /**
1593
+ * Validation Error
1594
+ */
1595
+ 422: HttpValidationError
1596
+ }
1597
+
1598
+ export type PanoDepthToRgbMarbleV1PanoDepthToRgbPostError =
1599
+ PanoDepthToRgbMarbleV1PanoDepthToRgbPostErrors[keyof PanoDepthToRgbMarbleV1PanoDepthToRgbPostErrors]
1600
+
1601
+ export type PanoDepthToRgbMarbleV1PanoDepthToRgbPostResponses = {
1602
+ /**
1603
+ * Successful Response
1604
+ */
1605
+ 200: OperationPanoDepthToRgbResult
1606
+ }
1607
+
1608
+ export type PanoDepthToRgbMarbleV1PanoDepthToRgbPostResponse =
1609
+ PanoDepthToRgbMarbleV1PanoDepthToRgbPostResponses[keyof PanoDepthToRgbMarbleV1PanoDepthToRgbPostResponses]
1610
+
1611
+ export type DeleteWorldMarbleV1WorldsWorldIdDeleteData = {
1612
+ body?: never
1613
+ path: {
1614
+ /**
1615
+ * World Id
1616
+ */
1617
+ world_id: string
1618
+ }
1619
+ query?: never
1620
+ url: '/marble/v1/worlds/{world_id}'
1621
+ }
1622
+
1623
+ export type DeleteWorldMarbleV1WorldsWorldIdDeleteErrors = {
1624
+ /**
1625
+ * Validation Error
1626
+ */
1627
+ 422: HttpValidationError
1628
+ }
1629
+
1630
+ export type DeleteWorldMarbleV1WorldsWorldIdDeleteError =
1631
+ DeleteWorldMarbleV1WorldsWorldIdDeleteErrors[keyof DeleteWorldMarbleV1WorldsWorldIdDeleteErrors]
1632
+
1633
+ export type DeleteWorldMarbleV1WorldsWorldIdDeleteResponses = {
1634
+ /**
1635
+ * Successful Response
1636
+ */
1637
+ 200: DeleteWorldResponse
1638
+ }
1639
+
1640
+ export type DeleteWorldMarbleV1WorldsWorldIdDeleteResponse =
1641
+ DeleteWorldMarbleV1WorldsWorldIdDeleteResponses[keyof DeleteWorldMarbleV1WorldsWorldIdDeleteResponses]
1642
+
1643
+ export type GetWorldMarbleV1WorldsWorldIdGetData = {
1644
+ body?: never
1645
+ path: {
1646
+ /**
1647
+ * World Id
1648
+ */
1649
+ world_id: string
1650
+ }
1651
+ query?: never
1652
+ url: '/marble/v1/worlds/{world_id}'
1653
+ }
1654
+
1655
+ export type GetWorldMarbleV1WorldsWorldIdGetErrors = {
1656
+ /**
1657
+ * Validation Error
1658
+ */
1659
+ 422: HttpValidationError
1660
+ }
1661
+
1662
+ export type GetWorldMarbleV1WorldsWorldIdGetError =
1663
+ GetWorldMarbleV1WorldsWorldIdGetErrors[keyof GetWorldMarbleV1WorldsWorldIdGetErrors]
1664
+
1665
+ export type GetWorldMarbleV1WorldsWorldIdGetResponses = {
1666
+ /**
1667
+ * Successful Response
1668
+ */
1669
+ 200: World
1670
+ }
1671
+
1672
+ export type GetWorldMarbleV1WorldsWorldIdGetResponse =
1673
+ GetWorldMarbleV1WorldsWorldIdGetResponses[keyof GetWorldMarbleV1WorldsWorldIdGetResponses]
1674
+
1675
+ export type ExportWorldMarbleV1WorldsWorldIdExportPostData = {
1676
+ body: ExportWorldRequest
1677
+ path: {
1678
+ /**
1679
+ * World Id
1680
+ */
1681
+ world_id: string
1682
+ }
1683
+ query?: never
1684
+ url: '/marble/v1/worlds/{world_id}:export'
1685
+ }
1686
+
1687
+ export type ExportWorldMarbleV1WorldsWorldIdExportPostErrors = {
1688
+ /**
1689
+ * The account has insufficient API credits for this request.
1690
+ */
1691
+ 402: unknown
1692
+ /**
1693
+ * Validation Error
1694
+ */
1695
+ 422: HttpValidationError
1696
+ }
1697
+
1698
+ export type ExportWorldMarbleV1WorldsWorldIdExportPostError =
1699
+ ExportWorldMarbleV1WorldsWorldIdExportPostErrors[keyof ExportWorldMarbleV1WorldsWorldIdExportPostErrors]
1700
+
1701
+ export type ExportWorldMarbleV1WorldsWorldIdExportPostResponses = {
1702
+ /**
1703
+ * Successful Response
1704
+ */
1705
+ 200: ExportWorldResponse
1706
+ }
1707
+
1708
+ export type ExportWorldMarbleV1WorldsWorldIdExportPostResponse =
1709
+ ExportWorldMarbleV1WorldsWorldIdExportPostResponses[keyof ExportWorldMarbleV1WorldsWorldIdExportPostResponses]
1710
+
1711
+ export type GenerateWorldMarbleV1WorldsGeneratePostData = {
1712
+ body: WorldsGenerateRequest
1713
+ path?: never
1714
+ query?: never
1715
+ url: '/marble/v1/worlds:generate'
1716
+ }
1717
+
1718
+ export type GenerateWorldMarbleV1WorldsGeneratePostErrors = {
1719
+ /**
1720
+ * The account has insufficient API credits for this request.
1721
+ */
1722
+ 402: unknown
1723
+ /**
1724
+ * Validation Error
1725
+ */
1726
+ 422: HttpValidationError
1727
+ }
1728
+
1729
+ export type GenerateWorldMarbleV1WorldsGeneratePostError =
1730
+ GenerateWorldMarbleV1WorldsGeneratePostErrors[keyof GenerateWorldMarbleV1WorldsGeneratePostErrors]
1731
+
1732
+ export type GenerateWorldMarbleV1WorldsGeneratePostResponses = {
1733
+ /**
1734
+ * Successful Response
1735
+ */
1736
+ 200: GenerateWorldResponse
1737
+ }
1738
+
1739
+ export type GenerateWorldMarbleV1WorldsGeneratePostResponse =
1740
+ GenerateWorldMarbleV1WorldsGeneratePostResponses[keyof GenerateWorldMarbleV1WorldsGeneratePostResponses]
1741
+
1742
+ export type ListWorldsMarbleV1WorldsListPostData = {
1743
+ body: ListWorldsRequest
1744
+ path?: never
1745
+ query?: never
1746
+ url: '/marble/v1/worlds:list'
1747
+ }
1748
+
1749
+ export type ListWorldsMarbleV1WorldsListPostErrors = {
1750
+ /**
1751
+ * Validation Error
1752
+ */
1753
+ 422: HttpValidationError
1754
+ }
1755
+
1756
+ export type ListWorldsMarbleV1WorldsListPostError =
1757
+ ListWorldsMarbleV1WorldsListPostErrors[keyof ListWorldsMarbleV1WorldsListPostErrors]
1758
+
1759
+ export type ListWorldsMarbleV1WorldsListPostResponses = {
1760
+ /**
1761
+ * Successful Response
1762
+ */
1763
+ 200: ListWorldsResponse
1764
+ }
1765
+
1766
+ export type ListWorldsMarbleV1WorldsListPostResponse =
1767
+ ListWorldsMarbleV1WorldsListPostResponses[keyof ListWorldsMarbleV1WorldsListPostResponses]