Raw prompt mode
名前付きパイプラインの代わりに、カスタムの system/user プロンプトをモデルへ直接送信します — リクエストの形、モデル選択、そして名前付きパイプラインには適用されない制約について。
このセクションの他のすべてのガイドは名前付きパイプライン(translate-string、summarize
など)を呼び出します — これは、宣言された入力を持つ固定のプロンプトテンプレートです。Raw mode は
このテンプレートを飛ばします。自分自身の system_prompt と user_prompt を直接送信し、
プラットフォームはそれをそのまま実行します。実際のパイプラインにする価値があるかを確かめる前の
プロンプトのプロトタイピングや、組み込みツールのどれにも当てはまらない一回限りの呼び出しに
使ってください。
有効にする
Raw mode は名前付きパイプラインとは別にゲートされています。JWT の pipelines[] クレームには
明示的な "raw" エントリが必要です — 名前付きパイプライン ID に使われるのと同じクレームに、
この 1 つの追加の文字列があるだけです。これはデフォルトでは付与されず、ほとんどのエンド
ユーザーの session token には決して与えるべきではありません。名前付きパイプラインのコストは
そのテンプレートによって上限が決まりますが、raw プロンプトのコストは、どれだけ長いプロンプトを
送信するつもりか、そしてモデルにどれだけのトークンを生成させるつもりかによってのみ上限が
決まります。
あなたのアプリが自分で session token を発行している場合(Node.js server
integration の POST /auth/token セクションを
参照)、"raw" はそれが必要な特定のトークンにのみリクエストしてください — 例えば内部の
管理者ツールであり、不特定のエンドユーザーに渡すトークンではありません。"raw" クレームを
持つトークンをリクエストする前に、あなたの Application の allowed_pipelines に "raw"
が含まれていることをプラットフォームの運営者に確認してください。あなたの Application が
付与を許可されていないクレームは、発行されたトークンから黙って取り除かれます。
静的な x-api-key(unbound、operator スコープ — API キーを取得する
参照)は、名前付きパイプラインの場合と同様に、pipeline リストの
チェックを完全にバイパスします。コンソールが発行した app-bound の x-api-key と JWT/webtoken
の呼び出し元は、どちらも明示的な "raw" 付与が必要です。
呼び出し方 — SDK
const out = await ai.run({
raw: {
system_prompt: "You are a terse assistant. Answer in one sentence.",
user_prompt: "What does raw mode skip that a named pipeline has?",
model: "gpt-5-mini", // optional — see "Choosing a model" below
temperature: 0.2, // optional
max_tokens: 500, // optional, up to 32768
},
});
console.log(out.text);
user_prompt は、ai.runMany(...) と併用する場合、inputs の関数にすることもできます —
そのパターンについては SDK のより詳しい Integration Guide(公開されていないため、プラット
フォームの運営者にコピーを依頼してください)を参照してください。ai.button(...) も、
pipeline の代わりに raw 設定を受け付けます。
呼び出し方 — 直接 HTTP
"raw" 付与を持つ Authorization: Bearer <jwt> が必要です(unbound な operator 種別の
静的な x-api-key でも動作します — 上記参照)。params は任意で、その中の両方の
フィールドも任意です。
curl -X POST "https://api.quravin.com/tickets" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your-jwt>" \
-d '{
"mode": "raw",
"system_prompt": "You are a terse assistant. Answer in one sentence.",
"user_prompt": "What does raw mode skip that a named pipeline has?",
"model": "gpt-5-mini",
"params": { "temperature": 0.2, "max_tokens": 500 }
}'
Response (202)、その後は他のチケットと同じ方法でポーリングします — まだそのループを
組んでいなければ Direct API integration を参照して
ください。
{ "ticket_id": "01J...ULID", "status": "QUEUED" }
curl "https://api.quravin.com/tickets/01J...ULID" \
-H "Authorization: Bearer <your-jwt>"
完了後のレスポンス — どのモデルが実行したかにかかわらず、形は常に同じ 4 つのフィールドに
text を加えたものです。
{
"ticket_id": "01J...ULID",
"status": "DONE",
"mode": "raw",
"result": {
"text": "It skips the fixed prompt template and declared input schema.",
"model": "gpt-5-mini",
"latency_ms": 640,
"tokens_in": 38,
"tokens_out": 14
},
"created_at": "2026-07-10T12:00:00.000Z",
"updated_at": "2026-07-10T12:00:02.000Z"
}
調べるべきパイプライン固有のフィールドはありません(translation も tldr もありません)—
result.text が常にモデルの出力の置き場所です。
モデルを選ぶ
model は任意です — 省略するとプラットフォームの現在のデフォルトが使われます。明示的に
指定する場合は、プラットフォームが検証済みのコストレートを持つものでなければならず、これは
呼び出しが LLM に届く前にチェックされます。それ以外のものを送ると、高額な想定外の請求の
代わりに 400 invalid_model が返ります。これを書いている時点でのそのリストは
gpt-4o-mini、gpt-4o、o3、gpt-5-mini です — モデルは追加され次第リストが変わるため、
現在のリストについてはプラットフォームの運営者に確認してください。
名前付きパイプラインとの違い
- input schema がありません。 名前付きパイプラインは、呼び出しが受け付けられる前に、
あなたの
inputsを宣言されたスキーマに照らして検証します(フィールドの欠落、型の 誤り →400)。Raw mode にはスキーマがありません —system_promptとuser_promptは 必須の文字列ですが、その内容が検証されることは決してありません。モデルにとって意味を なさないプロンプトは事前には失敗しません。チケットは実行され、結果をポーリングしたときに それが分かります。 - キャッシュがありません。 名前付きパイプラインは同一の呼び出しをその inputs で キャッシュします。Raw mode は決してキャッシュを確認しません — たとえ同じプロンプトを 連続で 2 回送信しても、呼び出しのたびに毎回新しいモデル呼び出しになります。
- グローバルな input サイズの防波堤は引き続き適用されますが、測り方が異なります。
system_prompt.length + user_prompt.lengthの合計が、プラットフォームの文字数上限 (デフォルト 50,000)を下回っている必要があります — 名前付きパイプラインのinputsを制限するのと同じ多層防御の上限ですが、JSON ボディ全体ではなく 2 つのフィールドを 合算したものに適用されます。 max_tokensは 32768 に上限が定められています。これは、基盤となるモデルが本来 許容する値にかかわらず適用されます — 目標値ではなく、1 回の呼び出しの最悪ケースに 対する上限です。
エラー
他のどの呼び出しとも同じ、認証済み経路のエラーテーブルです — 完全な一覧は Direct API
integration を参照してください。1 つだけ raw
mode に固有のエラーがあります: 400 invalid_model(上記で説明済み)。
あなたの JWT が "raw" 付与を持っていない場合、アクセスを許可されていない名前付き
パイプラインを呼び出したときと同じ 403 が返ります — 資格情報の付与がどのように機能するか
については 認証モードを選ぶ を参照してください。