@worldlabsai/client 0.3.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.
Files changed (42) hide show
  1. package/README.md +18 -8
  2. package/dist/core/assets.d.ts +4 -0
  3. package/dist/core/assets.d.ts.map +1 -1
  4. package/dist/core/index.d.ts +1 -0
  5. package/dist/core/index.d.ts.map +1 -1
  6. package/dist/core/index.js +1 -0
  7. package/dist/core/index.js.map +1 -1
  8. package/dist/core/network-error.d.ts +6 -0
  9. package/dist/core/network-error.d.ts.map +1 -0
  10. package/dist/core/network-error.js +8 -0
  11. package/dist/core/network-error.js.map +1 -0
  12. package/dist/core/operations.d.ts +3 -0
  13. package/dist/core/operations.d.ts.map +1 -1
  14. package/dist/core/operations.js +5 -0
  15. package/dist/core/operations.js.map +1 -1
  16. package/dist/core/tasks.d.ts +6 -6
  17. package/dist/core/tasks.d.ts.map +1 -1
  18. package/dist/core/tasks.js +5 -5
  19. package/dist/core/tasks.js.map +1 -1
  20. package/dist/core/transport.d.ts +1 -1
  21. package/dist/core/transport.d.ts.map +1 -1
  22. package/dist/core/transport.js +44 -21
  23. package/dist/core/transport.js.map +1 -1
  24. package/dist/generated/developer-api.gen.d.ts +328 -78
  25. package/dist/generated/developer-api.gen.d.ts.map +1 -1
  26. package/dist/generated/tasks.gen.d.ts +30 -6
  27. package/dist/generated/tasks.gen.d.ts.map +1 -1
  28. package/dist/generated/tasks.gen.js +12 -0
  29. package/dist/generated/tasks.gen.js.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -1
  33. package/dist/index.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/core/index.ts +1 -0
  36. package/src/core/network-error.ts +8 -0
  37. package/src/core/operations.ts +6 -0
  38. package/src/core/tasks.ts +7 -7
  39. package/src/core/transport.ts +61 -24
  40. package/src/generated/developer-api.gen.ts +328 -78
  41. package/src/generated/tasks.gen.ts +16 -0
  42. package/src/index.ts +1 -0
@@ -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;
@@ -429,6 +446,11 @@ export interface components {
429
446
  * @description Already percent-encoded path for the asset. Append it unchanged to ``baseUrl`` before ``?`` and ``signedQuery``. This path does not grant access by itself. Null until the asset is ``READY`` or when unavailable; use ``assets/{asset}:createReadUrl`` as a fallback.
430
447
  */
431
448
  contentPath?: string | null;
449
+ /**
450
+ * Url
451
+ * @description Unsigned content URL for the asset, ``baseUrl + contentPath``. It does not grant access by itself: the web app's read-prefix cookie authorizes it, and an API client appends ``?`` and a read prefix's ``signedQuery`` or uses ``assets/{asset}:createReadUrl`` instead. Null whenever ``contentPath`` is.
452
+ */
453
+ url?: string | null;
432
454
  };
433
455
  /**
434
456
  * AssetCreate
@@ -485,7 +507,7 @@ export interface components {
485
507
  operation: string;
486
508
  /**
487
509
  * Task
488
- * @description The task that produced them, e.g. ``image2DraftSplats``.
510
+ * @description The task that produced them, e.g. ``atlasGenerate``.
489
511
  */
490
512
  task?: string | null;
491
513
  /** Assets */
@@ -601,20 +623,37 @@ export interface components {
601
623
  * @enum {string}
602
624
  */
603
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
+ };
604
643
  /**
605
644
  * AtlasChiselModelParameters
606
- * @description Model-specific parameters forwarded to the atlasChisel servable.
645
+ * @description Sampling controls for atlasChisel.
607
646
  */
608
647
  AtlasChiselModelParameters: {
609
648
  /**
610
649
  * Seed
611
- * @description RNG seed forwarded to the servable when set.
650
+ * @description Random seed for image generation.
612
651
  * @default 42
613
652
  */
614
653
  seed?: number | null;
615
654
  /**
616
655
  * Numsteps
617
- * @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.
618
657
  */
619
658
  numSteps?: number | null;
620
659
  };
