Image to 3D Endpoint
Overview
The Image to 3D API generates an 3D character from an image.
Request
--request POST 'https://modelslab.com/api/v6/3d/image_to_3d' \
Make a POST
request to https://modelslab.com/api/v6/3d/image_to_3d endpoint and pass the required parameters as a request body to the endpoint.
Body Attributes
Parameter | Description |
---|---|
key (required) | Your API Key used for request authorization. |
model_id (optional, default="instantmesh" ) | Specifies the model to be used for the 3D generation. |
image (required) | The input image for 3D conversion. |
render (optional, default=false ) | Whether to render a NeRF video of the 3D model. |
foreground_ratio (required, default=0.85 ) | Ratio of the foreground size to the image size. Only used when remove_bg is enabled. |
remove_bg (optional, default=false ) | If true, removes the background from the image. |
resolution (required, default=256 , max=512 ) | Specifies the resolution of the generated 3D model. |
chunk_size (optional, default=8192 , max=12000 ) | Size of chunks used in the process (affects VRAM usage). |
seed (optional, default=0 ) | Random seed for reproducibility. If set to 0, a random seed will be generated. |
temp (optional, default="no" ) | If set to "yes" , the output files will be saved in a temporary directory. |
Example
Body
Body
{
"key": "",
"model_id": "instantmesh",
"image": "https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/0335d02b-958a-4a7f-b7e4-a5f1e61efbf1-0.png",
"foreground_ratio": 0.85,
"remove_bg": false,
"resolution": 256,
"chunk_size": 8192,
"seed": 0,
"temp": "no"
}
Request
- JS
- PHP
- NODE
- PYTHON
- JAVA
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"key": "",
"model_id": "instantmesh",
"image": "https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/0335d02b-958a-4a7f-b7e4-a5f1e61efbf1-0.png",
"foreground_ratio": 0.85,
"remove_bg": false,
"resolution": 256,
"chunk_size": 8192,
"seed": 0,
"temp": "no"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://modelslab.com/api/v6/3d/image_to_3d", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$payload = [
"key"=>"",
"model_id"=>"instantmesh",
"image"=>"https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/0335d02b-958a-4a7f-b7e4-a5f1e61efbf1-0.png",
"foreground_ratio"=>0.85,
"remove_bg"=>false,
"resolution"=>256,
"chunk_size"=>8192,
"seed"=>0,
"temp"=>"no"
];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://modelslab.com/api/v6/3d/image_to_3d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://modelslab.com/api/v6/3d/image_to_3d',
'headers': {
'Content-Type': 'application/json'
},
body: JSON.stringify({
"key": "",
"init_image": "https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/0335d02b-958a-4a7f-b7e4-a5f1e61efbf1-0.png",
"foreground_ratio": 0.85,
"remove_bg": false,
"resolution": 256,
"chunk_size": 8192,
"webhook": null,
"track_id": null
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "https://modelslab.com/api/v6/3d/image_to_3d"
payload = json.dumps({
"key": "",
"init_image": "https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/0335d02b-958a-4a7f-b7e4-a5f1e61efbf1-0.png",
"foreground_ratio": 0.85,
"remove_bg": false,
"resolution": 256,
"chunk_size": 8192,
"webhook": null,
"track_id": null
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n \"key\" : \"\",\r\n \"init_image\": \"https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/0335d02b-958a-4a7f-b7e4-a5f1e61efbf1-0.png\",\r\n \"foreground_ratio\": 0.85,\r\n \"remove_bg\": false,\r\n \"resolution\": 256,\r\n \"chunk_size\": 8192,\r\n \"webhook\": null,\r\n \"track_id\": null\r\n}");
Request request = new Request.Builder()
.url("https://modelslab.com/api/v6/3d/image_to_3d")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("X-API-Key", "{{token}}")
.build();
Response response = client.newCall(request).execute();
Response
Example Response
{
"status": "success",
"generationTime": 10.62,
"id": 109655545,
"output": [
"https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/out/ae46c488-b66c-4aaa-9540-7355261d8d71.obj"
],
"proxy_links": [
"https://cdn2.stablediffusionapi.com/out/ae46c488-b66c-4aaa-9540-7355261d8d71.obj"
],
"meta": {
"chunk_size": 8192,
"file_prefix": "ae46c488-b66c-4aaa-9540-7355261d8d71",
"foreground_ratio": ".85",
"image": "https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/0335d02b-958a-4a7f-b7e4-a5f1e61efbf1-0.png",
"remove_bg": true,
"render": false,
"resolution": 256,
"seed": 3480183101,
"temp": "no"
}
}