HomeGuidesAPI ReferenceChangelogDiscussions
Hire a ReactVision Expert 🛠️Launch Studio 🖥️Sponsor on GitHub ❤️Log In
API Reference

Generate a 3D model

Secret key only.

A few legacy keys that ReactVision has listed keep access for a transitional period. Every other legacy key, and every client key, is refused with 403 API_KEY_TYPE_NOT_ALLOWED.

Starts generating a GLB model and returns a pending task; poll it with the get operation until it is completed or failed.

qualityFrom textFrom an imageCreditsCharged
quickYesNo70When the task starts
high_qualityYesYes175When the model is stored

Send JSON, or multipart/form-data to upload the image (at most 10 MB). In a multipart body quality defaults to high_quality and type to text. A high_quality model has about 200,000 triangles and a 2048 px texture.

Without app_user_id the model goes into the team library, and with scene_id it is also placed in that scene. With app_user_id and project_id it is stored as a file of that project for that app user, which is deleted 90 days after it is created. The model counts against the storage quota.

A key bound to one project must send project_id (its own project) and app_user_id: its output is stored in that project for the app user, never in the team library, so scene_id placement is not available to a bound key. Without them it gets 403 ACCESS_DENIED.

Not counted against the monthly API request quota.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
enum
required

Generation mode.

Allowed:
string
enum
required

Input.

Allowed:
string
length ≤ 2000

Required for text. Up to 2000 characters.

string

For high_quality and image: an image in this platform's storage. Upload other images in a multipart body.

uuid

A scene of your team, in which the finished model is placed. Not with app_user_id.

uuid

A project of your team. Required with app_user_id.

string
length ≤ 255

Your app's id for the user. Stores the model as that user's file. Up to 255 characters.

Headers
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Responses

INVALID_BODY: the body could not be read.

INVALID_QUALITY: quality is not quick or high_quality.

INVALID_TYPE: type is not text or image.

INVALID_COMBINATION: quick with image, or app_user_id with scene_id.

MISSING_PROMPT: text without a prompt.

MISSING_IMAGE: image without an image file or image_url.

IMAGE_TOO_LARGE: the image file is over 10 MB.

INVALID_IMAGE_URL: image_url is not a storage URL of this platform.

APP_USER_ID_TOO_LONG: app_user_id is over 255 characters.

PROMPT_TOO_LONG: prompt is over 2000 characters.

INVALID_SCENE: scene_id names no scene.

MISSING_PROJECT_ID: app_user_id without project_id.

MISSING_AUTH: no x-api-key header, and no other credential.

INVALID_API_KEY_FORMAT: the key is not rv_live_, rv_client_ or rv_secret_ followed by 64 lowercase hexadecimal characters.

INVALID_API_KEY: no such key, or a key sent with the wrong prefix for its type.

API_KEY_EXPIRED: the key is past its expiry date.

AUTH_ERROR: a user token (rv_ut_) was sent as a Bearer token. This operation does not accept user tokens.

API_KEY_TYPE_NOT_ALLOWED: a client key, or a legacy key that is not on ReactVision's transitional list.

ACCESS_DENIED: a bound key sent neither project_id nor scene_id.

SCENE_ACCESS_DENIED: scene_id is a scene the key cannot reach.

PROJECT_ACCESS_DENIED: project_id does not exist or the key cannot reach it.

LIMIT_REACHED: the generation would exceed the team's monthly AI credit budget, or the budget could not be read.

STORAGE_LIMIT_REACHED: the team is over its storage quota, or the quota could not be read.

RATE_LIMITED: for a secret key, more than 1,200 requests a minute across all operations. Wait the number of seconds in Retry-After. See Limits.

UPLOAD_FAILED: the image could not be stored.

CREATE_FAILED: the task could not be recorded.

INTERNAL_ERROR: an unexpected error. Retry, and quote meta.request_id to support if it persists.

SERVICE_ERROR: the provider did not start the generation. Nothing is charged.

API_KEY_LOOKUP_FAILED: the key could not be checked. Retry; this does not mean the key is invalid.

SERVICE_NOT_CONFIGURED: this quality is unavailable.

Language
Credentials
Header
LoadingLoading…
Response
Choose an example:
application/json