# Bytedance Seed 3D

THREE\_DFeaturedbytedance-seed3d

**Bytedance Seed 3D** is a powerful 3D generation model from [ByteDance](https://seed3d.dev/) that focuses on creating high-quality 3D objects from a single image. It is particularly adept at understanding geometry and texture from a 2D source, producing detailed and accurate 3D representations. This makes it a fantastic tool for artists and designers who want to bring their existing illustrations or photographs into the third dimension with ease and precision.

Best for

Turning an illustration or photo into 3D, Accurate geometry inferred from a single image

POST

/v2/workspaces/{workspace\_id}/base-models/bytedance-seed3d/inferences

```bash
curl --request POST \
  --url https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bytedance-seed3d/inferences \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "guidance_file_init_image": [
    {
      "url": "<file_url>"
    }
  ]
}'
```

```python
import requests


url = "https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bytedance-seed3d/inferences"


payload = { "guidance_file_init_image": [{ "url": "<file_url>" }] }
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}


response = requests.post(url, json=payload, headers=headers)


print(response.json())
```

```js
const url = 'https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bytedance-seed3d/inferences';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"guidance_file_init_image":[{"url":"<file_url>"}]}'
};


try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main


import (
  "fmt"
  "strings"
  "net/http"
  "io"
)


func main() {


  url := "https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bytedance-seed3d/inferences"


  payload := strings.NewReader("{\n  \"guidance_file_init_image\": [\n    {\n      \"url\": \"<file_url>\"\n    }\n  ]\n}")


  req, _ := http.NewRequest("POST", url, payload)


  req.Header.Add("Authorization", "Bearer <token>")
  req.Header.Add("Content-Type", "application/json")


  res, _ := http.DefaultClient.Do(req)


  defer res.Body.Close()
  body, _ := io.ReadAll(res.Body)


  fmt.Println(res)
  fmt.Println(string(body))


}
```

```php
<?php


$curl = curl_init();


curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bytedance-seed3d/inferences",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'guidance_file_init_image' => [
        [
                'url' => '<file_url>'
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);


$response = curl_exec($curl);
$err = curl_error($curl);


curl_close($curl);


if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

```java
OkHttpClient client = new OkHttpClient();


MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"guidance_file_init_image\": [\n    {\n      \"url\": \"<file_url>\"\n    }\n  ]\n}");
Request request = new Request.Builder()
  .url("https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bytedance-seed3d/inferences")
  .post(body)
  .addHeader("Authorization", "Bearer <token>")
  .addHeader("Content-Type", "application/json")
  .build();


Response response = client.newCall(request).execute();
```

```ruby
require 'uri'
require 'net/http'


url = URI("https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bytedance-seed3d/inferences")


http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true


request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"guidance_file_init_image\": [\n    {\n      \"url\": \"<file_url>\"\n    }\n  ]\n}"


response = http.request(request)
puts response.read_body
```

```csharp
var client = new RestClient("https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bytedance-seed3d/inferences");
var request = new RestRequest("", Method.Post);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"guidance_file_init_image\": [\n    {\n      \"url\": \"<file_url>\"\n    }\n  ]\n}", ParameterType.RequestBody);
var response = client.Execute(request);
```

* Production

## Authorizations

* **[bearerAuth](/docs/v2/rest-api#bearerauth)**

## Parameters

### Path Parameters

**workspace\_id**

required

_Workspace Id_

Id of the workspace that owns the resource.

string format: uuid

Id of the workspace that owns the resource.

### Query Parameters

**session\_name**

Any of:

**string**

string

**null**

null

Organize this run under a named session. A new session is created if none matches.

## Request Bodyrequired

_Bytedance Seed 3D_object

**guidance\_file\_init\_image**

required

_Source image_

The image the 3D model is built from

Array<object>

\>= 1 items

_InferenceFormFileRef_

A single guidance/reference file supplied to a `reference_image_list` field.

The slot’s guidance `type` is fixed by the field it’s attached to; the caller supplies the file URL and, where the model supports per-file weighting, a weight.

object

**url**

required

_Url_

string

**weight**

_Weight_

number

nullable

##### Example

```json
{
  "guidance_file_init_image": [
    {
      "url": "<file_url>"
    }
  ]
}
```

## Responses

### 202

Successful Response

_ExecuteForgeOutput_object

**inference\_id**

required

_Inference Id_

Unique identifier for this forge run.

string format: uuid

**status**

required

_InferenceStatus_

Current status: IN\_PROGRESS.

string

Allowed values: in\_progress complete failed cancelled deleted

**estimated\_price\_creative\_units**

Any of:

**number**

number

**null**

null

**poll\_interval\_seconds**

required

_Poll Interval Seconds_

Suggested polling interval in seconds.

integer

**created\_at**

required

_Created At_

Timestamp of when the run was created.

string format: date-time

**session\_id**

Any of:

**string**

string format: uuid

**null**

null

**normalized\_parameters**

Any of:

**NormalizedInferenceParameters**

_NormalizedInferenceParameters_

Inference parameters after model-specific normalization.

These reflect the actual values used for generation, including model defaults applied for any parameters not explicitly set.

object

**width**

Any of:

**null**

integer

**integer**

null

**height**

Any of:

**null**

integer

**integer**

null

**batch\_size**

Any of:

**null**

integer

**integer**

null

**num\_inference\_steps**

Any of:

**null**

integer

**integer**

null

**guidance\_scale**

Any of:

**null**

number

**number**

null

**duration\_seconds**

Any of:

**null**

number

**number**

null

**fps**

Any of:

**null**

integer

**integer**

null

**null**

null

##### Example

```json
{
  "status": "in_progress"
}
```

### 401

Unauthenticated — missing or invalid Bearer token.

object

**type**

required

string

**title**

required

string

**status**

required

integer

**detail**

required

string

##### Example

```json
{
  "type": "https://api.layer.ai/errors/ERROR_CODE",
  "title": "Error Title",
  "status": 400,
  "detail": "Human-readable description."
}
```

### 403

Forbidden — insufficient permissions.

object

**type**

required

string

**title**

required

string

**status**

required

integer

**detail**

required

string

##### Example

```json
{
  "type": "https://api.layer.ai/errors/ERROR_CODE",
  "title": "Error Title",
  "status": 400,
  "detail": "Human-readable description."
}
```

### 404

Resource not found.

object

**type**

required

string

**title**

required

string

**status**

required

integer

**detail**

required

string

##### Example

```json
{
  "type": "https://api.layer.ai/errors/ERROR_CODE",
  "title": "Error Title",
  "status": 400,
  "detail": "Human-readable description."
}
```

### 422

Invalid input parameters.

object

**type**

required

string

**title**

required

string

**status**

required

integer

**detail**

required

string

##### Example

```json
{
  "type": "https://api.layer.ai/errors/ERROR_CODE",
  "title": "Error Title",
  "status": 400,
  "detail": "Human-readable description."
}
```

### 429

Rate limited — too many concurrent requests.

object

**type**

required

string

**title**

required

string

**status**

required

integer

**detail**

required

string

##### Example

```json
{
  "type": "https://api.layer.ai/errors/ERROR_CODE",
  "title": "Error Title",
  "status": 400,
  "detail": "Human-readable description."
}
```

### 500

Internal server error.

object

**type**

required

string

**title**

required

string

**status**

required

integer

**detail**

required

string

##### Example

```json
{
  "type": "https://api.layer.ai/errors/ERROR_CODE",
  "title": "Error Title",
  "status": 400,
  "detail": "Human-readable description."
}
```
