@worldlabsai/client 0.4.0 → 0.6.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 +5 -1
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +17 -2
- package/dist/client.js.map +1 -1
- package/dist/core/assets.d.ts.map +1 -1
- package/dist/generated/developer-api.gen.d.ts +294 -43
- package/dist/generated/developer-api.gen.d.ts.map +1 -1
- package/dist/generated/tasks.gen.d.ts +25 -1
- package/dist/generated/tasks.gen.d.ts.map +1 -1
- package/dist/generated/tasks.gen.js +12 -0
- package/dist/generated/tasks.gen.js.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +11 -12
- package/src/client.ts +25 -2
- package/src/generated/developer-api.gen.ts +294 -43
- package/src/generated/tasks.gen.ts +16 -0
- package/src/version.ts +2 -0
|
@@ -106,6 +106,23 @@ export interface paths {
|
|
|
106
106
|
patch?: never;
|
|
107
107
|
trace?: never;
|
|
108
108
|
};
|
|
109
|
+
"/api/v2/tasks:posedImages2Splats": {
|
|
110
|
+
parameters: {
|
|
111
|
+
query?: never;
|
|
112
|
+
header?: never;
|
|
113
|
+
path?: never;
|
|
114
|
+
cookie?: never;
|
|
115
|
+
};
|
|
116
|
+
get?: never;
|
|
117
|
+
put?: never;
|
|
118
|
+
/** Submit the posedImages2Splats task */
|
|
119
|
+
post: operations["submit_posedImages2Splats_api_v2_tasks_posedImages2Splats_post"];
|
|
120
|
+
delete?: never;
|
|
121
|
+
options?: never;
|
|
122
|
+
head?: never;
|
|
123
|
+
patch?: never;
|
|
124
|
+
trace?: never;
|
|
125
|
+
};
|
|
109
126
|
"/api/v2/tasks:splats2Mesh": {
|
|
110
127
|
parameters: {
|
|
111
128
|
query?: never;
|
|
@@ -607,20 +624,37 @@ export interface components {
|
|
|
607
624
|
* @enum {string}
|
|
608
625
|
*/
|
|
609
626
|
AssetState: "CREATED" | "UPLOADING" | "READY" | "DELETED";
|
|
627
|
+
/**
|
|
628
|
+
* AtlasChiselContextFrameAsset
|
|
629
|
+
* @description A context frame: its camera plus a depth, an image, or both.
|
|
630
|
+
*/
|
|
631
|
+
AtlasChiselContextFrameAsset: {
|
|
632
|
+
/** @description Source image as a URL or inline asset, or null (depth-only). */
|
|
633
|
+
imageAsset?: components["schemas"]["TaskAsset"] | null;
|
|
634
|
+
/** @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. */
|
|
635
|
+
maskAsset?: components["schemas"]["TaskAsset"] | null;
|
|
636
|
+
/** @description Camera-to-world pose and intrinsics. */
|
|
637
|
+
camera: components["schemas"]["PinholeCamera"];
|
|
638
|
+
/**
|
|
639
|
+
* Depth
|
|
640
|
+
* @description Depth buffer aligned to the camera, with an optional mask; null for an image-only frame.
|
|
641
|
+
*/
|
|
642
|
+
depth?: components["schemas"]["MaskedLogDepthBufferAsset"] | components["schemas"]["MaskedLinearDepthBufferAsset"] | null;
|
|
643
|
+
};
|
|
610
644
|
/**
|
|
611
645
|
* AtlasChiselModelParameters
|
|
612
|
-
* @description
|
|
646
|
+
* @description Sampling controls for atlasChisel.
|
|
613
647
|
*/
|
|
614
648
|
AtlasChiselModelParameters: {
|
|
615
649
|
/**
|
|
616
650
|
* Seed
|
|
617
|
-
* @description
|
|
651
|
+
* @description Random seed for image generation.
|
|
618
652
|
* @default 42
|
|
619
653
|
*/
|
|
620
654
|
seed?: number | null;
|
|
621
655
|
/**
|
|
622
656
|
* Numsteps
|
|
623
|
-
* @description
|
|
657
|
+
* @description Number of denoising steps. Omit to use the model's default.
|
|
624
658
|
*/
|
|
625
659
|
numSteps?: number | null;
|
|
626
660
|
};
|
|
@@ -639,19 +673,27 @@ export interface components {
|
|
|
639
673
|
* @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.
|
|
640
674
|
*/
|
|
641
675
|
purgeContentOnOperationCompletion?: boolean | null;
|
|
676
|
+
/**
|
|
677
|
+
* Base64Outputs
|
|
678
|
+
* @description When a ?wait=true submission is answered inline, return each output file as base64 in that response rather than by assetId and url. This skips storing the files before the answer and the caller's download after it. Any other submission, and every later read of the operation, names the outputs by assetId and url.
|
|
679
|
+
* @default false
|
|
680
|
+
*/
|
|
681
|
+
base64Outputs?: boolean;
|
|
642
682
|
/**
|
|
643
683
|
* Contextframes
|
|
644
|
-
* @description Posed
|
|
684
|
+
* @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.
|
|
645
685
|
*/
|
|
646
|
-
contextFrames?: components["schemas"]["
|
|
686
|
+
contextFrames?: components["schemas"]["AtlasChiselContextFrameAsset"][];
|
|
647
687
|
/**
|
|
648
688
|
* Sourceframes
|
|
649
|
-
* @description Posed RGB photographs of the scene, each an image and its camera in the targets' coordinate convention and scale. The generated views
|
|
689
|
+
* @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. Together with contextFrames and targetCameras they share the served model's rollout, and a request that overflows it fails.
|
|
650
690
|
*/
|
|
651
691
|
sourceFrames?: components["schemas"]["PosedRGBAsset"][];
|
|
692
|
+
/** @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. */
|
|
693
|
+
styleReferenceImageAsset?: components["schemas"]["TaskAsset"] | null;
|
|
652
694
|
/**
|
|
653
695
|
* Targetcameras
|
|
654
|
-
* @description Pinhole cameras at 1280x720 for the views to generate, in output order, returned in `frames`. At most
|
|
696
|
+
* @description Pinhole cameras at 1280x720 for the views to generate, in output order, returned in `frames`. At most 1440.
|
|
655
697
|
*/
|
|
656
698
|
targetCameras: components["schemas"]["PinholeCamera"][];
|
|
657
699
|
/**
|
|
@@ -661,25 +703,25 @@ export interface components {
|
|
|
661
703
|
prompt: string;
|
|
662
704
|
/**
|
|
663
705
|
* Enhanceprompt
|
|
664
|
-
* @description
|
|
706
|
+
* @description Expand the prompt into a detailed scene description before generation. Set false to use your wording unchanged.
|
|
665
707
|
* @default true
|
|
666
708
|
*/
|
|
667
709
|
enhancePrompt?: boolean;
|
|
668
710
|
/**
|
|
669
711
|
* Voxelsize
|
|
670
|
-
* @description
|
|
712
|
+
* @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.
|
|
671
713
|
*/
|
|
672
714
|
voxelSize?: number | null;
|
|
673
715
|
/**
|
|
674
716
|
* Voxelgridorientation
|
|
675
|
-
* @description
|
|
717
|
+
* @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.
|
|
676
718
|
*/
|
|
677
719
|
voxelGridOrientation?: ("world" | "gauge") | null;
|
|
678
720
|
/** @description Model-specific parameters for atlasChisel. */
|
|
679
721
|
modelParameters?: components["schemas"]["AtlasChiselModelParameters"];
|
|
680
722
|
/**
|
|
681
723
|
* Returndepth
|
|
682
|
-
* @description Return the generated frames as posed RGBD: they are reconstructed together so the depth lands in the request's own camera frame and scale, and every entry in `frames` then carries a `depth` buffer. The contextFrames' own depth is not reconstructed or returned
|
|
724
|
+
* @description Return the generated frames as posed RGBD: they are reconstructed together so the depth lands in the request's own camera frame and scale, and every entry in `frames` then carries a `depth` buffer. The contextFrames' own depth is not reconstructed or returned, and source photographs get no depth back. Needs 2 to 256 target cameras. Limitation: the depth scale is recovered from the camera centers that joined, so targets that share one center (a pure-rotation rig) and nothing else anchoring them come back with a 0.0 or NaN scale and a success status.
|
|
683
725
|
* @default false
|
|
684
726
|
*/
|
|
685
727
|
returnDepth?: boolean;
|
|
@@ -701,7 +743,7 @@ export interface components {
|
|
|
701
743
|
promptUsed?: string | null;
|
|
702
744
|
/**
|
|
703
745
|
* Requestid
|
|
704
|
-
* @description
|
|
746
|
+
* @description Generation request ID for troubleshooting.
|
|
705
747
|
*/
|
|
706
748
|
requestId?: string | null;
|
|
707
749
|
};
|
|
@@ -758,18 +800,18 @@ export interface components {
|
|
|
758
800
|
};
|
|
759
801
|
/**
|
|
760
802
|
* AtlasGenerateModelParameters
|
|
761
|
-
* @description
|
|
803
|
+
* @description Sampling controls for atlasGenerate.
|
|
762
804
|
*/
|
|
763
805
|
AtlasGenerateModelParameters: {
|
|
764
806
|
/**
|
|
765
807
|
* Seed
|
|
766
|
-
* @description
|
|
808
|
+
* @description Random seed for image generation.
|
|
767
809
|
* @default 42
|
|
768
810
|
*/
|
|
769
811
|
seed?: number | null;
|
|
770
812
|
/**
|
|
771
813
|
* Numsteps
|
|
772
|
-
* @description
|
|
814
|
+
* @description Number of denoising steps. Omit to use the model's default.
|
|
773
815
|
*/
|
|
774
816
|
numSteps?: number | null;
|
|
775
817
|
};
|
|
@@ -796,12 +838,12 @@ export interface components {
|
|
|
796
838
|
base64Outputs?: boolean;
|
|
797
839
|
/**
|
|
798
840
|
* Contextframes
|
|
799
|
-
* @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.
|
|
841
|
+
* @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 and supplies sparse depth references for generation.
|
|
800
842
|
*/
|
|
801
843
|
contextFrames: components["schemas"]["PosedRGBDAsset"][];
|
|
802
844
|
/**
|
|
803
845
|
* Targetcameras
|
|
804
|
-
* @description Pinhole cameras for the views to generate, in output order. Generated frames are returned in `frames`, one per camera.
|
|
846
|
+
* @description Pinhole cameras for the views to generate, in output order. Generated frames are returned in `frames`, one per camera. All cameras share one size (width x height): 1280x720, 960x720, 528x704, or 720x1280.
|
|
805
847
|
*/
|
|
806
848
|
targetCameras: components["schemas"]["PinholeCamera"][];
|
|
807
849
|
/**
|
|
@@ -811,13 +853,13 @@ export interface components {
|
|
|
811
853
|
prompt?: string | null;
|
|
812
854
|
/**
|
|
813
855
|
* Enhanceprompt
|
|
814
|
-
* @description
|
|
856
|
+
* @description Expand the prompt into a scene description before generation. With no prompt, describe the context images. Set false to use your wording unchanged.
|
|
815
857
|
* @default true
|
|
816
858
|
*/
|
|
817
859
|
enhancePrompt?: boolean;
|
|
818
860
|
/**
|
|
819
861
|
* Returndepth
|
|
820
|
-
* @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.
|
|
862
|
+
* @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. The context frames anchor the reconstruction, so they must have the targets' aspect ratio and every target camera's principal point must be within 5% of the image centre, or the request is rejected, and a context frame helps reconstruct depth only when its camera's principal point is centered.
|
|
821
863
|
* @default false
|
|
822
864
|
*/
|
|
823
865
|
returnDepth?: boolean;
|
|
@@ -841,7 +883,7 @@ export interface components {
|
|
|
841
883
|
promptUsed?: string | null;
|
|
842
884
|
/**
|
|
843
885
|
* Requestid
|
|
844
|
-
* @description
|
|
886
|
+
* @description Generation request ID for troubleshooting.
|
|
845
887
|
*/
|
|
846
888
|
requestId?: string | null;
|
|
847
889
|
};
|
|
@@ -898,12 +940,12 @@ export interface components {
|
|
|
898
940
|
};
|
|
899
941
|
/**
|
|
900
942
|
* AtlasMaskedModelParameters
|
|
901
|
-
* @description
|
|
943
|
+
* @description Sampling controls for atlasMasked.
|
|
902
944
|
*/
|
|
903
945
|
AtlasMaskedModelParameters: {
|
|
904
946
|
/**
|
|
905
947
|
* Seed
|
|
906
|
-
* @description
|
|
948
|
+
* @description Random seed for image generation.
|
|
907
949
|
* @default 42
|
|
908
950
|
*/
|
|
909
951
|
seed?: number | null;
|
|
@@ -936,7 +978,7 @@ export interface components {
|
|
|
936
978
|
contextFrames: components["schemas"]["PosedRGBAAsset"][];
|
|
937
979
|
/**
|
|
938
980
|
* Targetcameras
|
|
939
|
-
* @description Pinhole cameras for the views to generate, one per context frame in the same order.
|
|
981
|
+
* @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.
|
|
940
982
|
*/
|
|
941
983
|
targetCameras: components["schemas"]["PinholeCamera"][];
|
|
942
984
|
/**
|
|
@@ -976,7 +1018,7 @@ export interface components {
|
|
|
976
1018
|
promptUsed?: string | null;
|
|
977
1019
|
/**
|
|
978
1020
|
* Requestid
|
|
979
|
-
* @description
|
|
1021
|
+
* @description Generation request ID for troubleshooting.
|
|
980
1022
|
*/
|
|
981
1023
|
requestId?: string | null;
|
|
982
1024
|
};
|
|
@@ -1096,9 +1138,14 @@ export interface components {
|
|
|
1096
1138
|
frames: components["schemas"]["FrameRGBAsset"][];
|
|
1097
1139
|
/**
|
|
1098
1140
|
* Promptused
|
|
1099
|
-
* @description Final prompt
|
|
1141
|
+
* @description Final prompt for the first output image, if any. See promptsUsed for all images.
|
|
1100
1142
|
*/
|
|
1101
1143
|
promptUsed?: string | null;
|
|
1144
|
+
/**
|
|
1145
|
+
* Promptsused
|
|
1146
|
+
* @description Final prompts in the same order as frames. Empty for older results.
|
|
1147
|
+
*/
|
|
1148
|
+
promptsUsed?: string[];
|
|
1102
1149
|
/**
|
|
1103
1150
|
* Aspectratio
|
|
1104
1151
|
* @description Resolved width-to-height ratio used for generation.
|
|
@@ -1582,11 +1629,7 @@ export interface components {
|
|
|
1582
1629
|
canonicalizeToFirstFrame?: boolean;
|
|
1583
1630
|
/**
|
|
1584
1631
|
* Targetresolution
|
|
1585
|
-
* @description Return the depth, confidence and camera intrinsics on this (width, height) pixel grid. The reconstruction is scaled to cover the requested size and center-cropped to it, so the result is exactly the size asked for and never stretched, and the intrinsics are updated with it -- unprojecting the returned depth with the returned camera gives the same geometry either way. A requested aspect that differs from the
|
|
1586
|
-
* @default [
|
|
1587
|
-
* 1280,
|
|
1588
|
-
* 720
|
|
1589
|
-
* ]
|
|
1632
|
+
* @description Return the depth, confidence and camera intrinsics on this (width, height) pixel grid: one of 1280 by 720, 720 by 1280, 960 by 720 or 528 by 704, the grids the depth model serves. The reconstruction is scaled to cover the requested size and center-cropped to it, so the result is exactly the size asked for and never stretched, and the intrinsics are updated with it -- unprojecting the returned depth with the returned camera gives the same geometry either way. A requested aspect that differs from the frames' costs field of view, since the crop is what makes the size exact, and centroidWorld then describes the cropped view. Omit it (or pass null) and a multi-view capture with camera translation comes back on whichever of those four grids is closest in aspect to the frames: smaller frames are scaled up onto it, and other aspects (square or 3:2, for example) are center-cropped onto the closest one, with squares going to 960 by 720. A single image or a capture without camera translation comes back on the reconstruction backend's native grid. Set it when a later step needs a particular grid: atlasGenerate, for example, needs context frames with the same aspect as its target cameras.
|
|
1590
1633
|
*/
|
|
1591
1634
|
targetResolution?: [
|
|
1592
1635
|
number,
|
|
@@ -1790,6 +1833,40 @@ export interface components {
|
|
|
1790
1833
|
*/
|
|
1791
1834
|
zMax: number;
|
|
1792
1835
|
};
|
|
1836
|
+
/**
|
|
1837
|
+
* MaskedLinearDepthBufferAsset
|
|
1838
|
+
* @description Linear-depth EXR plus an optional mask.
|
|
1839
|
+
*/
|
|
1840
|
+
MaskedLinearDepthBufferAsset: {
|
|
1841
|
+
/** @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. */
|
|
1842
|
+
confidenceAsset?: components["schemas"]["TaskAsset"] | null;
|
|
1843
|
+
/** @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. */
|
|
1844
|
+
maskAsset?: components["schemas"]["TaskAsset"] | null;
|
|
1845
|
+
/** @description EXR of linear depth in world units, as a URL or inline asset. */
|
|
1846
|
+
depthAsset: components["schemas"]["TaskAsset"];
|
|
1847
|
+
};
|
|
1848
|
+
/**
|
|
1849
|
+
* MaskedLogDepthBufferAsset
|
|
1850
|
+
* @description Inverted log-depth PNG plus its decode range and an optional mask.
|
|
1851
|
+
*/
|
|
1852
|
+
MaskedLogDepthBufferAsset: {
|
|
1853
|
+
/** @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. */
|
|
1854
|
+
confidenceAsset?: components["schemas"]["TaskAsset"] | null;
|
|
1855
|
+
/** @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. */
|
|
1856
|
+
maskAsset?: components["schemas"]["TaskAsset"] | null;
|
|
1857
|
+
/** @description Inverted log-depth grayscale PNG, as a URL or inline asset. */
|
|
1858
|
+
logDepthAsset: components["schemas"]["TaskAsset"];
|
|
1859
|
+
/**
|
|
1860
|
+
* Zmin
|
|
1861
|
+
* @description Linear depth in world units encoded as white (1.0).
|
|
1862
|
+
*/
|
|
1863
|
+
zMin: number;
|
|
1864
|
+
/**
|
|
1865
|
+
* Zmax
|
|
1866
|
+
* @description Linear depth in world units encoded as black (>0).
|
|
1867
|
+
*/
|
|
1868
|
+
zMax: number;
|
|
1869
|
+
};
|
|
1793
1870
|
/**
|
|
1794
1871
|
* Operation
|
|
1795
1872
|
* @description An operation with its result, available through singular reads.
|
|
@@ -1907,6 +1984,28 @@ export interface components {
|
|
|
1907
1984
|
/** @description The Operation's ``error``, served the same way. */
|
|
1908
1985
|
error?: components["schemas"]["OperationError"] | null;
|
|
1909
1986
|
};
|
|
1987
|
+
/**
|
|
1988
|
+
* OrientedBoundingBox
|
|
1989
|
+
* @description A box with its own orientation, given as a pose and half-extents.
|
|
1990
|
+
*
|
|
1991
|
+
* ``frame`` carries the coordinate system the box is expressed in, so a caller
|
|
1992
|
+
* does not have to convert into whatever convention the receiver works in.
|
|
1993
|
+
* ``half_extents`` are measured along the box's own axes after that rotation, so
|
|
1994
|
+
* an axis-aligned box is one whose quaternion is identity.
|
|
1995
|
+
*/
|
|
1996
|
+
OrientedBoundingBox: {
|
|
1997
|
+
/** @description Centre and orientation of the box, with its convention. */
|
|
1998
|
+
frame: components["schemas"]["CoordinateFrame"];
|
|
1999
|
+
/**
|
|
2000
|
+
* Halfextents
|
|
2001
|
+
* @description Half the box's size along each of its own axes, in metres.
|
|
2002
|
+
*/
|
|
2003
|
+
halfExtents: [
|
|
2004
|
+
number,
|
|
2005
|
+
number,
|
|
2006
|
+
number
|
|
2007
|
+
];
|
|
2008
|
+
};
|
|
1910
2009
|
/**
|
|
1911
2010
|
* PinholeCamera
|
|
1912
2011
|
* @description A posed pinhole camera.
|
|
@@ -1942,21 +2041,128 @@ export interface components {
|
|
|
1942
2041
|
height: number;
|
|
1943
2042
|
};
|
|
1944
2043
|
/**
|
|
1945
|
-
*
|
|
1946
|
-
* @description
|
|
2044
|
+
* PosedImages2SplatsRequest
|
|
2045
|
+
* @description Body of ``POST /api/v2/tasks:posedImages2Splats``.
|
|
1947
2046
|
*/
|
|
1948
|
-
|
|
1949
|
-
/** @description Source image as a URL or inline asset, or null (depth-only). */
|
|
1950
|
-
imageAsset?: components["schemas"]["TaskAsset"] | null;
|
|
1951
|
-
/** @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. */
|
|
1952
|
-
maskAsset?: components["schemas"]["TaskAsset"] | null;
|
|
1953
|
-
/** @description Camera-to-world pose and intrinsics. */
|
|
1954
|
-
camera: components["schemas"]["PinholeCamera"];
|
|
2047
|
+
PosedImages2SplatsRequest: {
|
|
1955
2048
|
/**
|
|
1956
|
-
*
|
|
1957
|
-
* @description
|
|
2049
|
+
* Webhookurl
|
|
2050
|
+
* @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.
|
|
1958
2051
|
*/
|
|
1959
|
-
|
|
2052
|
+
webhookUrl?: string | null;
|
|
2053
|
+
/**
|
|
2054
|
+
* Purgecontentonoperationcompletion
|
|
2055
|
+
* @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.
|
|
2056
|
+
*/
|
|
2057
|
+
purgeContentOnOperationCompletion?: boolean | null;
|
|
2058
|
+
/**
|
|
2059
|
+
* Prompt
|
|
2060
|
+
* @description Optional scene description. Enhancement combines it with the input images; when omitted, enhancement captions the images.
|
|
2061
|
+
*/
|
|
2062
|
+
prompt?: string | null;
|
|
2063
|
+
/**
|
|
2064
|
+
* Enhanceprompt
|
|
2065
|
+
* @description Enhance the prompt using the context images before generation. Set false with a prepared prompt to skip enhancement and reduce latency.
|
|
2066
|
+
* @default true
|
|
2067
|
+
*/
|
|
2068
|
+
enhancePrompt?: boolean;
|
|
2069
|
+
/**
|
|
2070
|
+
* Refine
|
|
2071
|
+
* @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.
|
|
2072
|
+
* @default true
|
|
2073
|
+
*/
|
|
2074
|
+
refine?: boolean;
|
|
2075
|
+
/**
|
|
2076
|
+
* Targetsplatcounts
|
|
2077
|
+
* @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.
|
|
2078
|
+
*/
|
|
2079
|
+
targetSplatCounts?: number[] | null;
|
|
2080
|
+
/**
|
|
2081
|
+
* Regionofinterest
|
|
2082
|
+
* @description Oriented box to focus the reconstruction on, or a list of them for separate areas. Each box should enclose both the geometry of interest and the space it can be viewed from. The rest of the scene is still reconstructed from the frames. Omitted, the task covers the whole capture.
|
|
2083
|
+
*/
|
|
2084
|
+
regionOfInterest?: components["schemas"]["OrientedBoundingBox"] | components["schemas"]["OrientedBoundingBox"][] | null;
|
|
2085
|
+
/**
|
|
2086
|
+
* Debug
|
|
2087
|
+
* @description Flag for custom debug behavior. Currently has no effect on the pipeline.
|
|
2088
|
+
* @default false
|
|
2089
|
+
*/
|
|
2090
|
+
debug?: boolean;
|
|
2091
|
+
/**
|
|
2092
|
+
* Posedframes
|
|
2093
|
+
* @description Ordered posed RGBD frames (2 to 512): 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). Every camera grid must be 1280x720, 720x1280, 960x720, or 528x704 (width x height), and all frames must use the same grid. RGB images are resampled to the camera grid.
|
|
2094
|
+
*/
|
|
2095
|
+
posedFrames: components["schemas"]["PosedRGBDAsset"][];
|
|
2096
|
+
};
|
|
2097
|
+
/**
|
|
2098
|
+
* PosedImages2SplatsResponse
|
|
2099
|
+
* @description Public response projected into the completed Operation.
|
|
2100
|
+
*
|
|
2101
|
+
* Each splat is a bare TaskAsset, the shape the task requests take
|
|
2102
|
+
* (splats2Mesh's splatAsset), so a response feeds the next task without
|
|
2103
|
+
* translation.
|
|
2104
|
+
*/
|
|
2105
|
+
PosedImages2SplatsResponse: {
|
|
2106
|
+
/**
|
|
2107
|
+
* Refinedsplats
|
|
2108
|
+
* @description Refined splats (SPZ) keyed by splat count.
|
|
2109
|
+
*/
|
|
2110
|
+
refinedSplats?: {
|
|
2111
|
+
[key: string]: components["schemas"]["TaskAsset"];
|
|
2112
|
+
};
|
|
2113
|
+
/** @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. */
|
|
2114
|
+
draftSplat?: components["schemas"]["TaskAsset"] | null;
|
|
2115
|
+
};
|
|
2116
|
+
/**
|
|
2117
|
+
* PosedImages2SplatsResponseOperation
|
|
2118
|
+
* @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.
|
|
2119
|
+
*/
|
|
2120
|
+
PosedImages2SplatsResponseOperation: {
|
|
2121
|
+
/**
|
|
2122
|
+
* Id
|
|
2123
|
+
* @description Short operation id used in ``/operations/{operation}`` paths.
|
|
2124
|
+
*/
|
|
2125
|
+
id: string;
|
|
2126
|
+
/**
|
|
2127
|
+
* Ownerid
|
|
2128
|
+
* @description Account that owns the operation.
|
|
2129
|
+
*/
|
|
2130
|
+
ownerId: string;
|
|
2131
|
+
/**
|
|
2132
|
+
* Metadata
|
|
2133
|
+
* @description Task information and optional progress details. Use ``metadata.task`` to interpret a generic operation response, and use ``done`` to determine completion.
|
|
2134
|
+
*/
|
|
2135
|
+
metadata?: {
|
|
2136
|
+
[key: string]: unknown;
|
|
2137
|
+
} | null;
|
|
2138
|
+
/**
|
|
2139
|
+
* Done
|
|
2140
|
+
* @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
|
|
2141
|
+
*/
|
|
2142
|
+
done: boolean;
|
|
2143
|
+
/** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
|
|
2144
|
+
error?: components["schemas"]["OperationError"] | null;
|
|
2145
|
+
/**
|
|
2146
|
+
* Expiresatsecs
|
|
2147
|
+
* @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
|
|
2148
|
+
*/
|
|
2149
|
+
expiresAtSecs?: number | null;
|
|
2150
|
+
/**
|
|
2151
|
+
* Createdatsecs
|
|
2152
|
+
* @description Unix seconds when the operation was accepted.
|
|
2153
|
+
*/
|
|
2154
|
+
createdAtSecs?: number | null;
|
|
2155
|
+
/** @description ``PosedImages2SplatsResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
|
|
2156
|
+
response?: components["schemas"]["PosedImages2SplatsResponse"] | null;
|
|
2157
|
+
/**
|
|
2158
|
+
* Name
|
|
2159
|
+
* @description Full resource name for the operation.
|
|
2160
|
+
*
|
|
2161
|
+
* For project operations:
|
|
2162
|
+
* ``accounts/{account}/projects/{project}/operations/{operation}``.
|
|
2163
|
+
* Operation paths accept the short ``id``.
|
|
2164
|
+
*/
|
|
2165
|
+
readonly name: string;
|
|
1960
2166
|
};
|
|
1961
2167
|
/**
|
|
1962
2168
|
* PosedRGBAAsset
|
|
@@ -2459,6 +2665,7 @@ export type AssetPart = components['schemas']['AssetPart'];
|
|
|
2459
2665
|
export type AssetPartDeclaration = components['schemas']['AssetPartDeclaration'];
|
|
2460
2666
|
export type AssetProducer = components['schemas']['AssetProducer'];
|
|
2461
2667
|
export type AssetState = components['schemas']['AssetState'];
|
|
2668
|
+
export type AtlasChiselContextFrameAsset = components['schemas']['AtlasChiselContextFrameAsset'];
|
|
2462
2669
|
export type AtlasChiselModelParameters = components['schemas']['AtlasChiselModelParameters'];
|
|
2463
2670
|
export type AtlasChiselRequest = components['schemas']['AtlasChiselRequest'];
|
|
2464
2671
|
export type AtlasChiselResponse = components['schemas']['AtlasChiselResponse'];
|
|
@@ -2500,13 +2707,18 @@ export type ListAssetsResponse = components['schemas']['ListAssetsResponse'];
|
|
|
2500
2707
|
export type ListedOperation = components['schemas']['ListedOperation'];
|
|
2501
2708
|
export type ListedOperationsResponse = components['schemas']['ListedOperationsResponse'];
|
|
2502
2709
|
export type LogDepthBufferAsset = components['schemas']['LogDepthBufferAsset'];
|
|
2710
|
+
export type MaskedLinearDepthBufferAsset = components['schemas']['MaskedLinearDepthBufferAsset'];
|
|
2711
|
+
export type MaskedLogDepthBufferAsset = components['schemas']['MaskedLogDepthBufferAsset'];
|
|
2503
2712
|
export type Operation = components['schemas']['Operation'];
|
|
2504
2713
|
export type OperationError = components['schemas']['OperationError'];
|
|
2505
2714
|
export type OperationStatus = components['schemas']['OperationStatus'];
|
|
2506
2715
|
export type OperationTrace = components['schemas']['OperationTrace'];
|
|
2716
|
+
export type OrientedBoundingBox = components['schemas']['OrientedBoundingBox'];
|
|
2507
2717
|
export type PinholeCamera = components['schemas']['PinholeCamera'];
|
|
2508
2718
|
export type PinholeCameraIntrinsics = components['schemas']['PinholeCameraIntrinsics'];
|
|
2509
|
-
export type
|
|
2719
|
+
export type PosedImages2SplatsRequest = components['schemas']['PosedImages2SplatsRequest'];
|
|
2720
|
+
export type PosedImages2SplatsResponse = components['schemas']['PosedImages2SplatsResponse'];
|
|
2721
|
+
export type PosedImages2SplatsResponseOperation = components['schemas']['PosedImages2SplatsResponseOperation'];
|
|
2510
2722
|
export type PosedRGBAAsset = components['schemas']['PosedRGBAAsset'];
|
|
2511
2723
|
export type PosedRGBAsset = components['schemas']['PosedRGBAsset'];
|
|
2512
2724
|
export type PosedRGBDAsset = components['schemas']['PosedRGBDAsset'];
|
|
@@ -2743,6 +2955,45 @@ export interface operations {
|
|
|
2743
2955
|
};
|
|
2744
2956
|
};
|
|
2745
2957
|
};
|
|
2958
|
+
submit_posedImages2Splats_api_v2_tasks_posedImages2Splats_post: {
|
|
2959
|
+
parameters: {
|
|
2960
|
+
query?: {
|
|
2961
|
+
/** @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. */
|
|
2962
|
+
wait?: boolean;
|
|
2963
|
+
};
|
|
2964
|
+
header?: {
|
|
2965
|
+
/** @description Optional idempotency key. */
|
|
2966
|
+
"Idempotency-Key"?: string | null;
|
|
2967
|
+
};
|
|
2968
|
+
path?: never;
|
|
2969
|
+
cookie?: never;
|
|
2970
|
+
};
|
|
2971
|
+
requestBody: {
|
|
2972
|
+
content: {
|
|
2973
|
+
"application/json": components["schemas"]["PosedImages2SplatsRequest"];
|
|
2974
|
+
};
|
|
2975
|
+
};
|
|
2976
|
+
responses: {
|
|
2977
|
+
/** @description Successful Response */
|
|
2978
|
+
201: {
|
|
2979
|
+
headers: {
|
|
2980
|
+
[name: string]: unknown;
|
|
2981
|
+
};
|
|
2982
|
+
content: {
|
|
2983
|
+
"application/json": components["schemas"]["PosedImages2SplatsResponseOperation"];
|
|
2984
|
+
};
|
|
2985
|
+
};
|
|
2986
|
+
/** @description Validation Error */
|
|
2987
|
+
422: {
|
|
2988
|
+
headers: {
|
|
2989
|
+
[name: string]: unknown;
|
|
2990
|
+
};
|
|
2991
|
+
content: {
|
|
2992
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
2993
|
+
};
|
|
2994
|
+
};
|
|
2995
|
+
};
|
|
2996
|
+
};
|
|
2746
2997
|
submit_splats2Mesh_api_v2_tasks_splats2Mesh_post: {
|
|
2747
2998
|
parameters: {
|
|
2748
2999
|
query?: {
|
|
@@ -13,6 +13,8 @@ import type {
|
|
|
13
13
|
AtlasTextToImageResponseOperation,
|
|
14
14
|
Images2PosedRGBDRequest,
|
|
15
15
|
Images2PosedRGBDResponseOperation,
|
|
16
|
+
PosedImages2SplatsRequest,
|
|
17
|
+
PosedImages2SplatsResponseOperation,
|
|
16
18
|
Splats2MeshRequest,
|
|
17
19
|
Splats2MeshResponseOperation,
|
|
18
20
|
} from "./developer-api.gen.ts";
|
|
@@ -94,6 +96,20 @@ export const createTasks = (transport: Transport) => ({
|
|
|
94
96
|
images2PosedRGBD: async (body: Images2PosedRGBDRequest, options?: SubmitOptions) =>
|
|
95
97
|
await submitTask<Images2PosedRGBDResponseOperation>(transport, "/api/v2/tasks:images2PosedRGBD", body, options),
|
|
96
98
|
|
|
99
|
+
/**
|
|
100
|
+
* Submit the posedImages2Splats task
|
|
101
|
+
* Retries network failures and HTTP 429/502/503/504 up to three times with the same key and body.
|
|
102
|
+
*
|
|
103
|
+
* @param body - Task inputs and settings.
|
|
104
|
+
* @param options - Abort signal, idempotency key, and server-wait preference.
|
|
105
|
+
* @returns An operation to pass to `client.operations.wait` for the typed result.
|
|
106
|
+
* Check the completed operation's `error` before reading its `response`.
|
|
107
|
+
* @throws {ApiError} If the API rejects the submission or retries are exhausted.
|
|
108
|
+
* @beta Requires beta access for your account.
|
|
109
|
+
*/
|
|
110
|
+
posedImages2Splats: async (body: PosedImages2SplatsRequest, options?: SubmitOptions) =>
|
|
111
|
+
await submitTask<PosedImages2SplatsResponseOperation>(transport, "/api/v2/tasks:posedImages2Splats", body, options),
|
|
112
|
+
|
|
97
113
|
/**
|
|
98
114
|
* Submit the splats2Mesh task
|
|
99
115
|
* Retries network failures and HTTP 429/502/503/504 up to three times with the same key and body.
|
package/src/version.ts
ADDED