言語を切り替える
テーマを切り替える

Workers AI 完全ガイド:毎日10,000回の無料LLM呼び出し、OpenAI比90%コスト削減

正直なところ、初めて OpenAI の請求書を見たときは呆然としました。小さなプロジェクトで数日間 API をテストしただけで、月額 200 ドル以上もかかっていたのです。「もっと無料に近い、あるいは安い代替案はないだろうか?」と考えました。

その後、Cloudflare のエッジコンピューティング機能を調査していたときに、偶然 Workers AI を見つけました。1週間テストした結果、無料枠だけでも個人開発者には十分すぎることがわかりました。今日はその完全な使用方法を共有します。

10,000
ニューロン/日 無料枠
個人プロジェクトには十分
$0.011
1000ニューロンあたり
有料価格
60-90%
コスト削減
OpenAI 比
50+
オープンソースモデル
数据来源: Cloudflare Workers AI 公式価格 (2025)

Workers AI とは?なぜ注目すべきなのか?

簡単に言えば、Workers AI は Cloudflare が提供するサーバーレス AI 推論サービスです。GPU を自分で購入したり、サーバーを管理したりする必要はありません。数行のコードを書くだけで、Llama や Mistral などのオープンソース大規模言語モデルを呼び出すことができます。

重要なポイントは以下の3点です:

  1. 毎日 10,000 ニューロンの無料枠

    • 実測では数百回の会話を処理でき、個人プロジェクトには十分です。
    • Llama 3.1-8B モデルを使用して1000回の簡単な会話をテストしたところ、約 8000 ニューロンを消費しました。
  2. 有料でも非常に安い:$0.011/1000 ニューロン

    • OpenAI GPT-3.5 より 60-70% 安い
    • GPT-4 より 90% 以上安い
  3. グローバルエッジネットワークによる高速化

    • Cloudflare は 300 以上の拠点を持ちます
    • 多くのクラウドサービスプロバイダーよりも応答速度が速い

他のソリューションとの比較

「無料のものは使い物になるのか?」と疑問に思うかもしれません。比較表を作成しました:

ソリューション無料枠有料価格応答速度モデル選択
Workers AI10,000 ニューロン/日$0.011/1k ニューロン速い (エッジノード)50+ オープンソースモデル
OpenAI API$5 新規ユーザー (1回限り)$0.002/1k トークン (GPT-3.5)普通GPT シリーズ
HuggingFace限定的な無料呼び出しモデルごとの課金比較的遅い大量のモデル
自社サーバー-GPUレンタルコスト高構成による任意のモデル

どのような場合に Workers AI が適しているか?

  • ✅ 個人プロジェクト、プロトタイプ検証、学習・実験
  • ✅ 中小規模の本番アプリケーション (QPS < 300)
  • ✅ コストに敏感なスタートアッププロジェクト

どのような場合には適していないか?

  • ⚠️ 大規模なバッチ処理 (毎日数十万回の呼び出し)
  • ⚠️ レイテンシーに極めて敏感なリアルタイムアプリケーション (< 100ms の応答が必要)
  • ⚠️ 最新の GPT-4 レベルの最高性能モデルが必要なシーン

"Llama 3.1-8B を使用した中国語会話の実測:簡単な質疑応答(100文字以内)で毎回 5-8 ニューロン、長文要約(1000文字入力)で毎回 30-50 ニューロン、コード生成(500行コード)で毎回 20-40 ニューロンを消費。"

— 著者による実測データ

無料枠で足りますか?計算してみましょう

この「ニューロン (Neurons)」は Cloudflare 独自の課金単位で、私も最初は戸惑いました。簡単に理解すると以下のようになります:

ニューロン = (入力トークン + 出力トークン) × モデル係数

モデルによって係数が異なります:

  • Llama 3.1-8B: 係数 約 0.8
  • Llama 3.1-70B: 係数 約 3.5
  • Mistral 7B: 係数 約 0.7

実際にどれくらい使えるのか?

この消費量で計算すると、毎日 10,000 ニューロンでおおよそ以下が処理可能です:

  • 1000-2000 回の簡単な会話
  • 200-300 回の長文処理
  • 250-500 回のコード生成

正直なところ、個人開発者にとっては十分すぎるほどです。私は現在 Workers AI で小さなボットを動かしており、毎日数百件のメッセージを処理していますが、完全に無料枠内に収まっています。

もし無料枠を超えたら?

自動的に有料モードに切り替わり、$0.011/1000 ニューロンが課金されます。

計算してみましたが、もし超えてもコストは非常に低いです:

  • 毎日 50,000 ニューロン使用すると仮定(無料枠の5倍)
  • 超過分:40,000 ニューロン
  • 費用:40,000 / 1000 × $0.011 = $0.44/日
  • 1ヶ月でも 約 $13

