@worldlabsai/client 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,7 +15,7 @@ Methods marked `@beta` require beta access for your World Labs account.
15
15
  Use a World Labs Developer API key to authenticate API requests.
16
16
 
17
17
  Before choosing model inputs or combining tasks, read
18
- [How To Use Atlas](https://marble5.worldlabs.ai/docs/how-to-use-atlas).
18
+ [How To Use Atlas](https://docs.atlas-beta.worldlabs.ai/how-to-use-atlas).
19
19
 
20
20
  ## Usage
21
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/core/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,qBAAqB,EAKrB,SAAS,EACV,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAChE,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACpE,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+DAA+D;AAC/D,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,MAAkB,CAAC;AAE1D,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,KAAG,SAA0C,CAAC;AAWnF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,SAAS,EAAE,YAAY,MAAM;IAuBjE;;;;OAIG;yBAhBC,MAAM,SACJ,qBAAqB,YAClB,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAoG+uJ,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;IAnFl1M,2FAA2F;oBACrE,WAAW,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAkFux/C,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;kBAAq9C,iEAAsB;;IA/Ex4lD;;;OAGG;wBACuB,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;IAOtE;;;OAGG;iBACgB,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAI/D;;;OAGG;cACa,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAwDutJ,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;IArDl1M,gGAAgG;wDACvC,iBAAiB;iBAoDm8jE,iEAAsB;iBAAsS,iEAAsB;;;IA9C/1kE;;;;;;;;OAQG;mBACkB,IAAI,GAAG,YAAY,qCAAqC,aAAa;;;;gBAqCyrJ,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;CADr1M,CAAC"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/core/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,qBAAqB,EAKrB,SAAS,EACV,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAChE,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACpE,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+DAA+D;AAC/D,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,KAAG,MAAkB,CAAC;AAE1D,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,KAAG,SAA0C,CAAC;AAWnF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,SAAS,EAAE,YAAY,MAAM;IAuBjE;;;;OAIG;yBAhBC,MAAM,SACJ,qBAAqB,YAClB,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAoG2tK,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;IAnF9zN,2FAA2F;oBACrE,WAAW,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAkF8hkD,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;kBAAq9C,iEAAsB;;IA/E/oqD;;;OAGG;wBACuB,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;IAOtE;;;OAGG;iBACgB,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAI/D;;;OAGG;cACa,MAAM,YAAW,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;;;;gBAwDmsK,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;IArD9zN,gGAAgG;wDACvC,iBAAiB;iBAoD0soE,iEAAsB;iBAAsS,iEAAsB;;;IA9CtmpE;;;;;;;;OAQG;mBACkB,IAAI,GAAG,YAAY,qCAAqC,aAAa;;;;gBAqCqqK,iEAAsB;;;;;;;gBAA2qC,iEAAsB;;;;qBAAkV,iEAAsB;;;;;CADj0N,CAAC"}
@@ -105,6 +105,23 @@ export interface paths {
105
105
  patch?: never;
106
106
  trace?: never;
107
107
  };
108
+ "/api/v2/tasks:posedImages2Splats": {
109
+ parameters: {
110
+ query?: never;
111
+ header?: never;
112
+ path?: never;
113
+ cookie?: never;
114
+ };
115
+ get?: never;
116
+ put?: never;
117
+ /** Submit the posedImages2Splats task */
118
+ post: operations["submit_posedImages2Splats_api_v2_tasks_posedImages2Splats_post"];
119
+ delete?: never;
120
+ options?: never;
121
+ head?: never;
122
+ patch?: never;
123
+ trace?: never;
124
+ };
108
125
  "/api/v2/tasks:splats2Mesh": {
109
126
  parameters: {
110
127
  query?: never;
@@ -606,20 +623,37 @@ export interface components {
606
623
  * @enum {string}
607
624
  */
608
625
  AssetState: "CREATED" | "UPLOADING" | "READY" | "DELETED";
626
+ /**
627
+ * AtlasChiselContextFrameAsset
628
+ * @description A context frame: its camera plus a depth, an image, or both.
629
+ */
630
+ AtlasChiselContextFrameAsset: {
631
+ /** @description Source image as a URL or inline asset, or null (depth-only). */
632
+ imageAsset?: components["schemas"]["TaskAsset"] | null;
633
+ /** @description Optional alpha mask as a URL or inline asset: an 8-bit grayscale PNG on the image grid whose pixel value / 255 is the alpha in [0, 1] (1 = kept, 0 = excluded). Null when the frame carries no mask. */
634
+ maskAsset?: components["schemas"]["TaskAsset"] | null;
635
+ /** @description Camera-to-world pose and intrinsics. */
636
+ camera: components["schemas"]["PinholeCamera"];
637
+ /**
638
+ * Depth
639
+ * @description Depth buffer aligned to the camera, with an optional mask; null for an image-only frame.
640
+ */
641
+ depth?: components["schemas"]["MaskedLogDepthBufferAsset"] | components["schemas"]["MaskedLinearDepthBufferAsset"] | null;
642
+ };
609
643
  /**
610
644
  * AtlasChiselModelParameters
611
- * @description Model-specific parameters forwarded to the atlasChisel servable.
645
+ * @description Sampling controls for atlasChisel.
612
646
  */
613
647
  AtlasChiselModelParameters: {
614
648
  /**
615
649
  * Seed
616
- * @description RNG seed forwarded to the servable when set.
650
+ * @description Random seed for image generation.
617
651
  * @default 42
618
652
  */
619
653
  seed?: number | null;
620
654
  /**
621
655
  * Numsteps
622
- * @description Diffusion step count. Unset uses the served model's own sampler.
656
+ * @description Number of denoising steps. Omit to use the model's default.
623
657
  */
624
658
  numSteps?: number | null;
625
659
  };
@@ -640,14 +674,16 @@ export interface components {
640
674
  purgeContentOnOperationCompletion?: boolean | null;
641
675
  /**
642
676
  * Contextframes
643
- * @description Posed depth frames, one per target camera and posed at it, in target order; each camera is 1280x720. Frames may also carry an imageAsset (the view's known pixels) and a maskAsset (8-bit grayscale, white where the frame's image and depth are known), each on every frame or on none: the model keeps the image where the mask is set and generates the rest, takes frames without masks as fully known, and conditions on the depth alone for frames without an image. Frames carry no depth confidenceAsset. Leave empty to generate from the prompt alone.
677
+ * @description Posed frames, one per target camera and posed at it, in target order; each camera is 1280x720. Each frame carries a depth, an imageAsset (the view's known pixels), or both, and may carry a maskAsset (8-bit grayscale, white where the frame's image and depth are known). Send each of depth, imageAsset and maskAsset on every frame or on none: the model keeps the image where the mask is set and generates the rest, takes frames without masks as fully known, conditions on the depth alone for frames without an image, and for frames without depth keeps the image inside the mask and generates the geometry (the frames atlasMasked takes). A depth.maskAsset (8-bit grayscale on the depth grid, white where the depth is known), on every frame or on none, masks the depth apart from the image: the maskAsset then marks only the image and needs an imageAsset beside it. Both masks read as known above half intensity. Frames carry no depth confidenceAsset. Leave empty to generate from the prompt alone.
644
678
  */
645
- contextFrames?: components["schemas"]["PosedDepthAsset"][];
679
+ contextFrames?: components["schemas"]["AtlasChiselContextFrameAsset"][];
646
680
  /**
647
681
  * Sourceframes
648
- * @description Posed RGB photographs of the scene, each an image and its camera in the targets' coordinate convention and scale. The generated views stay consistent with them: the servable feeds them to the model as views it has already committed, so a target that sees the same surfaces keeps their materials, colors, and lighting. Any cameras and any resolution; each is cover-resized and center-cropped onto 1280x720. Frames carry no maskAsset or depth. Together with contextFrames and targetCameras they fill at most 128 views of the servable's rollout, where a context frame costs 3 and a photograph or target one.
682
+ * @description Posed RGB photographs of the scene, each an image and its camera in the targets' coordinate convention and scale. The generated views use them as visual references for materials, colors, and lighting. Any cameras and any resolution; each image is scaled to cover the output dimensions, then center-cropped onto 1280x720. Frames carry no maskAsset or depth. Request sizes must satisfy 3 * contextFrames.length + sourceFrames.length + targetCameras.length <= 128.
649
683
  */
650
684
  sourceFrames?: components["schemas"]["PosedRGBAsset"][];
685
+ /** @description Optional style-reference image that guides appearance; it supplies no camera or geometry. Not applied yet: the current model does not support style references, so frames generate without it. */
686
+ styleReferenceImageAsset?: components["schemas"]["TaskAsset"] | null;
651
687
  /**
652
688
  * Targetcameras
653
689
  * @description Pinhole cameras at 1280x720 for the views to generate, in output order, returned in `frames`. At most 32.
@@ -660,18 +696,18 @@ export interface components {
660
696
  prompt: string;
661
697
  /**
662
698
  * Enhanceprompt
663
- * @description Rewrite the prompt into the structured scene caption the model trained on before inference. Set false to send the prompt as is.
699
+ * @description Expand the prompt into a detailed scene description before generation. Set false to use your wording unchanged.
664
700
  * @default true
665
701
  */
666
702
  enhancePrompt?: boolean;
667
703
  /**
668
704
  * Voxelsize
669
- * @description Voxel side length in the normalized scene gauge (90th-percentile disparity is approximately 1). The recommended range is 0 to 0.4. Omit or set to 0 to keep the original depth conditioning.
705
+ * @description Side length of the cubes used to simplify depth geometry. Uses normalized scene units, not input distance units: the scene is rescaled so the 90th percentile of inverse depth is approximately 1. The recommended range is 0 to 0.4. Omit or set to 0 to keep the original geometry.
670
706
  */
671
707
  voxelSize?: number | null;
672
708
  /**
673
709
  * Voxelgridorientation
674
- * @description Frame the voxelization grid axes align to. 'world' (the default) axis-aligns voxels with the request's world coordinates, so world-axis-aligned faces (blockout walls) quantize flat; 'gauge' keeps the legacy grid aligned to the normalized scene gauge (the recentered mean camera pose). Ignored unless voxelSize is set.
710
+ * @description Grid orientation for simplifying depth geometry. 'world' (the default) aligns the grid with the request's world axes so walls aligned with those axes stay flat. 'gauge' aligns the grid with the average camera pose after recentering the scene. Ignored unless voxelSize is set.
675
711
  */
676
712
  voxelGridOrientation?: ("world" | "gauge") | null;
677
713
  /** @description Model-specific parameters for atlasChisel. */
@@ -700,7 +736,7 @@ export interface components {
700
736
  promptUsed?: string | null;
701
737
  /**
702
738
  * Requestid
703
- * @description Meridian request id from servable runtime metadata.
739
+ * @description Generation request ID for troubleshooting.
704
740
  */
705
741
  requestId?: string | null;
706
742
  };
@@ -757,18 +793,18 @@ export interface components {
757
793
  };
758
794
  /**
759
795
  * AtlasGenerateModelParameters
760
- * @description Model-specific parameters forwarded to the atlasGenerate servable.
796
+ * @description Sampling controls for atlasGenerate.
761
797
  */
762
798
  AtlasGenerateModelParameters: {
763
799
  /**
764
800
  * Seed
765
- * @description RNG seed forwarded to the servable when set.
801
+ * @description Random seed for image generation.
766
802
  * @default 42
767
803
  */
768
804
  seed?: number | null;
769
805
  /**
770
806
  * Numsteps
771
- * @description Diffusion step-count override.
807
+ * @description Number of denoising steps. Omit to use the model's default.
772
808
  */
773
809
  numSteps?: number | null;
774
810
  };
@@ -795,7 +831,7 @@ export interface components {
795
831
  base64Outputs?: boolean;
796
832
  /**
797
833
  * Contextframes
798
- * @description Posed RGBD context views: each an image, its depth buffer, and its camera, all required. All context cameras must declare the same width and height. On the reference-context warp route the depth conditions the generation geometrically, so the generated views stay consistent with the provided scene; the hero base checkpoint conditions on the posed images only and does not consume the depth.
834
+ * @description Posed RGBD context views: each an image, its depth buffer, and its camera, all required. All context cameras must declare the same width and height. Context depth is required, but does not guide generation in every request. Requests with 32 or more targets generate from the context images and cameras without using their depth. Smaller requests can do the same when their combined context and target counts exceed the depth-guided model's capacity.
799
835
  */
800
836
  contextFrames: components["schemas"]["PosedRGBDAsset"][];
801
837
  /**
@@ -810,13 +846,13 @@ export interface components {
810
846
  prompt?: string | null;
811
847
  /**
812
848
  * Enhanceprompt
813
- * @description Enhance the prompt with the ViewGen preset before inference. With no prompt, the enhancer captions the context images.
849
+ * @description Expand the prompt into a scene description before generation. With no prompt, describe the context images. Set false to use your wording unchanged.
814
850
  * @default true
815
851
  */
816
852
  enhancePrompt?: boolean;
817
853
  /**
818
854
  * Returndepth
819
- * @description Return the generated frames as posed RGBD: they are reconstructed together with the context frames so the depth lands in the request's own camera frame and scale, and every entry in `frames` then carries a `depth` buffer. The scale is recovered from camera centres, so a request whose cameras all share one centre (a pure-rotation rig) is rejected. On the hero base route, with more than 19 context frames, or with a masked context frame, a context frame joins the reconstruction only when its image is at the generated resolution and its camera's principal point is centered.
855
+ * @description Return the generated frames as posed RGBD: they are reconstructed together with the context frames so the depth lands in the request's own camera frame and scale, and every entry in `frames` then carries a `depth` buffer. The scale is recovered from camera centres, so a request whose cameras all share one centre (a pure-rotation rig) is rejected. When generation uses only images and cameras (see contextFrames), or with more than 19 context frames, a context frame helps reconstruct depth only when its image has the same dimensions as the generated images and its camera's principal point is centered.
820
856
  * @default false
821
857
  */
822
858
  returnDepth?: boolean;
@@ -840,7 +876,7 @@ export interface components {
840
876
  promptUsed?: string | null;
841
877
  /**
842
878
  * Requestid
843
- * @description Meridian request id from servable runtime metadata.
879
+ * @description Generation request ID for troubleshooting.
844
880
  */
845
881
  requestId?: string | null;
846
882
  };
@@ -897,12 +933,12 @@ export interface components {
897
933
  };
898
934
  /**
899
935
  * AtlasMaskedModelParameters
900
- * @description Model-specific parameters forwarded to the atlasMasked servable.
936
+ * @description Sampling controls for atlasMasked.
901
937
  */
902
938
  AtlasMaskedModelParameters: {
903
939
  /**
904
940
  * Seed
905
- * @description RNG seed forwarded to the servable when set.
941
+ * @description Random seed for image generation.
906
942
  * @default 42
907
943
  */
908
944
  seed?: number | null;
@@ -935,7 +971,7 @@ export interface components {
935
971
  contextFrames: components["schemas"]["PosedRGBAAsset"][];
936
972
  /**
937
973
  * Targetcameras
938
- * @description Pinhole cameras for the views to generate, one per context frame in the same order. Warning: the partial checkpoints condition target i on contextFrames[i]'s masked view and were trained with one context view per target, rendered from the target's own viewpoint. A count that differs from contextFrames, or a target off its frame's camera, is accepted but runs outside the training distribution and may generate degraded views.
974
+ * @description Pinhole cameras for the views to generate, one per context frame in the same order. For best results, targetCameras[i] should match the camera in contextFrames[i]. Different counts or cameras that do not match their context views are accepted, but may produce lower-quality results.
939
975
  */
940
976
  targetCameras: components["schemas"]["PinholeCamera"][];
941
977
  /**
@@ -975,7 +1011,7 @@ export interface components {
975
1011
  promptUsed?: string | null;
976
1012
  /**
977
1013
  * Requestid
978
- * @description Meridian request id from servable runtime metadata.
1014
+ * @description Generation request ID for troubleshooting.
979
1015
  */
980
1016
  requestId?: string | null;
981
1017
  };
@@ -1095,9 +1131,14 @@ export interface components {
1095
1131
  frames: components["schemas"]["FrameRGBAsset"][];
1096
1132
  /**
1097
1133
  * Promptused
1098
- * @description Final prompt supplied to inference, if any.
1134
+ * @description Final prompt for the first output image, if any. See promptsUsed for all images.
1099
1135
  */
1100
1136
  promptUsed?: string | null;
1137
+ /**
1138
+ * Promptsused
1139
+ * @description Final prompts in the same order as frames. Empty for older results.
1140
+ */
1141
+ promptsUsed?: string[];
1101
1142
  /**
1102
1143
  * Aspectratio
1103
1144
  * @description Resolved width-to-height ratio used for generation.
@@ -1789,6 +1830,40 @@ export interface components {
1789
1830
  */
1790
1831
  zMax: number;
1791
1832
  };
1833
+ /**
1834
+ * MaskedLinearDepthBufferAsset
1835
+ * @description Linear-depth EXR plus an optional mask.
1836
+ */
1837
+ MaskedLinearDepthBufferAsset: {
1838
+ /** @description Optional 8-bit grayscale PNG on the depth grid whose pixel value / 255 is the per-pixel depth confidence in [0, 1], as a URL or inline asset. */
1839
+ confidenceAsset?: components["schemas"]["TaskAsset"] | null;
1840
+ /** @description Optional 8-bit grayscale PNG on the depth grid, as a URL or inline asset: white where the buffer's depth is known, black where it has none. Null when every pixel's depth is known. */
1841
+ maskAsset?: components["schemas"]["TaskAsset"] | null;
1842
+ /** @description EXR of linear depth in world units, as a URL or inline asset. */
1843
+ depthAsset: components["schemas"]["TaskAsset"];
1844
+ };
1845
+ /**
1846
+ * MaskedLogDepthBufferAsset
1847
+ * @description Inverted log-depth PNG plus its decode range and an optional mask.
1848
+ */
1849
+ MaskedLogDepthBufferAsset: {
1850
+ /** @description Optional 8-bit grayscale PNG on the depth grid whose pixel value / 255 is the per-pixel depth confidence in [0, 1], as a URL or inline asset. */
1851
+ confidenceAsset?: components["schemas"]["TaskAsset"] | null;
1852
+ /** @description Optional 8-bit grayscale PNG on the depth grid, as a URL or inline asset: white where the buffer's depth is known, black where it has none. Null when every pixel's depth is known. */
1853
+ maskAsset?: components["schemas"]["TaskAsset"] | null;
1854
+ /** @description Inverted log-depth grayscale PNG, as a URL or inline asset. */
1855
+ logDepthAsset: components["schemas"]["TaskAsset"];
1856
+ /**
1857
+ * Zmin
1858
+ * @description Linear depth in world units encoded as white (1.0).
1859
+ */
1860
+ zMin: number;
1861
+ /**
1862
+ * Zmax
1863
+ * @description Linear depth in world units encoded as black (>0).
1864
+ */
1865
+ zMax: number;
1866
+ };
1792
1867
  /**
1793
1868
  * Operation
1794
1869
  * @description An operation with its result, available through singular reads.
@@ -1941,21 +2016,123 @@ export interface components {
1941
2016
  height: number;
1942
2017
  };
1943
2018
  /**
1944
- * PosedDepthAsset
1945
- * @description A posed depth-only frame: a depth buffer with its camera.
2019
+ * PosedImages2SplatsRequest
2020
+ * @description Body of ``POST /api/v2/tasks:posedImages2Splats``.
1946
2021
  */
1947
- PosedDepthAsset: {
1948
- /** @description Source image as a URL or inline asset, or null (depth-only). */
1949
- imageAsset?: components["schemas"]["TaskAsset"] | null;
1950
- /** @description Optional alpha mask as a URL or inline asset: an 8-bit grayscale PNG on the image grid whose pixel value / 255 is the alpha in [0, 1] (1 = kept, 0 = excluded). Null when the frame carries no mask. */
1951
- maskAsset?: components["schemas"]["TaskAsset"] | null;
1952
- /** @description Camera-to-world pose and intrinsics. */
1953
- camera: components["schemas"]["PinholeCamera"];
2022
+ PosedImages2SplatsRequest: {
1954
2023
  /**
1955
- * Depth
1956
- * @description Depth buffer aligned to the camera.
2024
+ * Webhookurl
2025
+ * @description Where Marble POSTs one signed task.succeeded or task.failed event when this operation finishes; retried for 24 hours. Verify the signature with the public keys at /.well-known/webhooks/jwks.json. Cannot be combined with ?wait=true. https on port 443 only, no IP literals. Developer API only.
1957
2026
  */
1958
- depth: components["schemas"]["LogDepthBufferAsset"] | components["schemas"]["LinearDepthBufferAsset"];
2027
+ webhookUrl?: string | null;
2028
+ /**
2029
+ * Purgecontentonoperationcompletion
2030
+ * @description Purge this operation's outputs and the transient uploads it consumed one hour after it finishes. Omitted, the account's setting applies; true raises it for this operation; false is refused when the account already purges. Uploads in the library are never purged by an operation.
2031
+ */
2032
+ purgeContentOnOperationCompletion?: boolean | null;
2033
+ /**
2034
+ * Prompt
2035
+ * @description Optional scene description. Enhancement combines it with the input images; when omitted, enhancement captions the images.
2036
+ */
2037
+ prompt?: string | null;
2038
+ /**
2039
+ * Enhanceprompt
2040
+ * @description Enhance the prompt using the context images before generation. Set false with a prepared prompt to skip enhancement and reduce latency.
2041
+ * @default true
2042
+ */
2043
+ enhancePrompt?: boolean;
2044
+ /**
2045
+ * Refine
2046
+ * @description Run the refiner after drafting: the free-running loop that places cameras, render-difixes them and trains SSO on the draft until its recipe's step count or wall budget, publishing its level under refinedSplats. Off ends the run at the draft pass, fit at 2,000,000 splats by default or at the one targetSplatCounts entry, and published under draftSplat alone. It runs in a fraction of the time and is billed as a draft.
2047
+ * @default true
2048
+ */
2049
+ refine?: boolean;
2050
+ /**
2051
+ * Targetsplatcounts
2052
+ * @description Splat counts to publish. With refine=false, an explicit list must contain exactly one count, the draft's, returned under draftSplat; omitted, the draft is fit at 2,000,000 splats. With refinement the loop's recipe sets the one level it publishes under refinedSplats, and this list is accepted and ignored.
2053
+ */
2054
+ targetSplatCounts?: number[] | null;
2055
+ /**
2056
+ * Debug
2057
+ * @description Flag for custom debug behavior. Currently has no effect on the pipeline.
2058
+ * @default false
2059
+ */
2060
+ debug?: boolean;
2061
+ /**
2062
+ * Posedframes
2063
+ * @description Ordered posed RGBD frames (at least 2): each image an account asset, inline bytes, or a public URL, with its camera and its depth buffer (a linear-depth EXR under depth.depthAsset, as images2PosedRGBD returns). All frames must share one image size.
2064
+ */
2065
+ posedFrames: components["schemas"]["PosedRGBDAsset"][];
2066
+ };
2067
+ /**
2068
+ * PosedImages2SplatsResponse
2069
+ * @description Public response projected into the completed Operation.
2070
+ *
2071
+ * Each splat is a bare TaskAsset, the shape the task requests take
2072
+ * (splats2Mesh's splatAsset), so a response feeds the next task without
2073
+ * translation.
2074
+ */
2075
+ PosedImages2SplatsResponse: {
2076
+ /**
2077
+ * Refinedsplats
2078
+ * @description Refined splats (SPZ) keyed by splat count.
2079
+ */
2080
+ refinedSplats?: {
2081
+ [key: string]: components["schemas"]["TaskAsset"];
2082
+ };
2083
+ /** @description The splat (SPZ) the run ends on when refine=false: the draft pass's, fit at the requested count (2,000,000 by default). Null when the refiner ran; its levels are under refinedSplats. */
2084
+ draftSplat?: components["schemas"]["TaskAsset"] | null;
2085
+ };
2086
+ /**
2087
+ * PosedImages2SplatsResponseOperation
2088
+ * @description Long-running operation whose successful terminal ``response`` has type ``PosedImages2SplatsResponse``. This is the common Operation envelope with a task-specific response type, not a separate operation resource.
2089
+ */
2090
+ PosedImages2SplatsResponseOperation: {
2091
+ /**
2092
+ * Id
2093
+ * @description Short operation id used in ``/operations/{operation}`` paths.
2094
+ */
2095
+ id: string;
2096
+ /**
2097
+ * Ownerid
2098
+ * @description Account that owns the operation.
2099
+ */
2100
+ ownerId: string;
2101
+ /**
2102
+ * Metadata
2103
+ * @description Task information and optional progress details. Use ``metadata.task`` to interpret a generic operation response, and use ``done`` to determine completion.
2104
+ */
2105
+ metadata?: {
2106
+ [key: string]: unknown;
2107
+ } | null;
2108
+ /**
2109
+ * Done
2110
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
2111
+ */
2112
+ done: boolean;
2113
+ /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
2114
+ error?: components["schemas"]["OperationError"] | null;
2115
+ /**
2116
+ * Expiresatsecs
2117
+ * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
2118
+ */
2119
+ expiresAtSecs?: number | null;
2120
+ /**
2121
+ * Createdatsecs
2122
+ * @description Unix seconds when the operation was accepted.
2123
+ */
2124
+ createdAtSecs?: number | null;
2125
+ /** @description ``PosedImages2SplatsResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
2126
+ response?: components["schemas"]["PosedImages2SplatsResponse"] | null;
2127
+ /**
2128
+ * Name
2129
+ * @description Full resource name for the operation.
2130
+ *
2131
+ * For project operations:
2132
+ * ``accounts/{account}/projects/{project}/operations/{operation}``.
2133
+ * Operation paths accept the short ``id``.
2134
+ */
2135
+ readonly name: string;
1959
2136
  };
1960
2137
  /**
1961
2138
  * PosedRGBAAsset
@@ -2458,6 +2635,7 @@ export type AssetPart = components['schemas']['AssetPart'];
2458
2635
  export type AssetPartDeclaration = components['schemas']['AssetPartDeclaration'];
2459
2636
  export type AssetProducer = components['schemas']['AssetProducer'];
2460
2637
  export type AssetState = components['schemas']['AssetState'];
2638
+ export type AtlasChiselContextFrameAsset = components['schemas']['AtlasChiselContextFrameAsset'];
2461
2639
  export type AtlasChiselModelParameters = components['schemas']['AtlasChiselModelParameters'];
2462
2640
  export type AtlasChiselRequest = components['schemas']['AtlasChiselRequest'];
2463
2641
  export type AtlasChiselResponse = components['schemas']['AtlasChiselResponse'];
@@ -2499,13 +2677,17 @@ export type ListAssetsResponse = components['schemas']['ListAssetsResponse'];
2499
2677
  export type ListedOperation = components['schemas']['ListedOperation'];
2500
2678
  export type ListedOperationsResponse = components['schemas']['ListedOperationsResponse'];
2501
2679
  export type LogDepthBufferAsset = components['schemas']['LogDepthBufferAsset'];
2680
+ export type MaskedLinearDepthBufferAsset = components['schemas']['MaskedLinearDepthBufferAsset'];
2681
+ export type MaskedLogDepthBufferAsset = components['schemas']['MaskedLogDepthBufferAsset'];
2502
2682
  export type Operation = components['schemas']['Operation'];
2503
2683
  export type OperationError = components['schemas']['OperationError'];
2504
2684
  export type OperationStatus = components['schemas']['OperationStatus'];
2505
2685
  export type OperationTrace = components['schemas']['OperationTrace'];
2506
2686
  export type PinholeCamera = components['schemas']['PinholeCamera'];
2507
2687
  export type PinholeCameraIntrinsics = components['schemas']['PinholeCameraIntrinsics'];
2508
- export type PosedDepthAsset = components['schemas']['PosedDepthAsset'];
2688
+ export type PosedImages2SplatsRequest = components['schemas']['PosedImages2SplatsRequest'];
2689
+ export type PosedImages2SplatsResponse = components['schemas']['PosedImages2SplatsResponse'];
2690
+ export type PosedImages2SplatsResponseOperation = components['schemas']['PosedImages2SplatsResponseOperation'];
2509
2691
  export type PosedRGBAAsset = components['schemas']['PosedRGBAAsset'];
2510
2692
  export type PosedRGBAsset = components['schemas']['PosedRGBAsset'];
2511
2693
  export type PosedRGBDAsset = components['schemas']['PosedRGBDAsset'];
@@ -2742,6 +2924,45 @@ export interface operations {
2742
2924
  };
2743
2925
  };
2744
2926
  };
2927
+ submit_posedImages2Splats_api_v2_tasks_posedImages2Splats_post: {
2928
+ parameters: {
2929
+ query?: {
2930
+ /** @description Block for the operation to finish before returning, up to the server wait cap. Returns the Operation either way — done with a response if it finished in time, otherwise still running. */
2931
+ wait?: boolean;
2932
+ };
2933
+ header?: {
2934
+ /** @description Optional idempotency key. */
2935
+ "Idempotency-Key"?: string | null;
2936
+ };
2937
+ path?: never;
2938
+ cookie?: never;
2939
+ };
2940
+ requestBody: {
2941
+ content: {
2942
+ "application/json": components["schemas"]["PosedImages2SplatsRequest"];
2943
+ };
2944
+ };
2945
+ responses: {
2946
+ /** @description Successful Response */
2947
+ 201: {
2948
+ headers: {
2949
+ [name: string]: unknown;
2950
+ };
2951
+ content: {
2952
+ "application/json": components["schemas"]["PosedImages2SplatsResponseOperation"];
2953
+ };
2954
+ };
2955
+ /** @description Validation Error */
2956
+ 422: {
2957
+ headers: {
2958
+ [name: string]: unknown;
2959
+ };
2960
+ content: {
2961
+ "application/json": components["schemas"]["HTTPValidationError"];
2962
+ };
2963
+ };
2964
+ };
2965
+ };
2745
2966
  submit_splats2Mesh_api_v2_tasks_splats2Mesh_post: {
2746
2967
  parameters: {
2747
2968
  query?: {