Viewrium Docs
Objects

The Quote object

The parked analysis a fresh create or an order answers - the plan, the model verdict, the price and the token that commits it.

A fresh products.create (and products.order) parks: nothing is written, and the answer is a quote with a resume_token that commits it. See Quote and commit.

ProductParkedResponse

JavaScript: ProductParked · Python: viewrium.ProductParked

The quote a fresh create returns: the analysis, the image plan, the model verdict and the price. Nothing has been created or charged. Send resume_token back to POST /v1/products before expires_at (7 days) to commit it.

status"parked"optional

Always parked.

Default "parked"

resume_tokenstringrequired

Post this back as resume_token on POST /v1/products to commit. Redeemable exactly once, until expires_at.

expires_atdatetimerequired

When resume_token stops being accepted.

formstringrequired

The product's shape class from the analysis: regular (most furniture), wall (hung or mounted on a wall), cylindrical (near rotationally symmetric), character (has a face or front, e.g. a figure) or painting.

titlestringoptionalnullable

The title, from the draft or the product page.

descriptionstringoptionalnullable

The description, from the draft or the product page.

subjectstringoptional

The analysis's short description of the item as photographed.

Default ""

wall_mountedbooleanoptional

Whether the product hangs on a wall.

Default false

dimensionsModelDimensionsoptionalnullable

Real-world dimensions in cm, from the draft or the product page.

display_unitDimensionUnitoptionalnullable

The unit the dimensions are shown in. They are always stored and returned in cm.

One of "mm", "cm", "m", "in", "ft"

flagsGateFlagsrequired

The analysis's structured read of the product: the risks it found and why.

warningsstring[]optional

Warning codes that flag a concern without blocking. Today the only one is source_quality_poor (the photographs are blurred, dim or hide the item).

planPlannedView[]optional

The image positions as they will be committed, in page order.

modelModelPlanResponserequired

Whether a 3D model can be built, what blocks it, and the views it would be built from.

costProductCostrequired

What the order costs, in credits.

generate_unseenbooleanoptional

Whether views no photograph shows will be generated anyway. The request's override, else the organization's preference.

Default false

force_modelbooleanoptional

Whether the 3D model is built even when a risk check would block it. The request's override, else the organization's preference.

Default false

paintingPaintingInspectionoptionalnullable

What the painting inspection found. Form painting only.

ModelDimensions

JavaScript: no alias - an element of the type that holds it · Python: viewrium.ModelDimensions

Real-world dimensions. Responses are always in cm.

heightnumberoptionalnullable

The product's height: in cm in a response, in the request's unit in a request.

widthnumberoptionalnullable

The product's width: in cm in a response, in the request's unit in a request.

depthnumberoptionalnullable

The product's depth: in cm in a response, in the request's unit in a request.

PlannedView

JavaScript: PlannedView · Python: viewrium.PlannedView

One image position as it will be produced, with why it is planned this way.

viewstringrequired

The page position, e.g. front, side, back, angle, front-elevated, detail. An extra standing in for a position carries a suffix such as side-2.

kindstringrequired

wanted: a catalog position the product was planned for. extra: an additional viewpoint used to fill an empty position.

One of "wanted", "extra"

stands_forstringrequired

The catalog position this image fills: view itself for a wanted image, the position an extra substitutes for.

statusstringrequired

planned will be produced; skipped will not.

One of "planned", "skipped"

evidencestringrequired