OpenAI と比較すると、同じ呼び出し量で $50-100 かかる可能性があり、Workers AI は確かにかなり安いです。

クイックスタート:Workers AI を呼び出す3つの方法

事前の準備は簡単です:

  1. Cloudflare アカウントに登録(無料)
  2. Node.js をインストール(方法2、3を使用する場合)

以下に3つの呼び出し方法を紹介します。簡単なものから高度なものまで、ニーズに合わせて選択してください。

方法1:最も簡単 - REST API を直接使用

これは最も早く体験できる方法で、コードを書く必要さえなく、curl コマンドだけでテストできます。

ステップ1:APIトークンとアカウントIDの取得

  1. Cloudflare にログインし、https://dash.cloudflare.com にアクセスします。
  2. アドレスバーに https://dash.cloudflare.com/xxxxxxxxx と表示されます。この xxxxxxxxx があなたの Account ID です。コピーして保存してください。
  3. 右上のアイコン → My Profile → API Tokens をクリックします。
  4. 「Create Token」をクリック → 「Workers AI」テンプレートを見つける → 「Use template」を選択。
  5. 最後まで進むとトークンが生成されます。これは一度しか表示されないので、必ず保存してください。

ステップ2:呼び出しテスト

ターミナルを開き、以下のコマンドを実行します(Account ID と Token を置き換えるのを忘れないでください):

curl https://api.cloudflare.com/client/v4/accounts/{あなたのアカウントID}/ai/run/@cf/meta/llama-3.1-8b-instruct \
  -H "Authorization: Bearer {あなたのAPIトークン}" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {"role": "system", "content": "あなたはフレンドリーなAIアシスタントです"},
      {"role": "user", "content": "Cloudflare Workers AIについて一言で紹介してください"}
    ]
  }'

以下のような JSON が返ってくれば成功です:

{
  "result": {
    "response": "Cloudflare Workers AI はサーバーレスの AI 推論プラットフォームです..."
  },
  "success": true
}

よくあるエラーの対処:

  • エラー 7003: Token または Account ID が間違っています。完全にコピーできているか確認してください。
  • エラー 10000: モデル名が間違っています。@cf/meta/llama-3.1-8b-instruct であることを確認し、@cf/ を忘れないでください。
  • タイムアウト: 初回の呼び出しは少し遅い場合があります(コールドスタート)。10秒ほど待てば、次回以降は速くなります。

方法2:推奨 - Workers + Wrangler でデプロイ

これは公式に推奨されている方法です。永続的に利用可能な API としてデプロイでき、構成管理も便利です。

ステップ1:Wrangler CLI のインストール

npm install -g wrangler

その後、Cloudflare アカウントにログインします:

wrangler login

ブラウザが自動的に開き承認を求められるので、同意してください。

ステップ2:Worker プロジェクトの作成

npm create cloudflare@latest my-ai-worker

いくつか質問されますが、以下のように選択します:

  • Select a project type: “Hello World” Worker
  • Do you want to use TypeScript? お好みで(私は No を選び JavaScript を使用します)
  • Do you want to use git? Yes
  • Do you want to deploy? まずは No を選び、テストしてからデプロイします

ステップ3:Workers AI バインディングの設定

プロジェクトディレクトリに入り、wrangler.toml ファイルを編集して、最後に以下の行を追加します:

[ai]
binding = "AI"

これでコード内で env.AI を使って Workers AI サービスにアクセスできるようになります。手動でトークンを渡す必要はありません。

ステップ4:コードの記述

src/index.js(または index.ts)を編集し、内容を以下のように書き換えます:

export default {
  async fetch(request, env) {
    // CORS処理(Webページから呼び出す場合)
    if (request.method === 'OPTIONS') {
      return new Response(null, {
        headers: {
          'Access-Control-Allow-Origin': '*',
          'Access-Control-Allow-Methods': 'POST',
          'Access-Control-Allow-Headers': 'Content-Type',
        },
      });
    }

    // POSTリクエストのみ受け付ける
    if (request.method !== 'POST') {
      return new Response('Method not allowed', { status: 405 });
    }

    try {
      // リクエストの解析
      const { messages } = await request.json();

      // AIモデルの呼び出し
      const response = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
        messages: messages || [
          { role: 'user', content: 'Hello!' }
        ]
      });

      // 結果を返す
      return new Response(JSON.stringify(response), {
        headers: {
          'Content-Type': 'application/json',
          'Access-Control-Allow-Origin': '*',
        },
      });

    } catch (error) {
      return new Response(JSON.stringify({ error: error.message }), {
        status: 500,
        headers: { 'Content-Type': 'application/json' },
      });
    }
  },
};

ステップ5:ローカルテスト

wrangler dev

ローカルサーバーが起動します(通常は http://localhost:8787)。

curl でテストしてみましょう:

curl http://localhost:8787 \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {"role": "user", "content": "自己紹介をしてください"}
    ]
  }'

