Estimate bin contents from 3–5 photos (experimental)
Die API läuft auf deiner Anwendungsinstanz. Schemas und Feldnamen stammen unverändert aus der OpenAPI-Spezifikation. Browsergebundene Aufrufe benötigen eine Sitzung auf der Instanz.
Requires ai.count and access to input.itemId. Sends images to the configured OpenAI-compatible provider in two analysis calls. Supply input as a JSON string, including nullable containerDimensions and partDimensions. Reuse the Idempotency-Key only for the same request. An estimate may be null; no stock is booked. Accuracy is not validated.
bearerAuthAuthentifizierungBearer <inv_ token>X-Organization-ID?stringOrganization membership selected for this request. User-bound credentials may select any active membership; standalone tokens may only repeat their pinned organization ID.
uuidIdempotency-Key*stringUUID identifying this atomic operation; reuse it only to retry the exact same request.
uuidmultipart/form-data- body
input*stringJSON-encoded BulkCountInput; see the matching schema.
images*array<>Distinct views of the same unchanged bin; at most 8 MiB per image.
3 <= items <= 5Estimate with assumptions, or no usable estimate.
application/json- response
Experimental, uncalibrated estimate. estimate can be null when evidence is insufficient. The range is not a confidence interval. This response never books stock.
estimate*|nullvisibility*string"mostly_visible""partial_layers""surface_only""unclear"explanation*string1 <= length <= 1500assumptions*array<>items <= 6warnings*array<>items <= 6captureAdvice*array<>items <= 4method*stringisExact*booleanaccuracyValidated*booleanmodel*string1 <= length <= 200analysis?curl -X POST 'https://inventory.example.com/api/v1/ai/count/bulk' \ -H 'Idempotency-Key: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -F 'input=string' \ -F 'images=[ "string", "string", "string"]'{ "estimate": { "count": 0, "lowerBound": 0, "upperBound": 0 }, "visibility": "mostly_visible", "explanation": "string", "assumptions": [ "string" ], "warnings": [ "string" ], "captureAdvice": [ "string" ], "method": "bulk_visual", "isExact": false, "accuracyValidated": false, "model": "string", "analysis": { "version": "bulk_visual_v3", "agreement": "overlap", "methods": [ { "strategy": "layers", "estimate": { "count": 0, "lowerBound": 0, "upperBound": 0 }, "observation": { "status": "estimated", "depthEvidence": "observed", "visibleMinimum": 0, "views": [ { "image": 1, "evidence": "string" }, { "image": 1, "evidence": "string" }, { "image": 1, "evidence": "string" } ], "factorA": { "low": 1, "best": 1, "high": 1 }, "factorB": { "low": 1, "best": 1, "high": 1 }, "volumeGeometry": { "lengthInItemLengths": { "low": 1, "best": 1, "high": 1 }, "widthInItemWidths": { "low": 1, "best": 1, "high": 1 }, "depthInItemHeights": { "low": 1, "best": 1, "high": 1 }, "containerVolumeFraction": { "low": 1, "best": 1, "high": 1 }, "itemShapeFraction": { "low": 1, "best": 1, "high": 1 }, "outerEnvelopePacking": { "low": 1, "best": 1, "high": 1 } }, "explanation": "string", "assumptions": [ "string" ], "warnings": [ "string" ], "captureAdvice": [ "string" ] } }, { "strategy": "layers", "estimate": { "count": 0, "lowerBound": 0, "upperBound": 0 }, "observation": { "status": "estimated", "depthEvidence": "observed", "visibleMinimum": 0, "views": [ { "image": 1, "evidence": "string" }, { "image": 1, "evidence": "string" }, { "image": 1, "evidence": "string" } ], "factorA": { "low": 1, "best": 1, "high": 1 }, "factorB": { "low": 1, "best": 1, "high": 1 }, "volumeGeometry": { "lengthInItemLengths": { "low": 1, "best": 1, "high": 1 }, "widthInItemWidths": { "low": 1, "best": 1, "high": 1 }, "depthInItemHeights": { "low": 1, "best": 1, "high": 1 }, "containerVolumeFraction": { "low": 1, "best": 1, "high": 1 }, "itemShapeFraction": { "low": 1, "best": 1, "high": 1 }, "outerEnvelopePacking": { "low": 1, "best": 1, "high": 1 } }, "explanation": "string", "assumptions": [ "string" ], "warnings": [ "string" ], "captureAdvice": [ "string" ] } } ] }}Read a 3D estimate or download its GLB GET
Only the initiating actor in the same organization with current item access may read this job. A completed reconstruction can have estimate: null. Results expire after 24 hours; physical cleanup occurs on a subsequent submission.
Poll one signed Replicate count job POST
Requires the ai scope and the same authenticated identity that created the job. Polling checks the existing prediction and does not start or bill another prediction.