Skip to content

渲染预览

为 3D 资产提供快速的视觉反馈。无需打开笨重的专业建模软件,即可一键生成多角度、带标准光影的高清缩略图。适用于资产库管理、Web 展示或项目进度评审。

典型应用场景

  • 资产库管理:为海量 3D 资产自动生成规范化的缩略图预览
  • Web 端快速预览:在不需要加载完整 3D 引擎的情况下,通过静态图展示模型细节

本页使用的 API 参考 POST /3d_models/renderings

3D 模型传入方式

模型参数同样支持三种传入格式:

  • 前置任务结果:将文生模型或图生模型任务返回的 asset_path 直接使用,实现无缝串联
  • Base64 编码:传入 .glb 文件内容的 base64 字符串(不含 data: 前缀)
  • 公网 URL:传入可公开访问的 .glb 或其他支持格式文件链接

基础示例

bash
curl -X POST 'https://api.v2fun.ai/api/v1/3d_models/renderings' \
  -H 'Authorization: Bearer $V2FUN_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
      "input_model": "models/example.glb"
    }'
javascript
const response = await fetch('https://api.v2fun.ai/api/v1/3d_models/renderings', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer $V2FUN_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "input_model": "models/example.glb"
  }),
});
const data = await response.json();
python
import requests

resp = requests.post(
    'https://api.v2fun.ai/api/v1/3d_models/renderings',
    headers={
        'Authorization': 'Bearer $V2FUN_API_KEY',
        'Content-Type': 'application/json',
    },
    json={
        "input_model": "models/example.glb"
    },
)
print(resp.json())
java
import java.net.URI;
import java.net.http.*;

HttpClient client = HttpClient.newHttpClient();
String body = "{\"input_model\":\"models/example.glb\"}";
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.v2fun.ai/api/v1/3d_models/renderings"))
    .header("Authorization", "Bearer $V2FUN_API_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
HttpResponse<String> response = client.send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

核心用例

生成渲染预览图

对 3D 模型进行渲染,输出一张带标准光影的高清预览图,适合资产库管理和 Web 端快速展示。

bash
curl -X POST 'https://api.v2fun.ai/api/v1/3d_models/renderings' \
  -H 'Authorization: Bearer $V2FUN_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
      "input_model": "https://asset.v2fun.ai/upload/render-input-scifi-gate.glb",
      "output_type": "image"
    }'
javascript
const response = await fetch('https://api.v2fun.ai/api/v1/3d_models/renderings', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer $V2FUN_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "input_model": "https://asset.v2fun.ai/upload/render-input-scifi-gate.glb",
    "output_type": "image"
  }),
});
const data = await response.json();
python
import requests

resp = requests.post(
    'https://api.v2fun.ai/api/v1/3d_models/renderings',
    headers={
        'Authorization': 'Bearer $V2FUN_API_KEY',
        'Content-Type': 'application/json',
    },
    json={
        "input_model": "https://asset.v2fun.ai/upload/render-input-scifi-gate.glb",
        "output_type": "image"
    },
)
print(resp.json())
java
import java.net.URI;
import java.net.http.*;

HttpClient client = HttpClient.newHttpClient();
String body = "{\"input_model\":\"https://asset.v2fun.ai/upload/render-input-scifi-gate.glb\",\"output_type\":\"image\"}";
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.v2fun.ai/api/v1/3d_models/renderings"))
    .header("Authorization", "Bearer $V2FUN_API_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
HttpResponse<String> response = client.send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
输入模型
输出结果
输出结果

360° 转台视频渲染

设置 output_type: "video",AI 会自动环绕模型一周渲染出流畅的全景预览视频,无需手动提交多帧任务。适合电商展示、资产审阅等需要动态效果的场景。

output_type: image · video

bash
curl -X POST 'https://api.v2fun.ai/api/v1/3d_models/renderings' \
  -H 'Authorization: Bearer $V2FUN_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
      "input_model": "https://asset.v2fun.ai/upload/render-input-scifi-gate.glb",
      "output_type": "video"
    }'
javascript
const response = await fetch('https://api.v2fun.ai/api/v1/3d_models/renderings', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer $V2FUN_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "input_model": "https://asset.v2fun.ai/upload/render-input-scifi-gate.glb",
    "output_type": "video"
  }),
});
const data = await response.json();
python
import requests

resp = requests.post(
    'https://api.v2fun.ai/api/v1/3d_models/renderings',
    headers={
        'Authorization': 'Bearer $V2FUN_API_KEY',
        'Content-Type': 'application/json',
    },
    json={
        "input_model": "https://asset.v2fun.ai/upload/render-input-scifi-gate.glb",
        "output_type": "video"
    },
)
print(resp.json())
java
import java.net.URI;
import java.net.http.*;

HttpClient client = HttpClient.newHttpClient();
String body = "{\"input_model\":\"https://asset.v2fun.ai/upload/render-input-scifi-gate.glb\",\"output_type\":\"video\"}";
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.v2fun.ai/api/v1/3d_models/renderings"))
    .header("Authorization", "Bearer $V2FUN_API_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
HttpResponse<String> response = client.send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
输入模型
输出结果