# マルチビューから 3D モデルへ
> **POST** `/v3/generation/multiview-to-model`
多視点画像から3Dモデルを生成します。
## リクエストパラメータ
### リクエストヘッダー
| パラメータ | 種類 | 必須 | デフォルト | 説明 |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | 文字列 | はい | - | `application/json` |
| Authorization | 文字列 | はい | - | `Bearer {api_key}` |
### リクエストボディ
| パラメータ | 種類 | 必須 | デフォルト | 説明 |
| :-: | :-: | :-: | :-: | :-: |
| inputs | オブジェクト[] \ | 文字列[4] | はい | - | マルチビュー画像。 **3 つの形式 — 1 つだけを使用し、混合しないでください。** **view-key (推奨)**: `[{"front":"..."},{"back":"..."}]` とキー `front`/`left`/`back`/`right`。値は、URL、`file_token`、またはネストされた `{url}` / `{file_token}` / `{object:{bucket,key}}` です。順序は関係ありません。 `front` を含む少なくとも 2 つのビューが必要です。 **従来の位置**: 固定の 4 文字列配列 `[front, left, back, right]`。空の文字列はスロットをスキップします。 **task_id**: `[{"task_id":"<uuid>"}]` (単一要素配列) は、以前の `generate_multiview_image` または `edit_multiview_image` タスクからの 4 ビュー出力を再利用します。ソースタスクは`success`である必要があります |
| model | 文字列 | いいえ | `tripo-v3.1` | AI モデルのバージョン。サポートされている値: `tripo-p1`、`tripo-turbo`、`tripo-v3.1`、`tripo-v3.0`、`tripo-v2.5`、`tripo-v2.0` |
| face_limit | 整数 | いいえ | アダプティブ | 出力の最大ポリ数 |
| texture | ブール値 | いいえ | `true` | テクスチャ マップを有効にする |
| pbr | ブール値 | いいえ | `true` | PBR マテリアルを有効にします。有効にすると、`texture` は強制的に `true` になります。 |
| texture_seed | 整数 | いいえ | ランダム | テクスチャ生成用のランダム シード |
| texture_quality | 文字列 | いいえ | `standard` | テクスチャの品質。サポートされている値: `standard`、`detailed`、`extreme` |
| geometry_quality | 文字列 | いいえ | `standard` | ジオメトリの品質。 `standard` (バランス)、`detailed` (ウルトラモード) |
| auto_size | ブール値 | いいえ | `false` | モデルを現実世界のメートル単位の寸法に自動的にスケールします |
| quad | ブール値 | いいえ | `false` | クワッドメッシュを出力します。有効にすると、出力形式は強制的に FBX になります。 |
| smart_low_poly | ブール値 | いいえ | `false` | 手作りのトポロジ スタイルでローポリ モデルを生成する |
| generate_parts | ブール値 | いいえ | `false` | 編集可能なセグメント化されたパーツを生成します。 `texture=true`、`pbr=true`、および `quad=true` と相互排他的 |
| compress | 文字列 | いいえ | - | 圧縮タイプ。 `geometry` (meshopt 圧縮) |
次のパラメータは、`model >= tripo-v3.0` の場合にのみ有効です: `texture_quality`、`geometry_quality`、`auto_size`、`quad`、`smart_low_poly`、`generate_parts`、`compress`。
## 入力フォーマット
### view-key (推奨)
各配列要素は、`front`、`left`、`back`、または `right` のうちの 1 つのキーを持つオブジェクトです。順序は関係ありません。サーバーは `[front, left, back, right]` に正規化されます。 `front` は必須です。少なくとも 2 つのビューが空であってはなりません。
**URL の場合:**
```json
{
"inputs": [
{"front": "https://example.com/front.png"},
{"back": "https://example.com/back.png"},
{"right": "https://example.com/right.png"}
],
"model": "tripo-v3.1",
"texture": false,
"geometry_quality": "detailed"
}
```
**file_tokens の場合 (アップロード ファイル API 経由で取得):**
```json
{
"inputs": [
{"front": "3154b4b0-4647-4032-aa82-827441ae92ef"},
{"back": "58ea3eab-6a08-4deb-98f9-e60f1802954d"},
{"right": "584b0e07-8576-4eb4-bf49-2e149e0252f6"}
],
"model": "tripo-v3.1",
"texture": false,
"geometry_quality": "detailed"
}
```
### 従来の位置
`[front, left, back, right]` の順序でちょうど 4 つの文字列です。ビューをスキップするには、空の文字列 `""` を使用します。
```json
{
"inputs": [
"file_front_token",
"",
"https://example.com/back.png",
"https://example.com/right.png"
]
}
```
### task_id (マルチビュー タスクの再利用)
以前の `generate_multiview_image` または `edit_multiview_image` タスクの ID を渡して、その 4 ビュー出力を 3D 生成に再利用します。 `inputs` は、1 つの `task_id` オブジェクトを含む単一要素配列である必要があります。ビューキーまたは位置スロットと混合しないでください。ソースタスクは `success` ステータスである必要があります。
```json
{
"inputs": [
{"task_id": "550e8400-e29b-41d4-a716-446655440000"}
],
"model": "v3.1-20260211",
"texture": true,
"pbr": true
}
```
## リクエスト例
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/generation/multiview-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"inputs": [
"https://example.com/front.png",
"https://example.com/back.png",
"https://example.com/left.png",
"https://example.com/right.png"
],
"model": "tripo-v3.1",
"texture": true,
"pbr": true,
"texture_quality": "detailed"
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/generation/multiview-to-model"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"inputs": [
"https://example.com/front.png",
"https://example.com/back.png",
"https://example.com/left.png",
"https://example.com/right.png"
],
"model": "tripo-v3.1",
"texture": True,
"pbr": True,
"texture_quality": "detailed"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```
### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/generation/multiview-to-model";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
inputs: [
"https://example.com/front.png",
"https://example.com/back.png",
"https://example.com/left.png",
"https://example.com/right.png"
],
model: "tripo-v3.1",
texture: true,
pbr: true,
texture_quality: "detailed"
})
});
const data = await response.json();
console.log(data);
```
## 応答
### 成功の応答
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
### 応答フィールド
| パラメータ | 種類 | 説明 |
| :-: | :-: | :-: |
| code | 整数 | ステータスコード。 `0` は成功を示します |
| data.task_id | 文字列 | 生成の進行状況と結果をクエリするために使用される一意のタスク識別子 |
## エラーコード
| HTTP ステータスコード | エラーコード | 説明 | おすすめ |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | 世代制限を超えました | リクエストの頻度を減らし、後で再試行してください |
| 400 | 2002 | サポートされていないリクエストパラメータです | リクエストボディのパラメータ名と値の範囲を確認してください |
| 400 | 2003 | 入力ファイルが空です | アップロードされたファイルが空でないこと、または URL にアクセスできることを確認してください |
| 400 | 2004 | サポートされていないファイル形式です | サポートされている画像形式を使用してください (PNG、JPEG、WebP) |
| 400 | 2008 | 入力がコンテンツ ポリシーに違反しています | 入力画像を置き換え、ポリシーに違反するコンテンツを削除します |
| 403 | 2010 | クレジットが不十分です | クレジットを追加して再試行してください |
| 400 | 2015 | モデルのバージョンが非推奨になりました | `model` を現在サポートされているバージョンにアップグレードします |
| 400 | 2018 | モデルが複雑すぎて再メッシュできません | `face_limit` を下げるか、入力を簡素化してください |
マルチビューから 3D モデルへ
POST /v3/generation/multiview-to-model
多視点画像から3Dモデルを生成します。
リクエストパラメータ
リクエストヘッダー
| パラメータ |
種類 |
必須 |
デフォルト |
説明 |
| Content-Type |
文字列 |
はい |
- |
application/json |
| Authorization |
文字列 |
はい |
- |
Bearer {api_key} |
リクエストボディ
| パラメータ |
種類 |
必須 |
デフォルト |
説明 |
| inputs |
オブジェクト[] \ |
文字列[4] |
はい |
- |
| model |
文字列 |
いいえ |
tripo-v3.1 |
AI モデルのバージョン。サポートされている値: tripo-p1、tripo-turbo、tripo-v3.1、tripo-v3.0、tripo-v2.5、tripo-v2.0 |
| face_limit |
整数 |
いいえ |
アダプティブ |
出力の最大ポリ数 |
| texture |
ブール値 |
いいえ |
true |
テクスチャ マップを有効にする |
| pbr |
ブール値 |
いいえ |
true |
PBR マテリアルを有効にします。有効にすると、texture は強制的に true になります。 |
| texture_seed |
整数 |
いいえ |
ランダム |
テクスチャ生成用のランダム シード |
| texture_quality |
文字列 |
いいえ |
standard |
テクスチャの品質。サポートされている値: standard、detailed、extreme |
| geometry_quality |
文字列 |
いいえ |
standard |
ジオメトリの品質。 standard (バランス)、detailed (ウルトラモード) |
| auto_size |
ブール値 |
いいえ |
false |
モデルを現実世界のメートル単位の寸法に自動的にスケールします |
| quad |
ブール値 |
いいえ |
false |
クワッドメッシュを出力します。有効にすると、出力形式は強制的に FBX になります。 |
| smart_low_poly |
ブール値 |
いいえ |
false |
手作りのトポロジ スタイルでローポリ モデルを生成する |
| generate_parts |
ブール値 |
いいえ |
false |
編集可能なセグメント化されたパーツを生成します。 texture=true、pbr=true、および quad=true と相互排他的 |
| compress |
文字列 |
いいえ |
- |
圧縮タイプ。 geometry (meshopt 圧縮) |
次のパラメータは、model >= tripo-v3.0 の場合にのみ有効です: texture_quality、geometry_quality、auto_size、quad、smart_low_poly、generate_parts、compress。
入力フォーマット
view-key (推奨)
各配列要素は、front、left、back、または right のうちの 1 つのキーを持つオブジェクトです。順序は関係ありません。サーバーは [front, left, back, right] に正規化されます。 front は必須です。少なくとも 2 つのビューが空であってはなりません。
URL の場合:
{
"inputs": [
{"front": "https://example.com/front.png"},
{"back": "https://example.com/back.png"},
{"right": "https://example.com/right.png"}
],
"model": "tripo-v3.1",
"texture": false,
"geometry_quality": "detailed"}
file_tokens の場合 (アップロード ファイル API 経由で取得):
{
"inputs": [
{"front": "3154b4b0-4647-4032-aa82-827441ae92ef"},
{"back": "58ea3eab-6a08-4deb-98f9-e60f1802954d"},
{"right": "584b0e07-8576-4eb4-bf49-2e149e0252f6"}
],
"model": "tripo-v3.1",
"texture": false,
"geometry_quality": "detailed"}
従来の位置
[front, left, back, right] の順序でちょうど 4 つの文字列です。ビューをスキップするには、空の文字列 "" を使用します。
{
"inputs": [
"file_front_token",
"",
"https://example.com/back.png",
"https://example.com/right.png"]
}
task_id (マルチビュー タスクの再利用)
以前の generate_multiview_image または edit_multiview_image タスクの ID を渡して、その 4 ビュー出力を 3D 生成に再利用します。 inputs は、1 つの task_id オブジェクトを含む単一要素配列である必要があります。ビューキーまたは位置スロットと混合しないでください。ソースタスクは success ステータスである必要があります。
{
"inputs": [
{"task_id": "550e8400-e29b-41d4-a716-446655440000"}
],
"model": "v3.1-20260211",
"texture": true,
"pbr": true
}
リクエスト例
-cmd">curl -X POST https://openapi.tripo3d.ai/v3/generation/multiview class="hl-flag">-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"inputs": [
"https://example.com/front.png",
"https://example.com/back.png",
"https://example.com/left.png",
"https://example.com/right.png"],
"model": "tripo-v3.1",
"texture": true,
"pbr": true,
"texture_quality": "detailed"}'
import requests
url = "https://openapi.tripo3d.ai/v3/generation/multiview-to-model"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"inputs": [
"https://example.com/front.png",
"https://example.com/back.png",
"https://example.com/left.png",
"https://example.com/right.png"
],
"model": "tripo-v3.1",
"texture": True,
"pbr": True,
"texture_quality": "detailed"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
const url = "https://openapi.tripo3d.ai/v3/generation/multiview-to-model";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
inputs: [
"https://example.com/front.png",
"https://example.com/back.png",
"https://example.com/left.png",
"https://example.com/right.png"
],
model: "tripo-v3.1",
texture: true,
pbr: true,
texture_quality: "detailed"
})
});
const data = await response.json();
console.log(data);
応答
成功の応答
{
"code": 0,
"data": {
"task_id": "task_abc123"}
}
応答フィールド
| パラメータ |
種類 |
説明 |
| code |
整数 |
ステータスコード。 0 は成功を示します |
| data.task_id |
文字列 |
生成の進行状況と結果をクエリするために使用される一意のタスク識別子 |
エラーコード
| HTTP ステータスコード |
エラーコード |
説明 |
おすすめ |
| 429 |
2000 |
世代制限を超えました |
リクエストの頻度を減らし、後で再試行してください |
| 400 |
2002 |
サポートされていないリクエストパラメータです |
リクエストボディのパラメータ名と値の範囲を確認してください |
| 400 |
2003 |
入力ファイルが空です |
アップロードされたファイルが空でないこと、または URL にアクセスできることを確認してください |
| 400 |
2004 |
サポートされていないファイル形式です |
サポートされている画像形式を使用してください (PNG、JPEG、WebP) |
| 400 |
2008 |
入力がコンテンツ ポリシーに違反しています |
入力画像を置き換え、ポリシーに違反するコンテンツを削除します |
| 403 |
2010 |
クレジットが不十分です |
クレジットを追加して再試行してください |
| 400 |
2015 |
モデルのバージョンが非推奨になりました |
model を現在サポートされているバージョンにアップグレードします |
| 400 |
2018 |
モデルが複雑すぎて再メッシュできません |
face_limit を下げるか、入力を簡素化してください |