Image to 3D
Create Session

Create an Image-To-3D Session

Create a new Image-to-3D session by uploading an image and setting the desired parameters.

Request

POST https://api.csm.ai/image-to-3d-sessions

Parameters

image_url REQUIRED
type: string
in: body
description: URL of the image to be converted into 3D; can also be a base64 string of the image. If Base64, it must be prefixed with the MIME type, like data:<mediatype>


creativity OPTIONAL
type: string
in: body
default: "lowest"
example: "lowest"
description: Sets the creativity level for the session. Available options: highest, moderate, lowest


generate_texture OPTIONAL
type: boolean
in: body
default: false
example: true
description: Enables or disables texture generation. Only applicable when preview_mesh is set to fast_sculpt (the default).


auto_refine OPTIONAL
type: boolean
in: body
default: false
description: Enables or disables automatic refinement.


refine_speed OPTIONAL
type: string
in: body
default: "slow"
example: "slow"
description: Sets the refinement speed for the session. Available options: fast, slow


preview_mesh OPTIONAL
type: string
in: body
default: "fast_sculpt"
example: "fast_sculpt"
description: Indicates the model used for the created session. Available options: fast_sculpt, turbo


topology OPTIONAL
type: string
in: body
default: "tris"
example: "tris"
description: Specifies the topology for enterprise users. Available options: tris, quads
Note: This option is available for enterprise users only.


resolution OPTIONAL
type: string
in: body
default: "high_poly"
description: Defines the resolution for enterprise users. Available resolutions: low_poly, high_poly
Note: This option is available for enterprise users only.


texture_resolution OPTIONAL
type: number
in: body
default: 2048
example: 2048
description: Sets the texture resolution for enterprise users. Available options: 128, 256, 512, 1024, 2048
Note: This option is available for enterprise users only.


scaled_bbox OPTIONAL
type: array
in: body
example: [1.0, 1.0, 1.0]
description: Scaled bounding box describing the target dimensions of the generated asset. This is a list of 3 float numbers: [width, height, depth].
Note: This option is available for enterprise users only.


pivot_point OPTIONAL
type: array
in: body
example: [0.0, 0.0, 0.0]
description: Sets the pivot point or origin of the exported mesh. The pivot point is specified as a list of 3 float values, representing the x, y, and z coordinates. Values range from [-0.5, 0.5] and are normalized to the mesh's bounding box dimensions. Examples:

  • Center of bounding box: [0, 0, 0] (default)
  • Left-bottom-back corner: [-0.5, -0.5, -0.5]
  • Center-bottom: [0, -0.5, 0]
    Note: This option is available for enterprise users only.

Code Snippets

Python

import requests
import json
 
url = "https://api.csm.ai/image-to-3d-sessions"
 
payload = json.dumps({
  "image_url": "https://via.placeholder.com/300/09f/fff.png",
  "refine_speed": "fast",
  "creativity": "lowest",
})
headers = {
  'x-api-key': '<X-API_KEY>',
  'Content-Type': 'application/json'
}
 
response = requests.request("POST", url, headers=headers, data=payload)
 
print(response.text)

Node.js

var request = require('request');
var options = {
  method: 'POST',
  url: 'https://api.csm.ai/image-to-3d-sessions',
  headers: {
    'x-api-key': '<X-API_KEY>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "image_url": "https://via.placeholder.com/300/09f/fff.png",
    "refine_speed": "fast",
    "creativity": "lowest",
  })
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Curl

curl -k --location 'https://api.csm.ai/image-to-3d-sessions' \
--header 'x-api-key: <X-API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "image_url": "https://via.placeholder.com/300/09f/fff.png",
    "refine_speed": "fast",
    "creativity": "lowest"
}'

Response

{
    "error": "",
    "message": "Created",
    "statusCode": 201,
    "data": {
        "_id": "669924dCCCCCCCa04a493d12",
        "user_id": "63XXXXXXXXXXXX0551638c",
        "session_code": "SESSION_1721312476_7674068",
        "image_url": "https://via.placeholder.com/300/09f/fff.png",
        "texture_resolution": 2048,
        "status": "spin_generate_processing",
        "topology": "tris",
        "source": "external",
        "creativity": "lowest",
        "refine_speed": "fast",
        "created_at": "2024-07-18T14:21:18.050Z",
        "updated_at": "2024-07-18T14:21:20.582Z"
    }
}