@@ -635,9 +674,16 @@ export interface components {
635
674
  purgeContentOnOperationCompletion?: boolean | null;
636
675
  /**
637
676
  * Contextframes
638
- * @description Posed depth frames, one per target camera and posed at it, in target order; each camera is 1280x720. Depth only: frames carry no imageAsset, maskAsset, or 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.
639
678
  */
640
- contextFrames?: components["schemas"]["PosedDepthAsset"][];
679
+ contextFrames?: components["schemas"]["AtlasChiselContextFrameAsset"][];
680
+ /**
681
+ * Sourceframes
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.
683
+ */
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;
641
687
  /**
642
688
  * Targetcameras
643
689
  * @description Pinhole cameras at 1280x720 for the views to generate, in output order, returned in `frames`. At most 32.
@@ -650,25 +696,25 @@ export interface components {
650
696
  prompt: string;
651
697
  /**
652
698
  * Enhanceprompt
653
- * @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.
654
700
  * @default true
655
701
  */
656
702
  enhancePrompt?: boolean;
657
703
  /**
658
704
  * Voxelsize
659
- * @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.
660
706
  */
661
707
  voxelSize?: number | null;
662
708
  /**
663
709
  * Voxelgridorientation
664
- * @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.
665
711
  */
666
712
  voxelGridOrientation?: ("world" | "gauge") | null;
667
713
  /** @description Model-specific parameters for atlasChisel. */
668
714
  modelParameters?: components["schemas"]["AtlasChiselModelParameters"];
669
715
  /**
670
716
  * Returndepth
671
- * @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. Needs at least two target cameras. Limitation: the depth scale is recovered from the target cameras' centres, so targets that share one centre (a pure-rotation rig) come back with a 0.0 or NaN scale and a success status.
717
+ * @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. A source photograph joins the reconstruction as an anchor, and gets no depth back, only when its image is at the generated resolution and its camera's principal point is centered. Needs at least two 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 no anchor come back with a 0.0 or NaN scale and a success status.
672
718
  * @default false
673
719
  */
674
720
  returnDepth?: boolean;
@@ -690,7 +736,7 @@ export interface components {
690
736
  promptUsed?: string | null;
691
737
  /**
692
738
  * Requestid
693
- * @description Meridian request id from servable runtime metadata.
739
+ * @description Generation request ID for troubleshooting.
694
740
  */
695
741
  requestId?: string | null;
696
742
  };
@@ -718,13 +764,11 @@ export interface components {
718
764
  } | null;
719
765
  /**
720
766
  * Done
721
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
767
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
722
768
  */
723
769
  done: boolean;
724
770
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
725
771
  error?: components["schemas"]["OperationError"] | null;
726
- /** @description ``AtlasChiselResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
727
- response?: components["schemas"]["AtlasChiselResponse"] | null;
728
772
  /**
729
773
  * Expiresatsecs
730
774
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -735,6 +779,8 @@ export interface components {
735
779
  * @description Unix seconds when the operation was accepted.
736
780
  */
737
781
  createdAtSecs?: number | null;
782
+ /** @description ``AtlasChiselResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
783
+ response?: components["schemas"]["AtlasChiselResponse"] | null;
738
784
  /**
739
785
  * Name
740
786
  * @description Full resource name for the operation.
@@ -747,18 +793,18 @@ export interface components {
747
793
  };
748
794
  /**
749
795
  * AtlasGenerateModelParameters
750
- * @description Model-specific parameters forwarded to the atlasGenerate servable.
796
+ * @description Sampling controls for atlasGenerate.
751
797
  */
752
798
  AtlasGenerateModelParameters: {
753
799
  /**
754
800
  * Seed
755
- * @description RNG seed forwarded to the servable when set.
801
+ * @description Random seed for image generation.
756
802
  * @default 42
757
803
  */
758
804
  seed?: number | null;
759
805
  /**
760
806
  * Numsteps
761
- * @description Diffusion step-count override.
807
+ * @description Number of denoising steps. Omit to use the model's default.
762
808
  */
763
809
  numSteps?: number | null;
764
810
  };
@@ -777,9 +823,15 @@ export interface components {
777
823
  * @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.
778
824
  */
779
825
  purgeContentOnOperationCompletion?: boolean | null;
826
+ /**
827
+ * Base64Outputs
828
+ * @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.
829
+ * @default false
830
+ */
831
+ base64Outputs?: boolean;
780
832
  /**
781
833
  * Contextframes
782
- * @description Posed RGBD context views: each an image, its depth buffer, and its camera, all required. 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.
783
835
  */
784
836
  contextFrames: components["schemas"]["PosedRGBDAsset"][];
785
837
  /**
@@ -794,13 +846,13 @@ export interface components {
794
846
  prompt?: string | null;
795
847
  /**
796
848
  * Enhanceprompt
797
- * @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.
798
850
  * @default true
799
851
  */
800
852
  enhancePrompt?: boolean;
801
853
  /**
802
854
  * Returndepth
803
- * @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. A context frame joins that reconstruction only when its image is at the generated resolution and its camera's principal point is centered. The scale is recovered from the camera centres that joined, so a request whose joined cameras all share one centre (a pure-rotation rig) is rejected.
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.
804
856
  * @default false
805
857
  */
806
858
  returnDepth?: boolean;
@@ -824,7 +876,7 @@ export interface components {
824
876
  promptUsed?: string | null;
825
877
  /**
826
878
  * Requestid
827
- * @description Meridian request id from servable runtime metadata.
879
+ * @description Generation request ID for troubleshooting.
828
880
  */
829
881
  requestId?: string | null;
830
882
  };
@@ -852,13 +904,11 @@ export interface components {
852
904
  } | null;
853
905
  /**
854
906
  * Done
855
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
907
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
856
908
  */
857
909
  done: boolean;
858
910
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
859
911
  error?: components["schemas"]["OperationError"] | null;
860
- /** @description ``AtlasGenerateResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
861
- response?: components["schemas"]["AtlasGenerateResponse"] | null;
862
912
  /**
863
913
  * Expiresatsecs
864
914
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -869,6 +919,8 @@ export interface components {
869
919
  * @description Unix seconds when the operation was accepted.
870
920
  */
871
921
  createdAtSecs?: number | null;
922
+ /** @description ``AtlasGenerateResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
923
+ response?: components["schemas"]["AtlasGenerateResponse"] | null;
872
924
  /**
873
925
  * Name
874
926
  * @description Full resource name for the operation.
@@ -881,12 +933,12 @@ export interface components {
881
933
  };
882
934
  /**
883
935
  * AtlasMaskedModelParameters
884
- * @description Model-specific parameters forwarded to the atlasMasked servable.
936
+ * @description Sampling controls for atlasMasked.
885
937
  */
886
938
  AtlasMaskedModelParameters: {
887
939
  /**
888
940
  * Seed
889
- * @description RNG seed forwarded to the servable when set.
941
+ * @description Random seed for image generation.
890
942
  * @default 42
891
943
  */
892
944
  seed?: number | null;
@@ -919,7 +971,7 @@ export interface components {
919
971
  contextFrames: components["schemas"]["PosedRGBAAsset"][];
920
972
  /**
921
973
  * Targetcameras
922
- * @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.
923
975
  */
924
976
  targetCameras: components["schemas"]["PinholeCamera"][];
925
977
  /**
@@ -959,7 +1011,7 @@ export interface components {
959
1011
  promptUsed?: string | null;
960
1012
  /**
961
1013
  * Requestid
962
- * @description Meridian request id from servable runtime metadata.
1014
+ * @description Generation request ID for troubleshooting.
963
1015
  */
964
1016
  requestId?: string | null;
965
1017
  };
@@ -987,13 +1039,11 @@ export interface components {
987
1039
  } | null;
988
1040
  /**
989
1041
  * Done
990
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1042
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
991
1043
  */
992
1044
  done: boolean;
993
1045
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
994
1046
  error?: components["schemas"]["OperationError"] | null;
995
- /** @description ``AtlasMaskedResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
996
- response?: components["schemas"]["AtlasMaskedResponse"] | null;
997
1047
  /**
998
1048
  * Expiresatsecs
999
1049
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1004,6 +1054,8 @@ export interface components {
1004
1054
  * @description Unix seconds when the operation was accepted.
1005
1055
  */
1006
1056
  createdAtSecs?: number | null;
1057
+ /** @description ``AtlasMaskedResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1058
+ response?: components["schemas"]["AtlasMaskedResponse"] | null;
1007
1059
  /**
1008
1060
  * Name
1009
1061
  * @description Full resource name for the operation.
@@ -1079,9 +1131,14 @@ export interface components {
1079
1131
  frames: components["schemas"]["FrameRGBAsset"][];
1080
1132
  /**
1081
1133
  * Promptused
1082
- * @description Final prompt supplied to inference, if any.
1134
+ * @description Final prompt for the first output image, if any. See promptsUsed for all images.
1083
1135
  */
1084
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[];
1085
1142
  /**
1086
1143
  * Aspectratio
1087
1144
  * @description Resolved width-to-height ratio used for generation.
@@ -1112,13 +1169,11 @@ export interface components {
1112
1169
  } | null;
1113
1170
  /**
1114
1171
  * Done
1115
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1172
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1116
1173
  */
1117
1174
  done: boolean;
1118
1175
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1119
1176
  error?: components["schemas"]["OperationError"] | null;
1120
- /** @description ``AtlasTextToImageResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1121
- response?: components["schemas"]["AtlasTextToImageResponse"] | null;
1122
1177
  /**
1123
1178
  * Expiresatsecs
1124
1179
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1129,6 +1184,8 @@ export interface components {
1129
1184
  * @description Unix seconds when the operation was accepted.
1130
1185
  */
1131
1186
  createdAtSecs?: number | null;
1187
+ /** @description ``AtlasTextToImageResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1188
+ response?: components["schemas"]["AtlasTextToImageResponse"] | null;
1132
1189
  /**
1133
1190
  * Name
1134
1191
  * @description Full resource name for the operation.
@@ -1354,6 +1411,11 @@ export interface components {
1354
1411
  * @description Already percent-encoded path for the asset. Append it unchanged to ``baseUrl`` before ``?`` and ``signedQuery``. This path does not grant access by itself. Null until the asset is ``READY`` or when unavailable; use ``assets/{asset}:createReadUrl`` as a fallback.
1355
1412
  */
1356
1413
  contentPath?: string | null;
1414
+ /**
1415
+ * Url
1416
+ * @description Unsigned content URL for the asset, ``baseUrl + contentPath``. It does not grant access by itself: the web app's read-prefix cookie authorizes it, and an API client appends ``?`` and a read prefix's ``signedQuery`` or uses ``assets/{asset}:createReadUrl`` instead. Null whenever ``contentPath`` is.
1417
+ */
1418
+ url?: string | null;
1357
1419
  /**
1358
1420
  * Uploads
1359
1421
  * @description One grant per declared part; empty for URL or inline ingestion.
@@ -1541,6 +1603,12 @@ export interface components {
1541
1603
  * @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.
1542
1604
  */
1543
1605
  purgeContentOnOperationCompletion?: boolean | null;
1606
+ /**
1607
+ * Base64Outputs
1608
+ * @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.
1609
+ * @default false
1610
+ */
1611
+ base64Outputs?: boolean;
1544
1612
  /**
1545
1613
  * Frames
1546
1614
  * @description Ordered image inputs (min 1). A frame that carries a camera, a depth buffer or a mask is rejected rather than quietly ignored: none of them reaches the reconstruction.
@@ -1611,13 +1679,11 @@ export interface components {
1611
1679
  } | null;
1612
1680
  /**
1613
1681
  * Done
1614
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1682
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1615
1683
  */
1616
1684
  done: boolean;
1617
1685
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1618
1686
  error?: components["schemas"]["OperationError"] | null;
1619
- /** @description ``Images2PosedRGBDResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1620
- response?: components["schemas"]["Images2PosedRGBDResponse"] | null;
1621
1687
  /**
1622
1688
  * Expiresatsecs
1623
1689
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1628,6 +1694,8 @@ export interface components {
1628
1694
  * @description Unix seconds when the operation was accepted.
1629
1695
  */
1630
1696
  createdAtSecs?: number | null;
1697
+ /** @description ``Images2PosedRGBDResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
1698
+ response?: components["schemas"]["Images2PosedRGBDResponse"] | null;
1631
1699
  /**
1632
1700
  * Name
1633
1701
  * @description Full resource name for the operation.
@@ -1677,7 +1745,7 @@ export interface components {
1677
1745
  };
1678
1746
  /**
1679
1747
  * ListedOperation
1680
- * @description An Operation as the Marble API lists it: with its callback's progress.
1748
+ * @description An operation summary with callback progress; GET it for the result.
1681
1749
  */
1682
1750
  ListedOperation: {
1683
1751
  /**
@@ -1699,18 +1767,11 @@ export interface components {
1699
1767
  } | null;
1700
1768
  /**
1701
1769
  * Done
1702
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1770
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1703
1771
  */
1704
1772
  done: boolean;
1705
1773
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1706
1774
  error?: components["schemas"]["OperationError"] | null;
1707
- /**
1708
- * Response
1709
- * @description Task-specific result when ``done`` is true and the task succeeded; null while running and after failure.
1710
- */
1711
- response?: {
1712
- [key: string]: unknown;
1713
- } | null;
1714
1775
  /**
1715
1776
  * Expiresatsecs
1716
1777
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1769,9 +1830,43 @@ export interface components {
1769
1830
  */
1770
1831
  zMax: number;
1771
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
+ };
1772
1867
  /**
1773
1868
  * Operation
1774
- * @description The common envelope used to track an asynchronous task.
1869
+ * @description An operation with its result, available through singular reads.
1775
1870
  */
1776
1871
  Operation: {
1777
1872
  /**
@@ -1793,18 +1888,11 @@ export interface components {
1793
1888
  } | null;
1794
1889
  /**
1795
1890
  * Done
1796
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
1891
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
1797
1892
  */
1798
1893
  done: boolean;
1799
1894
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
1800
1895
  error?: components["schemas"]["OperationError"] | null;
1801
- /**
1802
- * Response
1803
- * @description Task-specific result when ``done`` is true and the task succeeded; null while running and after failure.
1804
- */
1805
- response?: {
1806
- [key: string]: unknown;
1807
- } | null;
1808
1896
  /**
1809
1897
  * Expiresatsecs
1810
1898
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -1815,6 +1903,13 @@ export interface components {
1815
1903
  * @description Unix seconds when the operation was accepted.
1816
1904
  */
1817
1905
  createdAtSecs?: number | null;
1906
+ /**
1907
+ * Response
1908
+ * @description Task-specific result when ``done`` is true and the task succeeded; null while running and after failure.
1909
+ */
1910
+ response?: {
1911
+ [key: string]: unknown;
1912
+ } | null;
1818
1913
  /**
1819
1914
  * Name
1820
1915
  * @description Full resource name for the operation.
@@ -1921,21 +2016,123 @@ export interface components {
1921
2016
  height: number;
1922
2017
  };
1923
2018
  /**
1924
- * PosedDepthAsset
1925
- * @description A posed depth-only frame: a depth buffer with its camera.
2019
+ * PosedImages2SplatsRequest
2020
+ * @description Body of ``POST /api/v2/tasks:posedImages2Splats``.
1926
2021
  */
1927
- PosedDepthAsset: {
1928
- /** @description Source image as a URL or inline asset, or null (depth-only). */
1929
- imageAsset?: components["schemas"]["TaskAsset"] | null;
1930
- /** @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. */
1931
- maskAsset?: components["schemas"]["TaskAsset"] | null;
1932
- /** @description Camera-to-world pose and intrinsics. */
1933
- camera: components["schemas"]["PinholeCamera"];
2022
+ PosedImages2SplatsRequest: {
1934
2023
  /**
1935
- * Depth
1936
- * @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.
1937
2026
  */
1938
- 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;
1939
2136
  };
1940
2137
  /**
1941
2138
  * PosedRGBAAsset
@@ -2014,7 +2211,7 @@ export interface components {
2014
2211
  session?: string | null;
2015
2212
  /**
2016
2213
  * Task
2017
- * @description The task that produced it, e.g. ``image2DraftSplats``.
2214
+ * @description The task that produced it, e.g. ``atlasGenerate``.
2018
2215
  */
2019
2216
  task?: string | null;
2020
2217
  /**
@@ -2042,8 +2239,8 @@ export interface components {
2042
2239
  renderHw?: number;
2043
2240
  /**
2044
2241
  * Renderhwsecondary
2045
- * @description Height and width of the secondary views, in pixels. The anchor strategies sample extra cameras around each anchor and render them here, covering what the main views miss. `exterior_sphere` and a supplied camera list render no secondary views and ignore this.
2046
- * @default 640
2242
+ * @description Height and width of the secondary views, in pixels. The anchor strategies place extra cameras from the anchors and render them here, covering what the main views miss. `exterior_sphere` and a supplied camera list render no secondary views and ignore this.
2243
+ * @default 256
2047
2244
  */
2048
2245
  renderHwSecondary?: number;
2049
2246
  /**
@@ -2053,6 +2250,13 @@ export interface components {
2053
2250
  * @enum {string}
2054
2251
  */
2055
2252
  normalSource?: "depth" | "render";
2253
+ /**
2254
+ * Depthsource
2255
+ * @description Depth of the main views. `render` uses the splats' rendered depth; `stereo` measures it by stereo matching each view against a second render from a camera shifted sideways, which is sharper where the splats are fuzzy and slower to compute. Pixels stereo cannot match keep the rendered depth.
2256
+ * @default render
2257
+ * @enum {string}
2258
+ */
2259
+ depthSource?: "render" | "stereo";
2056
2260
  /**
2057
2261
  * Resolution
2058
2262
  * @description Resolution of the grid the implicit surface is built on, across the region's longest side. Powers of two only. This sets the finest detail the mesh can carry.
@@ -2194,13 +2398,11 @@ export interface components {
2194
2398
  } | null;
2195
2399
  /**
2196
2400
  * Done
2197
- * @description Whether the operation is terminal. When false, both ``response`` and ``error`` are null.
2401
+ * @description Whether the operation is terminal. When true, a non-null ``error`` indicates failure; otherwise the operation succeeded.
2198
2402
  */
2199
2403
  done: boolean;
2200
2404
  /** @description Failure details when ``done`` is true and the task failed; null while running and after success. */
2201
2405
  error?: components["schemas"]["OperationError"] | null;
2202
- /** @description ``Splats2MeshResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
2203
- response?: components["schemas"]["Splats2MeshResponse"] | null;
2204
2406
  /**
2205
2407
  * Expiresatsecs
2206
2408
  * @description Task execution deadline as Unix seconds, when one is exposed. This is not an asset URL expiration.
@@ -2211,6 +2413,8 @@ export interface components {
2211
2413
  * @description Unix seconds when the operation was accepted.
2212
2414
  */
2213
2415
  createdAtSecs?: number | null;
2416
+ /** @description ``Splats2MeshResponse`` result when ``done`` is true and the task succeeded; null while running and after failure. */
2417
+ response?: components["schemas"]["Splats2MeshResponse"] | null;
2214
2418
  /**
2215
2419
  * Name
2216
2420
  * @description Full resource name for the operation.
@@ -2228,7 +2432,9 @@ export interface components {
2228
2432
  * A task response names each output by id and url together: the url expires,
2229
2433
  * the id does not. The pair is accepted as input as well, so a response can
2230
2434
  * be handed straight back to the next task; the id names the media and the
2231
- * url is ignored. Inline base64 is an input form only, and stands alone.
2435
+ * url is ignored. Inline base64 stands alone. A response returns it only
2436
+ * when a task is answered at submission; the stored operation names the
2437
+ * same output by id and url.
2232
2438
  */
2233
2439
  TaskAsset: {
2234
2440
  /**
@@ -2238,7 +2444,7 @@ export interface components {
2238
2444
  assetId?: string | null;
2239
2445
  /**
2240
2446
  * Base64
2241
- * @description Base64-encoded media bytes, with or without a data URL prefix. Decoded size must be less than 10 MiB. Input only: a task response never carries inline bytes.
2447
+ * @description Base64-encoded media bytes, with or without a data URL prefix. Decoded size must be less than 10 MiB. A task response carries inline bytes only when it is returned from the submission; the stored operation names the same output by `assetId` and `url`.
2242
2448
  */
2243
2449
  base64?: string | null;
2244
2450
  /**
@@ -2429,6 +2635,7 @@ export type AssetPart = components['schemas']['AssetPart'];
2429
2635
  export type AssetPartDeclaration = components['schemas']['AssetPartDeclaration'];
2430
2636
  export type AssetProducer = components['schemas']['AssetProducer'];
2431
2637
  export type AssetState = components['schemas']['AssetState'];
2638
+ export type AtlasChiselContextFrameAsset = components['schemas']['AtlasChiselContextFrameAsset'];
2432
2639
  export type AtlasChiselModelParameters = components['schemas']['AtlasChiselModelParameters'];
2433
2640
  export type AtlasChiselRequest = components['schemas']['AtlasChiselRequest'];
2434
2641
  export type AtlasChiselResponse = components['schemas']['AtlasChiselResponse'];
@@ -2470,13 +2677,17 @@ export type ListAssetsResponse = components['schemas']['ListAssetsResponse'];
2470
2677
  export type ListedOperation = components['schemas']['ListedOperation'];
2471
2678
  export type ListedOperationsResponse = components['schemas']['ListedOperationsResponse'];
2472
2679
  export type LogDepthBufferAsset = components['schemas']['LogDepthBufferAsset'];
2680
+ export type MaskedLinearDepthBufferAsset = components['schemas']['MaskedLinearDepthBufferAsset'];
2681
+ export type MaskedLogDepthBufferAsset = components['schemas']['MaskedLogDepthBufferAsset'];
2473
2682
  export type Operation = components['schemas']['Operation'];
2474
2683
  export type OperationError = components['schemas']['OperationError'];
2475
2684
  export type OperationStatus = components['schemas']['OperationStatus'];
2476
2685
  export type OperationTrace = components['schemas']['OperationTrace'];
2477
2686
  export type PinholeCamera = components['schemas']['PinholeCamera'];
2478
2687
  export type PinholeCameraIntrinsics = components['schemas']['PinholeCameraIntrinsics'];
2479
- 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'];
2480
2691
  export type PosedRGBAAsset = components['schemas']['PosedRGBAAsset'];
2481
2692
  export type PosedRGBAsset = components['schemas']['PosedRGBAsset'];
2482
2693
  export type PosedRGBDAsset = components['schemas']['PosedRGBDAsset'];
@@ -2713,6 +2924,45 @@ export interface operations {
2713
2924
  };
2714
2925
  };
2715
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
+ };
2716
2966
  submit_splats2Mesh_api_v2_tasks_splats2Mesh_post: {
2717
2967
  parameters: {
2718
2968
  query?: {
@@ -2973,7 +3223,7 @@ export interface operations {
2973
3223
  mimeType?: string | null;
2974
3224
  /** @description Only assets this Operation produced. */
2975
3225
  operation?: string | null;
2976
- /** @description Only assets this task produced, e.g. `image2DraftSplats`. */
3226
+ /** @description Only assets this task produced, e.g. `atlasGenerate`. */
2977
3227
  task?: string | null;
2978
3228
  /** @description Only assets made this way, e.g. `UPLOAD` for the customer's own bytes. Assets recorded before the producer was stored match no value. */
2979
3229
  producer?: components["schemas"]["AssetProducer"] | null;