How well the photographs cover this view: seen (a clean photo shows it), pinned (a photo shows it but is not clean, or photos on both sides bracket it), implied (a rotationally symmetric product's far side), unseen (nothing shows it).

reason_codestringrequired

Why the position is planned this way: seen_reuse, seen_edit, seen_generate, pinned_exact, pinned, implied, unseen_skipped, unseen_generated, extra_fill, exhausted or model_view.

reasonstringrequired

The planner's factual sentence behind reason_code.

deliverablebooleanrequired

True when you receive and pay for this image; false for a view only the 3D model needs.

routestringoptionalnullable

How the image is made: reuse ships the photograph as it is, edit edits a photograph, generate creates the view from reference photos. Null for a skipped position.

One of "reuse", "edit", "generate"

photointegeroptionalnullable

The 0-based index of the submitted photograph used for this position. Null when none is.

pinsinteger[]optional

The indexes of the reference photographs a generated view is conditioned on.

azimuthstringrequired

Camera bearing around the product, in 45-degree steps: front, front-right, right, back-right, back, back-left, left, front-left.

tiltstringrequired

Camera elevation: level sees the sides only, above sees the sides and the top, overhead sees only the top.

flaggedbooleanoptional

True when the view could not be confirmed against the photographs (a view generated with unseen evidence).

Default false

ModelPlanResponse

JavaScript: ModelPlan · Python: viewrium.ModelPlan

Whether the 3D model can be built, what blocks it, and the views it would be built from - including the ones no photograph shows.

orderedbooleanrequired

Whether the order includes the 3D model.

allowedbooleanrequired

Whether the model can be built. False when something blocks it, unless force_model is on.

blocked_bystring[]optional

What refuses the model: missing_3d_view, transparent, geometry_risk, texture_risk, unseen_views, painting_unusable.

viewsstring[]optional

The views the model is built from, in submission order.

unseen_viewsstring[]optional

The model views that would be invented because no photograph shows them. Two or more block the model.

ProductCost

JavaScript: ProductCost · Python: viewrium.ProductCost

What the order costs, in credits (1 credit = $1.00): 1 per deliverable image and a flat 10 for a model.

imagesintegerrequired

How many deliverable images are priced.

image_creditsintegerrequired

Credits for the images: 1 each.

model_creditsintegerrequired

Credits for the 3D model: a flat 10, or 0 when it is not ordered.

total_creditsintegerrequired

image_credits + model_credits. 1 credit = $1.00.

PaintingInspection

JavaScript: PaintingInspection · Python: viewrium.PaintingInspection

What the painting analysis found: whether a front-facing, unobscured photograph of the whole artwork exists, whether it is framed, and why.

usablebooleanrequired

Whether a front-facing, unobscured photograph of the whole artwork was found. An unusable one blocks the model.

framedbooleanrequired

Whether the artwork is framed.

reasonstringrequired

The inspection's explanation.

suggested_dimensions_ofPaintingDimensionsOfoptional

The suggested meaning of the stated size: frame only when the piece is framed and the size reads as the framed size.

One of "canvas", "frame"

Default "canvas"

ProductOrderParkedResponse

JavaScript: ProductOrderParked · Python: viewrium.ProductOrderParked

The quote for adding to an existing product: what will be added and what it costs. Nothing has been charged. Send resume_token to POST /v1/products to commit it.

status"parked"optional

Always parked.

Default "parked"

resume_tokenstringrequired

Post this back as resume_token on POST /v1/products to commit. Redeemable exactly once, until expires_at.

expires_atdatetimerequired

When resume_token stops being accepted.

orderProductOrderrequired

What this order adds.

flagsGateFlagsrequired

The analysis's structured read of the product: the risks it found and why.

planPlannedView[]optional

The image positions as they will be committed, in page order.

modelModelPlanResponserequired

Whether a 3D model can be built, what blocks it, and the views it would be built from.

costProductCostrequired

What the order costs, in credits.

warningsstring[]optional

Warning codes that flag a concern without blocking. Today the only one is source_quality_poor (the photographs are blurred, dim or hide the item).

generate_unseenbooleanoptional

Whether views no photograph shows will be generated anyway. The request's override, else the organization's preference.

Default false

force_modelbooleanoptional

Whether the 3D model is built even when a risk check would block it. The request's override, else the organization's preference.

Default false

ProductOrder

JavaScript: no alias - an element of the type that holds it · Python: viewrium.ProductOrder

What to produce: the catalog images, the 3D model, or both.

imagesbooleanoptional

Order the catalog images.

Default true

modelbooleanoptional

Order the 3D model.

Default false

On this page