モデル

Tripo: 3D Generation

Markdown · JSON

Tripo: 3D Generation

Tripoは、対象物についての文章による指示から3Dモデルアセットを作ります。開発元のより広いワークフローでは、形状、テクスチャ作成、その後のモデル処理を区別しています。完成したメッシュを複数の視点から確認し、目的のシーンやエディターで使う実際のファイルを保持してください。

モデルについて

この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。

Tripoは、説明や視覚的な参照から3Dモデルアセットを作ります。そのワークフローでは、対象物の生成と、その後のテクスチャ作成、リギング、変換などの工程を分けています。まず、目的のアセットと、それを作る操作を特定してください。シーン用の静的なメッシュ、レンダリング用のテクスチャ付きの対象物、3Dエディターでさらに準備するモデルなどです。

テキストからモデルを作る指示では、対象物の形と重要な部品を説明します。小さなランタンなら本体、持ち手、開口部、比率を、生き物ならシルエット、手足、ポーズを指定できます。結果に関わる場合は、素材や見た目の仕上げを記述してください。生成された形状を明確な設計と比べて評価できるよう、説明を対象物そのものに絞ります。

開発元の参照画像を使うワークフローでは、対象物の輪郭と特徴が分かる画像を用意します。複数の視点は、比率や付属物が一貫した同じ対象物を示すようにしてください。正面が説得力のある見た目でも、背面、下面、部品同士の接続が意図した設計と一致することは証明できないため、参照で見えない部分を生成後に確認します。

選んだモデルの版をリクエストとともに保持します。Tripoの生成インターフェースでは、操作とモデルの版の設定を別々に識別し、文書化されたテキストからモデルを作る例では版を明示的に選んでいます。対象物の説明の変更と生成設定の変更を混同しないよう、アセットを比較する際は正確な版と設定項目を保持してください。

形状と表面の見た目は、制作上の別々の判断です。開発元の基本ワークフローでは、テクスチャのないモデルと、テクスチャおよび物理ベースレンダリング用のマテリアルを持つ出力を区別しています。次の工程に必要なアセットの形を選び、メッシュと付属するマテリアルファイルの両方を確認してください。プレビュー画像は見当を付けるのに役立ち、シーンの組み立てや追加の編集に必要な成果物は実際のモデルです。

完成した対象物を複数の角度から調べます。シルエット、部品の分離、細い部分、開口部、部品が接する面を確認してください。スタイライズされた小道具では、比率を設計指示と比較します。製品のような対象物では、どの詳細が形状で表され、どれが表面の仕上げだけで見えるのかを確かめます。プロンプトや参照を変える前に、修正が必要な特徴を特定してください。

生成は非同期のタスクとして進みます。状態の確認を通じて元のタスク識別子を保持し、完成したモデル、プレビュー、その他の返されたファイルをまとめて保持してください。文書化された結果には、モデルに関する出力フィールドとレンダリング画像が含まれます。一時的な結果リンクに頼ったり、プレビューを完全な3D納品物として扱ったりせず、次の制作工程のためにファイルそのものを保存します。

目的のエディターや表示環境へモデルを読み込み、そこで向き、スケール、マテリアル、形状を確認します。シーンの小道具、クローズアップのレンダリング、アニメーション用に準備したキャラクターには、それぞれ異なる仕上げが必要です。編集用の作業コピーを持ち、生成された元のアセットを指示と参照とともに保持してください。テクスチャ作成やリギングなど別の操作が必要な場合は、その操作を意図して選び、得られたアセットを別の段階として確認します。

Ailoot Ultra · 3D POST /v1/3d/generations tripo3d

tripo3d

Tripo /tripo3d

はじめに

Tripoは、対象物についての文章による指示から3Dモデルアセットを作ります。開発元のより広いワークフローでは、形状、テクスチャ作成、その後のモデル処理を区別しています。完成したメッシュを複数の視点から確認し、目的のシーンやエディターで使う実際のファイルを保持してください。

対応する入力
テキスト
結果
model_3d · 画像

Ailootで利用可能 · 入力とメソッド

Ailoot Ultra · 3D POST /v1/3d/generations
入力の種類
text
出力の種類
model_3d, image
フィールド種類要件値と制限デフォルト
フィールドmodel種類string要件必須値と制限
tripo3d
条件: Ailootのモデル指定子を使用してください。
デフォルト—
フィールドtype種類string要件必須値と制限
text_to_model, image_to_model, multiview_to_model, texture_model, animate_prerigcheck, animate_rig, animate_retarget, stylize_model, convert_model
条件: 完全な例ではtext_to_modelを使用します。他のタスク種別には、文書に記載されたタスク固有の入力が必要です。
デフォルト—
フィールドmodel_version種類string要件必須値と制限
v2.0-20240919, v1.4-20240625, v2.5-20250123, v3.0-20250812, Turbo-v1.0-20250506
条件: 文書に明記されているバージョンを選択してください。この例ではv3.0-20250812を使用します。
デフォルト—
フィールドprompt種類string要件必須値と制限
条件: 作成するオブジェクトを記述してください。
デフォルト—
メソッドのパラメータとライフサイクル
パラメータ仕様
パラメータcontent_type仕様application/json
パラメータrequired仕様model, type, model_version, prompt
パラメータoptional仕様
パラメータmaterial_types仕様text
パラメータconditions仕様Ailootのモデル指定子を使用してください。, 完全な例ではtext_to_modelを使用します。他のタスク種別には、文書に記載されたタスク固有の入力が必要です。, 文書に明記されているバージョンを選択してください。この例ではv3.0-20250812を使用します。, 作成するオブジェクトを記述してください。

