7CF Style Tokyo

1999, つまり世紀末マインドで気ままにWEB技術で遊ぼうというコンセプトです

生成AIがらみのサービスでBYOKが主流になる未来は来るのか

公開日: 2026/03/24 / 更新日: 2026/03/28

WEB
AI

AIサービスをBYODスタイルで実装すればランニングコストがゼロになる。BYOD(bring your own key)は、つまりユーザーのAPIキーを使ってサービスを動かすということ。

Geminiの場合 ↓

async function callGeminiSecure(apiKey, prompt) {
  const url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent';

  const response = await fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'x-goog-api-key': apiKey 
    },
    body: JSON.stringify({
      contents: [{
        parts: [{ text: prompt }]
      }]
    })
  });

  const data = await response.json();
  console.log(data.candidates[0].content.parts[0].text);
}

通信先のLLMモデルによってリクエストの構造が多少変わる。基本的にはヘッダにユーザーから受け取ったapiKeyを入れてボディにシステムプロンプトやユーザーが入力したpromptを入れる。

Googleの公式ドキュメントではURLに直接APIキーを埋め込む方法が紹介されていたが、OpenAIやAnthoropicではヘッダーに隠す必要があるため今回もそうした。URLに直接打ち込むタイプでもJavaScriptからのfetchなので通常露出することはないが、もちろんサーバーのログには残るし、さらには独自のエラー監視ツールを入れていた場合など、URLがAPIキーごと丸々外部の解析ツールに送られてしまう可能性があるため控えた方がいいだろう。

AIサービスを作るときにAPI使用料にビビる必要がなくなるはいいことだが、そもそも自分のAPIキーを入れてくれるユーザーがどれだけいるかというのが大きな問題だ。ユーザーからしたらXSSが心配とかいう次元ではないため、もっと工夫が必要だろう。

ライター

HARLYA

無能アリ

趣味でフルスタック開発をしている。巨人の肩に乗りまくりで四捨五入すればエンドユーザー。

関連記事

Webページをダークモードに切り替えるChrome拡張機能を自作

更新日: 2026/04/08

WEB

Geminiにロゴを生成してもらいたい

更新日: 2026/04/08

日常
AI

入力したテキストを四国めたんが読み上げるフローを完全ローカルで構築

更新日: 2026/03/28

WEB