正常に応答があればデプロイできます。

ステップ6:本番環境へのデプロイ

wrangler deploy

デプロイが成功すると、*.workers.dev ドメインが提供されます。例:

https://my-ai-worker.your-name.workers.dev

これがあなたの AI API アドレスになり、どこからでも呼び出すことができます。

方法3:OpenAI SDK でのシームレスな移行

以前 OpenAI API を使用していて、Workers AI に切り替えたい場合、この方法が最も便利です - コードの変更はほとんど必要ありません

Workers AI は OpenAI 互換のエンドポイントを提供しているため、baseURL を変更するだけで済みます。

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.CLOUDFLARE_API_TOKEN, // あなたの Cloudflare Token
  baseURL: `https://api.cloudflare.com/client/v4/accounts/${process.env.ACCOUNT_ID}/ai/v1`,
});

// OpenAI と全く同じ呼び出し方法
const chatCompletion = await client.chat.completions.create({
  model: '@cf/meta/llama-3.1-8b-instruct', // Workers AI のモデル名に変更
  messages: [
    { role: 'system', content: 'あなたはフレンドリーなAIアシスタントです' },
    { role: 'user', content: 'Hello!' }
  ],
});

console.log(chatCompletion.choices[0].message.content);

注意事項:

  • apiKey は Cloudflare の API Token を使用
  • baseURL は Workers AI のエンドポイントに変更
  • model は Workers AI がサポートするモデル名に変更(先頭に @cf/ を付ける)

以前 OpenAI を使用していた Next.js プロジェクトがありましたが、Workers AI への移行はわずか10分で完了し、これら3箇所を変更するだけで済みました。

どのモデルが使える?どう選ぶ?

Workers AI は現在50以上のモデルをサポートしています。いくつかよく使われるものを紹介します。

テキスト生成モデル(最も一般的)

モデルパラメータ数特徴推奨シーンモデル ID
Llama 3.18Bバランスが良く高速日常会話、カスタマーサポート、要約@cf/meta/llama-3.1-8b-instruct
Llama 3.170B高品質だが少し遅い複雑な推論、長文@cf/meta/llama-3.1-70b-instruct
Mistral 7B v0.27B32k コンテキスト長いドキュメント分析@cf/mistral/mistral-7b-instruct-v0.2
DeepSeek-R132B推論能力が高い数学、コード、ロジック@cf/deepseek/deepseek-r1-distill-qwen-32b

私の選択アドバイス:

  1. 初めて試すなら Llama 3.1-8B

    • 応答が速い (1-2 秒)
    • 品質は十分で、GPT-3.5 に劣らない
    • 無料枠の消費が少ない
  2. より高い要件なら Llama 3.1-70B または DeepSeek-R1

    • 推論能力がより高い
    • 生成品質は GPT-4 に近い
    • ただし少し遅く (3-5 秒)、消費も3-4倍になる
  3. 長文分析なら Mistral 7B v0.2

    • 32k コンテキストウィンドウをサポート (Llama 3.1 は 8k のみ)
    • 長い論文や長いコードの処理に適している

実践ケース:3つのリアルな例

ケース1:インテリジェントなQ&A APIの構築(最も簡単)

シーン: ブログやドキュメントサイトに AI カスタマーサポートを追加する。

完全なコード (方法2に基づく):

