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