ライフサイクル: submit_once_poll_original

GET /v1/3d/generations/{request_id}

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

料金

最終料金の計算方法

表示料金は生成前の費用の見積もりです。最終請求額は、元の生成処理に記録された費用から計算されます。実測された出力時間や予測数量が、そのまま最終的な課金数量になるわけではありません。

料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。

高速モード
未指定 高速モードが選択されている場合
Flex モード
未指定 flex モードが選択されている場合
最大推論量
未指定 推論量が最大で、調整に既定値(default)を使用する場合

比較用の推定料金

設定別の価格

各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。

設定料金表予測数量料金
設定基本トークン料金料金表基本料金予測数量—料金
入力 · 入力トークン · 比較専用の見積もり — / 1K トークン
出力 · 出力トークン · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ読み取り · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ書き込み · 比較専用の見積もり — / 1K トークン
入力 · キャッシュ書き込み、1時間 · 比較専用の見積もり — / 1K トークン
設定生成費用の見積もり料金表—予測数量生成1回分の概算料金
出力 · 推定生成コスト · 比較専用の見積もり $1.35 生成前の見積もり

この見積もりは追加料金ではなく、完了した生成処理に対する固定料金でもありません。

Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →

リクエスト例

Ailoot Ultra · 3D

curl · 一度だけ作成し、受領記録を保存する元のタスクを読み取る自身が所有する完成済みアセットをすべて保存する
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
  "model": "tripo3d",
  "type": "text_to_model",
  "prompt": "a cute pig",
  "model_version": "v3.0-20250812"
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/3d/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS

結果を受け取って保存

Ailoot Ultra · 3D

返された画像をすべてダウンロードするか、Base64の内容を保存

  • GET /v1/3d/generations/{request_id}
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
完了した結果をすべて保存

返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。

完全なレスポンスとヘッダー、元の識別子、実際のすべての出力、および使用量/会計の全フィールドを保持してください。一意の所有アセットをそれぞれ保存し、それを参照するすべての役割を保持してください。

元のレスポンスを確認する場合

返された公開タスクまたは操作のidと、すべてのヘッダーを保持してください。元のタスクだけを読み取ってください。unknownまたはresult_pending_checkであっても、別の作成を行うことは認められません。

レスポンスのフィールド
フィールド種類
フィールドid種類string
フィールドpolling_url種類string
フィールドprovider_task_id種類string
フィールドcode種類integer
フィールドdata.task_id種類string
フィールドdata.status種類string
フィールドdata.progress種類integer
フィールドdata.output.*種類string
フィールドdata.result.*.url種類string
フィールドdata.result.*.type種類string
フィールドdata.thumbnail種類string

エイリアス

モデルのエイリアス

Ailoot Ultra tripo3d

メソッドパスのエイリアス

上記に表示されたメソッドパスを使用してください。

関連する呼び出し用ID

tripo3d

FAQ · Tripo: 3D Generation
利用できる入力と結果は何ですか?

POST /v1/3d/generations · tripo3d: text → model_3d, image

リクエストはどの項目を使用しますか?

POST /v1/3d/generations · tripo3d: model, type, model_version, prompt

詳細を見る

AilootをClaude Code、OpenCode、Hermes、自分のアプリに接続しましょう。

企業とそのプロジェクト群

企業とそのプロジェクト群:数百万の顧客、毎月数十億規模の売上。

トークンを割引価格で購入。

継続利用にサブスクリプション割引。プロモコードでトークン購入が最大50%割引。

サブスクリプション
定期的なリクエストに合う割引プランを選びましょう。
最大50%のプロモコード
購入時にコードを入力すると、実施中のキャンペーンに沿って価格を再計算します。
支出を履歴で確認
各リクエストのモデル、トークン、金額が保存されます。

サブスクリプションを選ぶ · モデルの価格を見る

販売する製品に、 APIを組み込みましょう。

SaaS、アプリ、ボットをAilootの公式サービス提供条件とライセンス契約に基づいて接続できます。再販にはリセラーライセンスを申請できます。

商用アプリ
サービスの有料機能に、文章、画像、動画、音声の生成を組み込めます。
リセラーライセンス
プロジェクトの説明とアクセスの仕組みをお送りください。利用・再販条件の書面を申請できます。
サイトで契約文書を確認
接続前にサービス提供条件、ライセンス契約、データ処理ポリシーを読めます。

リセラーライセンスを申請 · サービス提供条件とライセンス契約