Sora 2パイプラインのクイックスタート
OpenAI互換APIを使用して、Sora 2ビデオパイプライン向けに無検閲テキストを生成します。このクイックスタートでは、認証、基本リクエスト、ストリーミング、ツール呼び出しについて説明し、テキストエンジンをすぐに稼働させます。
認証とベースURL
当APIは標準的なOpenAI互換の認証を使用します。ダッシュボードから取得したAPIキーと、ベースURL https://api.sora2apis.com/v1が必要です。キーを Authorization ヘッダーにBearerトークンとして渡してください。この設定は、OpenAI互換をサポートするすべてのSDKで動作します。
アカウント登録してAPI キーを取得してください。新規アカウントには7日間の無料トライアルクレジットとして$0.50が付与されます。クレジットカードは不要です。課金利用の場合、チャージは$10から開始されます。キーは登録直後に生成され、いつでも再生成できます。
curl https://api.sora2apis.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
チャット完了エンドポイント
コアエンドポイントは POST /v1/chat/completions です。これは、法的な成人利用においてコンテンツ拒否なしで回答するように調整されたオープンウェイトモデルである uncensored を設定する model フィールドを受け取ります。これはGPT、Claude、または他のベンダーのモデルではありません。このモデルは、プロンプトと補完の両方に100,000トークンのコンテキストウィンドウを持っています。
messages 配列経由でテキスト入力を送信します。APIは、ビデオ生成パイプラインにそのまま使用できるテキスト出力を返します。このエンドポイントには、埋め込み、オーディオ、またはビデオ生成機能はありません。厳密にテキスト入力、テキスト出力のみです。
from openai import OpenAI
client = OpenAI(base_url="https://api.sora2apis.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
ストリーミングレスポンス(SSE)
リアルタイムのテキスト生成には、リクエストにstream: trueを設定してください。APIはServer-Sent Events (SSE) を返し、生成されたトークンを処理することが可能になります。これは、進行状況を表示したりデータを逐次処理したりしたい場合に便利です。
各SSEイベントにはレスポンスの部分的なデルタが含まれています。これらのデルタを累積して完全なテキストを再構築します。ストリーミングレスポンスは標準的なOpenAI SSE形式に従っており、ほとんどの最新のSDKとの互換性を確保します。これは、Sora 2ワークフロー内の動的コンテンツ生成に最適です。
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
ツールと関数呼び出し
APIはツールと関数呼び出しをサポートしており、モデルが使用するカスタム関数を定義できます。これは、構造化データの抽出やテキストパイプライン内の自動化された意思決定に有用です。tools 配列でツールを定義し、モデルがどのように応答するべきかを指定します。
モデルは適切な場合にツール呼び出しを返し、それを実行して会話に戻すことができます。これにより、テキストエンジンが外部システムと対話したり、ビデオ生成のニーズに合わせてデータを正確にフォーマットしたりする複雑なワークフローが可能になります。これは高度なSora 2パイプラインにとって強力な機能です。
レート制限と使用状況
キーごとに1分あたり300リクエストが制限されます。最大リクエストボディサイズは8 MBです。レート制限を超えると、429エラーが発生します。アプリケーションでリトライを適切に処理してください。各アカウントには1つのAPIキーがあり、これはいつでも再生成可能で、古いキーは無効になります。
料金は入力トークン100万トークンあたり$0.25、出力トークン100万トークンあたり$1.00です。クレジットは前払いで期限なしです。クレジットが不足すると402エラーが発生します。無効なAPI キーは401エラーを返します。チャージは$10から開始でき、大口チャージにはボーナスがあります。
モデル設定
モデルIDは常にuncensoredです。これは当社のGPUサーバー上で動作するオープンウェイトモデルで、拒否なしの法的な成人向けコンテンツ向けにチューニングされています。GPT、Claude、Gemini、Grok、DeepSeekではありません。このモデルは音声、画像、動画は生成せず、テキスト生成専用です。
出力を制御するために temperature や max_tokens などの標準パラメータを調整できます。コンテキストウィンドウは100,000トークンです。この柔軟性により、特定のSora 2ビデオ生成ニーズに合わせてテキスト出力を微調整できます。このモデルは、パイプライン向けの信頼性の高いテキストエンジンとして設計されています。
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.sora2apis.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);技術仕様
購入前に確認できるよう、API の実際の制限と機能をすべてまとめました。
| 項目 | 内容 |
|---|---|
| 形式 | OpenAI 互換:どの OpenAI SDK でも base URL とキーを変えるだけで動作 |
| モデル ID | uncensored |
| エンドポイント | POST /v1/chat/completions · GET /v1/models |
| 認証 | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.sora2apis.com/v1 |
| ストリーミング | 対応 — SSE、最後のチャンクにトークン使用量 |
| コンテキスト長 | 100,000 トークン(入力+出力) |
| 最大出力 | 100,000 トークンのウィンドウの残りまで。max_tokens は任意(個別の上限なし) |
| パラメータ | temperature、top_p、stop、seed、presence_penalty、frequency_penalty |
| JSON モード | response_format: {"type": "json_object"} |
| 関数呼び出し | 対応 — tools、tool_choice。応答に tool_calls(ストリーミングでも)、結果は role: tool で返送 |
| リクエストサイズ | 最大 8 MB |
| レスポンスヘッダー | X-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency |
| 同時実行 | キーごとに同時 8 リクエストまで |
| レート制限 | キーごとに毎分 300 リクエスト |
| 課金 | 前払いクレジットから実使用量で課金。エラーと拒否は無料 |
| ボーナス | $50 以上で +5%、$100 以上で +10% |
| 有効期限 | 購入クレジットは失効なし、サブスクなし |
| チャージ | USDT(TRC20)または USDC(Base)、$10〜$500 の任意の整数額 |
| 料金 | 入力 100 万トークン $0.25 · 出力 100 万トークン $1.00 |
| 無料トライアル | $0.50、7 日間、カード不要 · トライアルキー: 同時2件、毎分60件。初回チャージ後に上限が8件・300件へ拡大 |
| キー | アカウントごとに有効なキーは 1 つ。新しいキーで旧キーは無効 |
| コンテンツ | 成人向けコンテンツ可。未成年者を含む性的コンテンツは拒否 |
| ログイン | Google またはメール+パスワード |
エラーコード
エラーは固定の type を持つ JSON で返ります。失敗・拒否されたリクエストは課金されません。
| コード | タイプ | 意味 |
|---|---|---|
400 | bad_request | JSON 不正、メッセージ空、パラメータ誤り、またはコンテキスト超過 |
401 | missing_key · invalid_key · key_revoked | キーなし・誤り・新しいキーに置換済み |
402 | no_credit | 残高ゼロ — チャージすれば即再開 |
403 | content_blocked | 未成年者を含む性的コンテンツ — 拒否、課金なし |
404 | not_found | 不明なエンドポイント |
413 | request_too_large | 本文が 8 MB 超 |
429 | rate_limited · concurrency | 毎分 300 回または同時 8 件を超過 — 待って再試行 |
503 | upstream_busy | モデル混雑 — 数秒後に再試行 |
質問と回答
コンテキストウィンドウのサイズはどのくらいですか?
コンテキストウィンドウは100,000トークンで、プロンプトと補完の両方を含みます。これにより、スクリプトや詳細なキャプションに適した長文コンテンツの生成が可能です。
レート制限はどのように処理すればよいですか?
キーごとに1分あたり300リクエストまでです。これを超えると429エラーが発生します。アプリケーションで指数バックオフを実装し、リトライを適切に処理してください。
コンテンツは本当に無検閲ですか?
モデルは、法的な成人向け、フィクション、セキュリティ研究、または論争的なトピックを拒否しません。ただし、未成年者を含む性的コンテンツは常にブロックされます。これは法的範囲内での創造の自由のために設計されています。