跳转到主要内容
Seed3D 1.0 是基于 Diffusion Transformer(DiT)架构实现的 3D 生成模型,能够在几分钟内输出包含多边形面片与 PBR 材质的高精度资产,其生成结果具备边缘锐利清晰、薄面结构稳定不变形的特征,所有几何细节在 6K 分辨率下仍保持清晰可见,能够满足不同领域对高精度 3D资产的需求。

模型参数

不支持3D生成 API 中的以下参数:
  • multi_view_images
  • result_format
  • enable_pbr
附:Seed3D 1.0 官方 API 文档
Doubao-Seed3d-1.0 官方 API 参数与极客智坊3D API 参数差异较大,下面是如何通过极客智坊视频 API 调用 Doubao-Seed3d-1.0 的说明: 通过3D生成 API 的 prompt + image 传值,极客智坊会自动将其组装为 doubao-seed3d-1.0content 参数传递到豆包官方 API:
  • prompt:文本提示,可选参数
  • image:目前仅支持单张参考图传入,必填参数,所有图片均支持传入图片 URL 或者 Base64 编码的图片数据
对于其他模型参数,你可以按照官方 API 文档中介绍的那样通过在文本提示词后追加 --[parameters] ,控制3D内容输出的规格,包括文件格式、多边形面的数量等:
--subdivisionlevel medium --fileformat glb
其中 subdivisionlevelfileformat 是 Doubao-Seed3d-1.0 模型特有的参数,具体含义如下:
  • subdivisionlevel:3D文件中多边形面的数量,目前仅支持默认值 medium,表示中等面数100000面
  • fileformat:输出3D文件格式,支持 glbobjusdusdz,默认值为 glb

图生 3D

Seed3D 1.0 是一个图生3D模型,仅支持通过文字描述+参考图(1张)来生成对应3D资产:
curl --location --request POST 'https://geekai.co/api/v1/image3ds/generations' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer $GEEKAI_API_KEY' \
--data '{
     "model": "doubao-seed3d-1.0",
    "prompt": "--subdivisionlevel medium --fileformat glb",
    "image": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seed3d_imageTo3d.png",
}'

生成结果

生成成功后,返回结果中 data 字段包含3D资产的下载链接:
{
    ...
    "data": [
        {
            "url": "https://path-to-generated-3d-asset.glb"
        }
    ],
    "usage": {
        ...
        "output_tokens": 30000,
        "total_tokens": 30000
    }
}

异步任务

对于3D生成任务,由于生成时间较长,建议使用异步任务接口进行调用。 3D生成 API 中的 async 参数用于控制是否异步生成3D,默认为 false,表示创建3D生成接口会同步等待3D资产生成完毕并返回。如果设置为 true,则会异步生成3D资产并返回任务ID,你可以使用该任务ID轮询3D资产生成状态:
curl --location --request POST 'https://geekai.co/api/v1/image3ds/generations' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer $GEEKAI_API_KEY' \
--data '{
     "model": "doubao-seed3d-1.0",
    "prompt": "--subdivisionlevel medium --fileformat glb",
    "image": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seed3d_imageTo3d.png",
    "async": true
}'
响应中会包含任务ID:
{
    "task_id": "68f89f2a-72f8-4d24-a16d-2f687a76b0f5",
    "task_status": "pending"
}
你可以使用返回的任务 ID 来查询生成状态和获取3D资产结果:
curl --location --request GET 'https://geekai.co/api/v1/image3ds/{task_id}' \
--header 'Authorization: Bearer $GEEKAI_API_KEY' 
注意将 {task_id} 替换为实际的任务 ID。 你可以根据3D生成任务状态 task_status 值判断3D资产是否已经生成完成,这个状态值包括四种情况:
  • pending:任务已创建,在队列中等待处理
  • running:任务正在处理
  • succeed:任务成功完成,可以获取结果
  • failed:任务处理失败
如果任务还在运行中,返回结果如下:
{
    "task_id": "68f89f2a-72f8-4d24-a16d-2f687a76b0f5",
    "task_status": "running"
}
如果任务执行成功,则响应和同步模式的3D生成接口响应格式相同:
{
    "task_id": "68f89f2a-72f8-4d24-a16d-2f687a76b0f5",
    "task_status": "succeed",
    "data": [
        {
            "url": "https://path-to-generated-3d-asset.zip"
        }
    ]
}
你可以通过 data 字段中的 URL 下载生成的 3D 资产文件。