API

OpenAI互換。あらゆるモデル。

既存のOpenAI SDKを https://api.yout.chat/v1 に向けるだけで、Yout.chatのキーを使ってあらゆる主要モデルが利用できます。クレジットは1つのプール、請求も1つ、モデルごとの契約は不要です。

ベースURL: https://api.yout.chat/v1 · 認証: Authorization: Bearer <your-key>

そのまま置き換え可能

コードがすでにOpenAI APIと通信しているなら、変更するのは2か所だけです。

from openai import OpenAI

client = OpenAI(
    api_key="yout-...",                  # ← from Account → API keys
    base_url="https://api.yout.chat/v1",       # ← that's it
)

resp = client.chat.completions.create(
    model="anthropic-claude-sonnet-46",
    messages=[
        {"role": "user", "content": "Write a haiku about caching."},
    ],
)
print(resp.choices[0].message.content)

次のものとそのまま動作します: OpenAI Python SDK, OpenAI Node SDK, LangChain, LlamaIndex, Vercel AI SDK, LiteLLM, など、OpenAIの形式を扱うあらゆるツールに対応します。

エンドポイント

すべてのエンドポイントは Authorization: Bearer <key>. を受け付けます。Webアプリではセッションクッキーが利用できます。

POST/v1/chat/completions

OpenAI互換。 渡してください: stream: true (SSE用)。クレジットはアトミックに引き落とされます。

リクエストボディ
{
  "model": "anthropic-claude-sonnet-46",
  "messages": [
    {"role": "system", "content": "You are helpful."},
    {"role": "user",   "content": "What is 2+2?"}
  ],
  "stream": false,
  "temperature": 0.7,
  "max_tokens": 512
}
レスポンス(非ストリーミング)
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "anthropic-claude-sonnet-46",
  "choices": [{"index":0,"message":{"role":"assistant","content":"Four."},"finish_reason":"stop"}],
  "usage": {"prompt_tokens": 15, "completion_tokens": 2, "total_tokens": 17},
  "yout": {"credits_charged": 10, "balance": 14999990}
}
GET/v1/models

OpenAI互換のモデル一覧。すべての有効なモデルを id, context_window, とトークンごとのクレジットコスト付きで返します。

POST/api/chat/stream/

ネイティブのストリーミングエンドポイント — OpenAIよりシンプルなJSON形式で、Webアプリが使用します。サードパーティSDKとの互換性のためには /v1/chat/completions を推奨します。

GET/api/chat/models/

タスクタグ、モダリティ、Pro限定フラグを備えた、より充実したモデルカタログ。独自のUIで利用してください。

GET/api/chat/limit/

現在のクォータ — クレジット残高とプラン状況、または匿名利用の1日あたりの割り当て。

GET/api/chat/keys/

有効なAPIキーの一覧(マスク済み)。

POST/api/chat/keys/

名前付きAPIキーを作成します。完全なトークンは一度だけ返されます — 必ず保存してください。

リクエストボディ
{"name": "production"}
POST/api/chat/keys/<id>/revoke/

キーを失効させます。それを使用中の既存セッションは、次回の呼び出しで 401 を受け取ります。

POST/api/media/image/

画像生成ジョブ。 job_uuid; ポーリング /api/media/jobs/<uuid>/.

POST/api/media/video/

動画生成ジョブ。5秒のVeoで約120万クレジット。失敗時にはクレジットが自動返金されます。

POST/api/media/speech/

テキスト読み上げ。 job_uuid; 完了すると、出力は署名付きの音声URLになります。

GET/api/media/jobs/<uuid>/

生成ジョブをポーリング: status, output_url, error, credits_cost.

POST/api/chat/share/

公開の読み取り専用スナップショットを作成します。 /c/<slug> のURLを返します。

POST/api/chat/purge/

サーバー側で会話、メッセージ、利用台帳を消去します。

請求

APIの利用はWebアプリと同じクレジットプールから引き落とされます。API専用の請求はありません。

トークンごとの料金

テキストモデルは credits_per_1k_input × 入力トークン + credits_per_1k_output × 出力トークンで課金されます。メディアモデルは定額の credits_per_call.

最低料金

成功したすべての呼び出しは、トークン数に関わらず、オーバーヘッドをまかなうため最低10クレジットを引き落とします。

失敗時の返金

上流で失敗した画像・動画・音声ジョブは、自動的にクレジットを返金します。テキストストリームの失敗は、生成された分のみ課金されます。

残高不足

残高が見積もりコストをまかなえない場合、呼び出しは 402 insufficient_credits を返します。プランは、 plan_active がtrueで残高が正である限り、スロットリングされません。

認証とプライバシー

  • Bearerトークン — はユーザーごとに発行され、アカウントページで確認できます。ローテーションはアカウントの削除と再作成で行います(適切なローテーション用エンドポイントは予定中です)。
  • ユーザー識別情報は転送しません — プロバイダーへのプロキシでは、あなたのメール、IP、ユーザーエージェント、アカウントIDを送りません。汎用的な HTTP-Referer: yout.chat のみです。
  • no-log シグナル — を上流に送信し、モデルプロバイダーが契約上対応している範囲で、あなたのプロンプトをログ記録・学習に使わないよう要求します。
  • デフォルトではメッセージ内容を保存しません — 当社は UsageLedger の行(トークン + クレジット + モデル)を記録しますが、プロンプトや応答は記録しません。

ロードマップ

  • OpenAI互換の /v1/chat/completions シムにより、既存のSDKがそのまま動作します
  • 長時間実行されるメディアジョブ向けのWebhookコールバック(ポーリングの代替)
  • トークンのローテーション + トークンごとのスコープ
  • の冪等性キー: /stream/ + リトライ安全なジョブ作成
  • セルフサービスのレート制限コントロール

公開する準備はできましたか?

無料プランでは50Kクレジットを試せます。もっと必要になったらアップグレードしてください。