API Reference
Base URLは https://app.keyless-ai.com です。新規実装は公式SDKを優先してください。
MCP
| Method | Path | 用途 |
|---|---|---|
| POST | /api/mcp/session | Keyless API keyを短期MCP sessionへ交換 |
| POST | /api/mcp | JSON-RPC initialize、tools/list、tools/call |
SDKの createClient()、listTools()、callTool() がsession更新とJSON-RPCを処理します。
Managed接続の呼び出し方
接続ごとの許可methodは keyless_diagnose({alias: "接続のalias"}) の route.common_methods で確認します。ブリッジの tools/list が共通ツールだけを返す場合も、この診断から確認できます。モデル一覧ではありません。models も一覧にある接続だけで使えます。
keyless_call の method は許可された操作名です。HTTPメソッドは body.http_method、パスの変数は body.path_params、クエリは body.query に指定します。提供元へ送るJSONは同じbody内、または body.body に置きます。
{
"alias": "global.gemini.main",
"method": "v1beta/models/{model}:generateContent",
"body": {
"path_params": {"model": "<supported-model-id>"},
"contents": [{"parts": [{"text": "Reply with exactly OK."}]}],
"generationConfig": {"maxOutputTokens": 2048}
}
}
Geminiのモデル指定は models/ を付けないモデルIDです。OpenAI ResponsesのManaged methodは v1/responses です。実際に使える操作は接続の診断一覧を優先してください。
{
"alias": "global.elevenlabs.main",
"method": "v1/voices",
"body": {"http_method": "GET"}
}
画像・音声の受け取りと再取得
Geminiの画像・音声とElevenLabsの音声は、完全なファイルを保存して artifacts[].download_url で返します。Geminiでは対応するpartの fileData.fileUri からも取得できます。切り詰められたbase64を復元する必要はありません。
method: "artifacts/list", body: {} で、そのプロジェクト・接続の保存済みファイルを直近20件まで再取得できます。特定のファイルは body.artifact_id を指定します。生成・課金を行わず、期限切れリンクを更新します。未保存のファイルは復元できません。
MiniMaxの新規動画
{"method":"v2/video_generation","body":{"model":"MiniMax-H3-Max","content":[{"type":"text","text":"A blue circle"}],"resolution":"480P","duration":5,"ratio":"16:9"}}
テキストからの生成では content 配列と具体的な ratio が必要です。上流エラー時はHTTPステータスと秘匿情報を除いた理由を確認してください。成功前の再送を自動で繰り返さないでください。
Marketing Studioの秒数・料金の事前確認
{"method":"generate_video","body":{"params":{"model":"marketing_studio_video","mode":"ugc","duration":4,"resolution":"480p","generate_audio":true,"prompt":"A blue circle","get_cost":true}}}
get_cost: true は生成せず、adjustments に実際に適用される条件、keyless_quote.keyless_tokens と keyless_quote.usd にKeylessでの見積額を返します。提供元の cost.credits とKeylessトークンは別単位です。
2026年10月5日の確認では、このモデルの秒数は12〜15秒で、4秒指定は12秒の見積りになります。明示した条件が変更される有料リクエストは MANAGED_GENERATION_PARAMETER_ADJUSTMENT_REQUIRED で生成前に停止します。利用者が見積りを確認し、対応する値を明示してから生成してください。条件は変わりうるため毎回の見積りを優先します。generate/cost や models_explore へ置き換えないでください。
MiniMaxの完成済み動画
{
"alias": "global.minimax.main",
"method": "v2/query/video_generation/{task_id}",
"body": {"task_id": "<existing-task-id>", "method": "GET"}
}
完成後は artifacts[].download_url から取得できます。有効期限は download_expires_at です。期限切れや保存失敗の場合は、同じ接続で同じtask_idを再照会してください。動画の再生成は不要です。[external_url_removed] は取得URLではありません。上流URLを直接公開せず、Keylessの署名付きURLで配布します。
| エラーコード | 意味と対応 |
|---|---|
MCP_TOOL_NOT_ALLOWED | 接続で許可されていないmethodです。診断の一覧でバージョン接頭辞と変数を含む正確な名前を確認します。 |
MANAGED_REST_PATH_PARAM_REQUIRED | パス変数が不足しています。methodのテンプレートを保ち、body.path_params に変数を指定します。 |
MCP_MANAGED_COST_POLICY_UNVERIFIED | 運営側の料金設定が未確認・不備・期限切れのため生成を停止しています。閲覧操作の成功とは別です。顧客側の書き方では解消できないため、運営へ連絡してください。 |
MANAGED_ARTIFACT_PERSISTENCE_FAILED | 完成結果の保存に失敗しました。生成せず、同じ結果を再照会します。 |
Action Firewall
| Method | Path | 用途 |
|---|---|---|
| GET | /api/actions/catalog | 統制対象の操作catalog |
| GET / POST | /api/policies/templates | 推奨policy templatesの一覧と適用 |
| GET / POST | /api/policies/autopilot | coverage確認と不足guardrailの適用 |
| POST | /api/policies/evaluate | 操作に適用されるpolicyを評価 |
| POST | /api/simulate | 実行前のrisk、diff、rollback確認 |
| POST | /api/execute | policy、budget、approval、auditを通した実行 |
| GET | /api/intents/:id | 操作の状態と監査証跡 |
Health
| Method | Path | 用途 |
|---|---|---|
| GET | /api/health | platformの基本状態 |
レスポンスとエラー
SDK errorsは code、message、必要に応じて hint を持ちます。HTTP statusだけで再送を決めず、idempotencyと操作の可逆性を確認してください。
- model/provider呼び出しの監査IDは
audit_idで追跡します。 - 統制付き操作はintentのstateとapproval要件を確認します。
- 秘密情報をlog、URL、error reportingへ含めません。