uuid,最后查询结果或下载模型。
前提条件
- 你已经从 Neural4D 网站拿到有效的
Bearer token - 你可以使用
curl、Postman 或自己的 HTTP 客户端 - 如果你调用上传类接口,你已经准备好符合限制的图片文件
调用流程
1
设置鉴权头
所有接口都使用
Authorization: Bearer <token>。curl --header "Authorization: Bearer YOUR_TOKEN"
2
提交创建请求
你可以先调用一个最简单的创建接口,例如
POST /api/generateModelWithText。curl --location 'https://alb.neural4d.com:3000/api/generateModelWithText' \
--header 'Content-Type: application/json;charset=utf-8' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--data '{
"prompt": "a cute bird",
"modelCount": 1,
"disablePbr": 1
}'
import requests
response = requests.post(
"https://alb.neural4d.com:3000/api/generateModelWithText",
headers={
"Content-Type": "application/json;charset=utf-8",
"Authorization": "Bearer YOUR_TOKEN",
},
json={"prompt": "a cute bird", "modelCount": 1, "disablePbr": 1},
)
print(response.json())
const response = await fetch("https://alb.neural4d.com:3000/api/generateModelWithText", {
method: "POST",
headers: {
"Content-Type": "application/json;charset=utf-8",
Authorization: "Bearer YOUR_TOKEN",
},
body: JSON.stringify({ prompt: "a cute bird", modelCount: 1, disablePbr: 1 }),
});
console.log(await response.json());
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
body := []byte(`{"prompt":"a cute bird","modelCount":1,"disablePbr":1}`)
request, _ := http.NewRequest(
"POST",
"https://alb.neural4d.com:3000/api/generateModelWithText",
bytes.NewReader(body),
)
request.Header.Set("Content-Type", "application/json;charset=utf-8")
request.Header.Set("Authorization", "Bearer YOUR_TOKEN")
response, _ := http.DefaultClient.Do(request)
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Println(string(result))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
class Main {
public static void main(String[] args) throws Exception {
var request = HttpRequest.newBuilder()
.uri(URI.create("https://alb.neural4d.com:3000/api/generateModelWithText"))
.header("Content-Type", "application/json;charset=utf-8")
.header("Authorization", "Bearer YOUR_TOKEN")
.POST(HttpRequest.BodyPublishers.ofString(
"{\"prompt\":\"a cute bird\",\"modelCount\":1,\"disablePbr\":1}"))
.build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
3
保存 uuid
创建接口通常会返回
uuid 或 uuids。这些值是后续查询结果和下载资源的关键标识。{
"type": "sys",
"message": "Generating",
"uuids": [
"f47ac10b-58cc-4372-a567-0e02b2c3d479"
]
}
4
查询结果或进度
3D 模型任务通常使用
POST /api/retrieveModel 查询。图片或视频任务通常使用 POST /api/queryGenerationResult 查询。你也可以使用 POST /api/queryJobProgress 看进度。curl --location 'https://alb.neural4d.com:3000/api/retrieveModel' \
--header 'Content-Type: application/json;charset=utf-8' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--data '{"uuid":"f47ac10b-58cc-4372-a567-0e02b2c3d479"}'
import requests
response = requests.post(
"https://alb.neural4d.com:3000/api/retrieveModel",
headers={
"Content-Type": "application/json;charset=utf-8",
"Authorization": "Bearer YOUR_TOKEN",
},
json={"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479"},
)
print(response.json())
const response = await fetch("https://alb.neural4d.com:3000/api/retrieveModel", {
method: "POST",
headers: {
"Content-Type": "application/json;charset=utf-8",
Authorization: "Bearer YOUR_TOKEN",
},
body: JSON.stringify({ uuid: "f47ac10b-58cc-4372-a567-0e02b2c3d479" }),
});
console.log(await response.json());
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
body := []byte(`{"uuid":"f47ac10b-58cc-4372-a567-0e02b2c3d479"}`)
request, _ := http.NewRequest(
"POST",
"https://alb.neural4d.com:3000/api/retrieveModel",
bytes.NewReader(body),
)
request.Header.Set("Content-Type", "application/json;charset=utf-8")
request.Header.Set("Authorization", "Bearer YOUR_TOKEN")
response, _ := http.DefaultClient.Do(request)
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Println(string(result))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
class Main {
public static void main(String[] args) throws Exception {
var request = HttpRequest.newBuilder()
.uri(URI.create("https://alb.neural4d.com:3000/api/retrieveModel"))
.header("Content-Type", "application/json;charset=utf-8")
.header("Authorization", "Bearer YOUR_TOKEN")
.POST(HttpRequest.BodyPublishers.ofString(
"{\"uuid\":\"f47ac10b-58cc-4372-a567-0e02b2c3d479\"}"))
.build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
5
下载或转换结果
当模型生成完成后,你可以直接使用返回的
modelUrl 下载。如果你需要 fbx、obj、stl、blend 或 usdz,再调用 POST /api/convertToFormat。上传限制
- 图片上传接口支持
JPG、JPEG、PNG和WEBP - 建议分辨率范围为
256x256到6048x8064 - 单文件大小建议小于
10 MB - 图片生成和视频生成接口最多可上传
6张参考图
如果你只想确认账户状态,可以直接调用
POST /api/queryPointsInfo。如果你需要在图片生成功能前先做输入校验,可以调用 POST /api/checkHumanImage。
