Appearance
3D Generation
Three endpoints turn an image or a text prompt into a 3D model. All three return { "jobId": "..." } immediately — see Jobs for how to poll and download the result. For pricing, see Pricing & Credits.
Text-to-3D
POST /jobs/text-to-3d
Content-Type: application/json| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
prompt | string | yes | — | Up to 4096 characters. |
topology | "auto" | "quads" | "triangles" | no | "auto" | Mesh topology of the output. |
targetFaceCount | integer | no | 0 | 0 lets the pipeline pick. Max 500000. |
textureResolution | "128" | "256" | "512" | "1k" | "2k" | "4k" | "auto" | "none" | no | "auto" | "none" produces a geometry-only model (no texture). |
tPose | boolean | no | false | Generate the subject in a neutral T-pose — useful if you plan to rig/animate it afterward. |
apiVersion | integer | no | 1 | Only 1 exists today. |
bash
curl https://api.sloyd.ai/api/jobs/text-to-3d \
-H "x-client-id: $SLOYD_CLIENT_ID" \
-H "x-client-secret: $SLOYD_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{ "prompt": "a low-poly pine tree", "textureResolution": "2k" }'Image-to-3D
POST /jobs/image-to-3d
Content-Type: multipart/form-dataThe image is a file upload, not a JSON field.
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
file | image file | yes* | — | PNG/JPEG etc. Max 20MB. *Not required if imageJobId is given (see Uploading an image for reuse). |
targetFaceCount | integer | no | 0 | Same as text-to-3d. |
textureResolution | enum | no | "auto" | Same values as text-to-3d. |
topology | enum | no | "auto" | Same values as text-to-3d. |
apiVersion | integer | no | 1 |
bash
curl https://api.sloyd.ai/api/jobs/image-to-3d \
-H "x-client-id: $SLOYD_CLIENT_ID" \
-H "x-client-secret: $SLOYD_CLIENT_SECRET" \
-F "file=@helmet.png" \
-F "targetFaceCount=20000"Multi-Image-to-3D
POST /jobs/multi-image-to-3d
Content-Type: multipart/form-dataGenerates from up to four views of the same subject. frontImage is required; at least one of leftImage / backImage / rightImage is also required.
| Field | Type | Required | Notes |
|---|---|---|---|
frontImage | image file | yes | Max 20MB. |
leftImage / backImage / rightImage | image file | at least one | Max 20MB each. |
FaceCount | numeric string | no | e.g. "40000". |
GenerateType | "Normal" | "LowPoly" | "Geometry" | "Sketch" | no | |
PolygonType | "triangle" | "quadrilateral" | no | |
EnablePBR | "true" | "false" | no | String, not boolean. |
ModelNo | "3.0" | "3.1" | no | Underlying model version. |
apiVersion | integer | no | Default 1. |
bash
curl https://api.sloyd.ai/api/jobs/multi-image-to-3d \
-H "x-client-id: $SLOYD_CLIENT_ID" \
-H "x-client-secret: $SLOYD_CLIENT_SECRET" \
-F "frontImage=@front.png" \
-F "leftImage=@left.png" \
-F "backImage=@back.png"Uploading an image for reuse
POST /jobs/image-upload
Content-Type: multipart/form-dataUploads a standalone image and returns its own jobId. Pass that id as imageJobId to image-to-3d to reuse an already-uploaded image without uploading the bytes again. Free (0 credits).
| Field | Type | Required |
|---|---|---|
file | image file | yes |
Response: { "jobId": "...", "metaJson": {...} }.