export default {
  async fetch(request, env) {
    // CORS許可
    const corsHeaders = {
      'Access-Control-Allow-Origin': '*',
      'Access-Control-Allow-Methods': 'POST, OPTIONS',
      'Access-Control-Allow-Headers': 'Content-Type',
    };

    if (request.method === 'OPTIONS') {
      return new Response(null, { headers: corsHeaders });
    }

    try {
      const { question } = await request.json();

      // system プロンプトにサイトの背景知識を追加可能
      const messages = [
        {
          role: 'system',
          content: 'あなたは技術ブログのAIアシスタントです。主にWeb開発、AIアプリケーションに関する質問に答えます。回答は簡潔かつフレンドリーにしてください。'
        },
        {
          role: 'user',
          content: question
        }
      ];

      const response = await env.AI.run(
        '@cf/meta/llama-3.1-8b-instruct',
        { messages }
      );

      return new Response(
        JSON.stringify({ answer: response.response }),
        { headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
      );

    } catch (error) {
      return new Response(
        JSON.stringify({ error: '処理に失敗しました。後でもう一度お試しください' }),
        { status: 500, headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
      );
    }
  }
};

コスト見積もり: 毎日200人のユーザーが質問し、各会話で10ニューロン、合計2000ニューロンを消費すると仮定しても、完全に無料枠内です。

ケース2:一括テキスト要約生成

シーン: RSS フィードやニュース収集など、大量の記事の要約を生成する必要がある。

async function generateSummary(text, env) {
  const messages = [
    {
      role: 'system',
      content: 'あなたはプロフェッショナルなテキスト要約アシスタントです。ユーザーが提供した記事を2〜3文にまとめ、核心となるポイントを強調してください。'
    },
    {
      role: 'user',
      content: `以下の記事を要約してください:\n\n${text}`
    }
  ];

  const response = await env.AI.run(
    '@cf/meta/llama-3.1-8b-instruct',
    {
      messages,
      max_tokens: 150 // 出力長を制限し、ニューロンを節約
    }
  );

  return response.response;
}

レート制限に注意:

  • Llama 3.1-8B の制限は 300 リクエスト/分
  • 一括処理する場合は、遅延を追加するかキューを使用することを忘れないでください

コスト計算例:

  • 各記事1000文字、100文字の要約を生成と仮定
  • 毎回約 30 ニューロン消費
  • 300件の記事を処理 = 9000 ニューロンで、まだ無料枠内です

ケース3:多言語翻訳サービス

シーン: 翻訳ツールを作成するか、アプリケーションに国際化サポートを追加する。

async function translate(text, targetLang, env) {
  const messages = [
    {
      role: 'system',
      content: `あなたはプロフェッショナルな翻訳アシスタントです。ユーザーの入力を${targetLang}に翻訳し、元のスタイルと口調を維持してください。翻訳結果のみを返し、解説は加えないでください。`
    },
    {
      role: 'user',
      content: text
    }
  ];

  const response = await env.AI.run(
    '@cf/meta/llama-3.1-8b-instruct',
    { messages }
  );

  return response.response;
}

コスト比較:

  • Google Cloud Translation API: $20/百万文字
  • Workers AI(Llama 3.1): 百万文字約 $1.65

10倍以上安いです!

まとめ:Workers AI は試す価値があるか?

1ヶ月テストした後の私の結論は:個人開発者や小規模チームにとって、試す価値は大いにあります。

メリット:

  • ✅ 気前の良い無料枠 (毎日 10,000 ニューロン)
  • ✅ 有料価格が安い (OpenAI より 60-90% 安い)
  • ✅ 導入が簡単 (REST API と OpenAI 互換インターフェースあり)
  • ✅ 応答速度が速い (グローバルエッジネットワーク)
  • ✅ モデル選択肢が多い (50+ オープンソースモデル)

私の提案:

  1. 個人プロジェクトなら即採用。無料枠で十分ですし、サーバーコストも節約できます。
  2. スタートアッププロジェクトならまずは使ってみる。規模が大きくなってから他のソリューションへの移行を検討しても良いでしょう。
  3. 企業アプリケーションなら慎重に評価。SLA やデータコンプライアンスなどの問題を考慮する必要があります。

低コストな AI ソリューションを探しているなら、Workers AI を試してみてください。アカウント登録に5分、最初の例を実行するのに15分。あなたにぴったりかもしれませんよ?


FAQ

Workers AI の無料枠は十分ですか?
毎日 10,000 ニューロンの無料枠で以下が処理可能です:
• 1000-2000 回の簡単な会話
• 200-300 回の長文要約
• 250-500 回のコード生成

個人プロジェクトや小規模なアプリケーションには完全に十分です。
Workers AI は OpenAI よりどれくらい安いですか?
有料価格は $0.011/1000 ニューロンです:
• OpenAI GPT-3.5 より 60-70% 安い
• GPT-4 より 90% 以上安い

コスト比較:
• 毎日 50,000 ニューロン使用すると仮定して、月額約 $13
• OpenAI で同じ呼び出し量なら $50-100
OpenAI から Workers AI へ移行するには?
Workers AI は OpenAI 互換インターフェースを提供しており、3箇所変更するだけです:

1) apiKey を Cloudflare Token に変更

2) baseURL を Workers AI エンドポイントに変更

3) model を Workers AI 対応モデル(@cf/meta/llama-3.1-8b-instruct など)に変更
Workers AI はどのモデルをサポートしていますか?
50以上のオープンソースモデルをサポートしており、よく使われるのは以下です:
• Llama 3.1(8B/70B)
• Mistral 7B(32kコンテキスト)
• DeepSeek-R1(推論能力が高い)
• Stable Diffusion XL(画像生成)
• Whisper(音声認識)など
Workers AI を使い始めるには?
3つの方法があります:

1) REST API(最も簡単、curl でテスト可能)

2) Workers + Wrangler デプロイ(推奨、永続 API としてデプロイ可能)

3) OpenAI SDK 互換(OpenAI からの移行に最適)

Cloudflare アカウント登録後、5-15分で使い始めることができます。

6 min read · 公開日: 2025年11月21日 · 更新日: 2026年1月22日

コメント

GitHubアカウントでログインしてコメントできます

関連記事