Pro API: 自分のサーバーからクラウドレンダリングを操作する
アプリがオンラインで行うすべての処理(画像生成、レタッチ、動画、学習済みキャラクター)は、HTTPでも利用できます。クレジット単価はアプリと同じで、アプリを起動する必要はありません。自分のサーバー、スクリプト、またはエージェントから、ライセンスのクレジットを使って操作できます。
Proライセンスが必要です。 キーはアプリ内の Settings > API から作成できます。
開発者でない方は、コードを一行も書かずにAIエージェントから同じ操作が可能です。詳しくは MCP をご覧ください。
| ベースURL | https://api.tendre.ai/pro/v1 |
| 認証 | ヘッダー Authorization: Bearer tk_pro_... |
| フォーマット | 入出力はJSON、画像はPNG、動画はMP4 |
| 仕様書 | openapi.json (OpenAPI 3.0)、クライアント生成に使用 |
| 料金一覧 | GET /pro/v1/pricing |
キーを取得する
Proライセンスがある状態でアプリを開き、Settings > API > New key を選択します。名前(例:「production server」)を付け、権限を設定します。必要であれば、1日あたりのクレジット上限と有効期限も設定できます。
キーは一度しか表示されません。 すぐにコピーしてください。紛失したキーは再発行できますが、復元はできません。
- 1ライセンスにつき同時に使えるキーは最大3つです。 サービスを止めずにローテーションするのに十分な数です。新しいキーを作成して設置してから、古いキーを無効化してください。
- キーはシートではありません。 PCやスマートフォンは引き続き通常どおり使えます。
- キーはクレジットと同等の価値があります。 Webページ、配布するアプリ、公開リポジトリには絶対に含めないでください。サーバー上で使用する場合は、必ず1日あたりのクレジット上限を設定してください。
キーで許可される操作
| 権限 | 許可される内容 |
|---|---|
| Read | 常に付与されます。レンダーステータス、ファイルのダウンロード、残高、キャラクター一覧 |
| Images | 画像の送信とキャンセル(生成、レタッチ、バリエーション)、キャラクターの作成 |
| Videos | 動画の送信とキャンセル。Multi-Ref VideoとFace swapを含む |
キーの権限を超えた呼び出しには 403 missing_scope が返され、不足している権限が scope に含まれます。
レンダーのライフサイクル
常に同じ3ステップです。
- 送信。
POST /imagesまたはPOST /videos。即座にjobIdとコストが返ってきます。 - ポーリング。
GET /images/{jobId}またはGET /videos/{jobId}を3秒ごとに呼び出し、statusがcompletedまたはfailedになるまで待ちます。 - ダウンロード。 ステータスが
completedになったらすぐにGET /images/{jobId}/fileまたはGET /videos/{jobId}/fileを呼び出します。ファイルは保持されません。待たずにすぐダウンロードしてください。
おおよその処理時間:画像は10〜40秒、動画は1〜5分、エンジンのコールドスタート時はさらに長くなります。
最初の呼び出し
KEY=tk_pro_...
B=https://api.tendre.ai/pro/v1
curl -s $B/credits -H "Authorization: Bearer $KEY"{ "balance": 1830, "licenseId": "lic_...", "key": "k_1a2b3c4d",
"limits": { "concurrent": 2, "perMinute": 60, "perDay": 0 }, "running": 0 }これが正常に返ってくれば、他の操作もすべて動作します。
完全なレンダー、3つの方法
bash
KEY=tk_pro_...
B=https://api.tendre.ai/pro/v1
JOB=$(curl -s $B/images -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"prompt":"a lighthouse at dawn, photorealistic","width":1216,"height":832}' | jq -r .jobId)
until curl -s $B/images/$JOB -H "Authorization: Bearer $KEY" | grep -q '"completed"'; do sleep 3; done
curl -s $B/images/$JOB/file -H "Authorization: Bearer $KEY" -o lighthouse.pngPowerShell
$H = @{ Authorization = "Bearer tk_pro_..." }
$B = "https://api.tendre.ai/pro/v1"
$job = Invoke-RestMethod -Uri "$B/videos" -Method Post -Headers $H -ContentType "application/json" `
-Body '{"prompt":"waves on a beach at sunset, gentle wind","width":1080,"height":1920,"audio":true}'
do { Start-Sleep 5; $s = Invoke-RestMethod -Uri "$B/videos/$($job.jobId)" -Headers $H } while ($s.status -eq "pending")
Invoke-WebRequest -Uri "https://api.tendre.ai$($s.file_url)" -Headers $H -OutFile beach.mp4Python
import time, requests
KEY, B = "tk_pro_...", "https://api.tendre.ai/pro/v1"
H = {"Authorization": f"Bearer {KEY}"}
job = requests.post(f"{B}/videos", headers=H, json={"prompt": "waves on a beach at sunset, gentle wind", "audio": True}).json()
while (s := requests.get(f"{B}/videos/{job['jobId']}", headers=H).json())["status"] == "pending":
time.sleep(3)
if s["status"] == "completed":
open("beach.mp4", "wb").write(requests.get("https://api.tendre.ai" + s["file_url"], headers=H).content)
else:
print("failed:", s.get("detail"))次のステップ
- Images:生成、3種類のレタッチモード、キャラクター。
- Videos:フォーマット、料金一覧、開始・終了フレーム、Multi-Ref Video、Face swap。
- Characters:写真1枚から7つのアングルを生成し、Multi-Ref Videoに使用。
- Account:残高、上限、学習済みキャラクター、利用履歴。
- Limits and errors:上限、全エラーコード、推奨プラクティス。
- MCP (agents):コードなしでClaude、ChatGPT、Cursorをそのまま接続。
まだ対応していない機能
実装予定の順に:自分の写真を使ったキャラクタートレーニング、音声、2Kへのアップスケーリング、レンダーを再現するための固定シード、ポーリング不要にするWebhook。
トレーニングについて補足します。APIを通じてトレーニングを実行することはできませんが、すでに手元にある .safetensors ファイルをアップロードして、すぐにレンダーに使用することは可能です。詳しくは Account, credits and characters をご覧ください。
APIはバージョン管理されています。ここに記載されている内容はすべて /pro/v1 で有効です。追加された機能が既存の動作を壊すことはなく、破壊的な変更は /pro/v2 として提供されます。