BazaarLinkBazaarLink
登入
所有文章
發布時間 2026-09-18 · · 作者BazaarLink · AI API · API AI · 串接教學 · 入門指南 · Node.js

AI API 是什麼?台灣新手串接教學、費用與平台怎麼選

AI API 和 ChatGPT 會員差在哪?從 API 金鑰、Base URL、模型 ID 開始,跟做 Node.js 串接範例,看懂 token 費用與 401、403、429 錯誤,再依台灣付款、發票與資料需求選平台。

想讓網站回答客戶問題、把一份文件整理成摘要,或讓 n8n 工作流自動產生回覆,你需要的是讓程式呼叫模型的 AI API。光有聊天網站的會員,通常還不能讓自己的程式使用它。

AI API 是讓你的程式透過網路向 AI 模型送出資料,再取得結果的介面。 你負責應用程式、資料與使用流程,模型服務負責生成回應。搜尋「API AI」時,通常也是在找這類介面的教學或供應商。

這篇從第一次接通文字生成 API 開始:先分清楚帳號與金鑰,再跑一個小範例,最後看懂費用和錯誤。圖片、影片、語音也有 AI API,但請求格式與計費單位不同,不應直接套用文字模型的試算。

查證日期:2026 年 9 月 19 日。下方目錄檢查已實際執行;文字生成範例未執行付費呼叫,沒有實測生成品質、延遲或扣款。

AI API 和 ChatGPT 網頁版差在哪?

在聊天網站上,你自己貼上問題、閱讀答案;使用 API,則是由程式送出問題,再把答案接回網站、客服系統或工作流。API 不會自動替你做出完整產品:登入、資料權限、操作介面、錯誤處理,仍然要由你的應用程式負責。

例如做一個客服摘要功能,流程可以是:客服系統取出一段對話 → 你的後端呼叫模型 → 把摘要存回工單。模型不會因為拿到 API 請求,就自動知道公司的退換貨規則;需要把相關資料提供給它,並限制它能做哪些動作。

也別把聊天訂閱和 API 額度混在一起。OpenAI 明確說明,ChatGPT 與 API 平台有分開的帳務系統,API 使用費另外計算;購買 ChatGPT Plus 不是替自己的程式儲值。OpenAI 帳務說明

如果只是你自己偶爾整理資料,現成聊天工具可能就夠了。需要自動化、接到自己的產品,或讓多名使用者在同一個業務流程中操作,才值得開始串 API。兩種採購方式的差別,可再看台灣公司買 AI:API 還是訂閱

串接前,先拿對這三個東西

第一次設定最容易混淆的是 API 金鑰、Base URL 和模型 ID。它們要來自同一套服務設定:

  • API 金鑰:證明請求由誰發出,並把用量歸到對應帳戶。它不是聊天網站的登入密碼。
  • Base URL:程式送出請求的起點。以 BazaarLink 的 OpenAI 相容介面為例,是 https://api.bazaarlink.ai/v1
  • 模型 ID:指定這次要用哪個模型。請從該服務的模型目錄複製,不要只憑產品顯示名稱猜。

「OpenAI 相容」表示這個介面接受相近的請求與回應結構,不表示所有模型、參數與工具都完全相同。OpenAI 的 Chat Completions 文件也提醒,參數支援會因模型而異。本文選用這個介面,是為了示範基本文字請求;不是說 OpenAI 自有的新專案都應優先選它。Chat Completions 官方文件

若使用 BazaarLink,可以先登入,再到金鑰管理頁建立測試用金鑰。完整步驟在API 金鑰指南,目前的介面與參數以API 文件為準。

金鑰請放在後端環境變數,不要放進前端 JavaScript、GitHub、截圖或教學留言。第一次測試先用假資料,例如「幫我把這句話改得簡短」,不要直接拿客戶名單、病歷或完整內部文件試跑。

先查模型目錄,再送第一個文字請求

不要一開始就接整套客服機器人。先做兩件事:確認能讀到模型目錄,再確認程式能解析一個文字回應。這樣出錯時,才分得清楚是網址、權限、模型名稱,還是後面的應用邏輯。

第一步:只讀目錄,不產生模型費用

2026 年 9 月 19 日,我們實際讀取 BazaarLink 的公開 GET /v1/models:HTTP 狀態為 200,回應包含 175 個模型項目。其中 qwen3.7-flashaliases 包含 qwen/qwen3.7-flash;以下範例使用這個完整名稱。目錄會更新,175 不是固定承諾,正式使用前請重新查詢。公開模型目錄

下面使用 Node.js 18 以上內建的 fetch,不需要另外安裝 SDK。把程式存成 ai-api-demo.cjs

const baseUrl = "https://api.bazaarlink.ai/v1";
const model = "qwen/qwen3.7-flash";

async function readJson(response) {
  const text = await response.text();
  let body;
  try {
    body = JSON.parse(text);
  } catch {
    throw new Error(`HTTP ${response.status}: 回應不是 JSON`);
  }
  if (!response.ok) {
    throw new Error(
      `HTTP ${response.status}: ${JSON.stringify(body.error ?? body)}`
    );
  }
  return body;
}

async function main() {
  const catalog = await readJson(await fetch(`${baseUrl}/models`, {
    signal: AbortSignal.timeout(30_000)
  }));
  const selected = catalog.data.find((item) =>
    item.id === model || item.aliases?.includes(model)
  );
  if (!selected) throw new Error("目錄找不到範例模型,請重新選擇模型 ID");
  console.log("找到模型:", selected.id);

  // 預設只讀目錄;加 --generate 才會送出一次可能扣款的生成請求。
  if (!process.argv.includes("--generate")) return;
  const apiKey = process.env.BAZAARLINK_API_KEY;
  if (!apiKey) throw new Error("請先設定 BAZAARLINK_API_KEY");

  const result = await readJson(await fetch(`${baseUrl}/chat/completions`, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${apiKey}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model,
      messages: [{ role: "user", content: "請用一句繁體中文介紹 API。" }],
      stream: false,
      max_tokens: 2048
    }),
    signal: AbortSignal.timeout(90_000)
  }));
  console.log("回覆:", result.choices?.[0]?.message?.content);
  console.log("結束原因:", result.choices?.[0]?.finish_reason);
  console.log("用量:", result.usage);
}

main().catch((error) => {
  console.error(error.message);
  process.exitCode = 1;
});

先在終端機執行 node ai-api-demo.cjs。這一步只查公開目錄,不會送出文字生成請求。程式應該印出找到的模型 ID;若找不到,先更新模型名稱,不要用失效名稱一直重試。

第二步:設定金鑰,明確執行一次生成

Windows PowerShell 可用 $env:BAZAARLINK_API_KEY = "你的測試金鑰";macOS 或 Linux 可用 export BAZAARLINK_API_KEY="你的測試金鑰"。這是當次終端機的設定,關閉後不一定保留;不要把填入真實金鑰的指令截圖公開。

確認帳戶額度與該模型權限後,再執行 node ai-api-demo.cjs --generate。這一步會送出一次生成請求,可能扣款。回應文字不是固定答案,成功時請一起查看 usage 和結束原因。

範例的 max_tokens: 2048 是輸出上限,不代表每次一定用掉 2,048 token,也不是費用的美元上限。推理模型的思考可能占用輸出預算;若結束原因為 length,請先檢查是否撞到上限,不要直接把空白或不完整回答當成串接失敗。不同模型對這個參數的支援,以該服務文件為準。

本文已驗證目錄可讀與範例模型名稱;沒有執行上面的付費生成步驟,也不宣稱它的回覆速度或實際扣款。接到正式產品之前,仍須用你的帳戶做一次小額測試。

AI API 費用怎麼算?先分清楚 token 和請求次數

文字生成通常分成輸入和輸出兩種單價。輸入包含你送出的訊息與上下文;輸出是模型生成的內容,某些模型也計入推理用量。Token 是模型處理文字的單位,不等於中文字數,也不等於英文單字數。OpenAI API 定價說明

一般文字用量的基礎試算是:

輸入 token ÷ 1,000,000 × 每百萬輸入 token 單價
+ 輸出 token ÷ 1,000,000 × 每百萬輸出 token 單價
= 該次文字用量的基礎費用

以今天公開目錄的 Qwen3.7 Flash 基礎級距為例:輸入每百萬 token US$0.03,輸出每百萬 token US$0.13。目錄原始 pricing.promptpricing.completion 是每 token 美元單價,閱讀時不要誤當成每百萬單價。單價來源:公開模型目錄

假設一次用了 1,000 輸入 token、500 輸出 token,且沒有快取或其他收費項目:

1,000 ÷ 1,000,000 × 0.03 = US$0.000030
  500 ÷ 1,000,000 × 0.13 = US$0.000065
合計                       US$0.000095
10,000 次相同用量           US$0.95

這是依牌價計算的假設情境,不是上面範例的實扣紀錄。 該模型目錄另列輸入超過 32,768 與 262,144 token 的價格級距,長文件不能沿用這組基礎單價。圖片、影片、搜尋工具、快取和批次作業也可能使用不同規則。

做月預算時,最常漏掉的是重送的對話歷史:聊到第十輪,送出的可能不是第十個問題,而是前面多輪訊息加上新問題。每次都附整份文件、出錯後無限重試,也會把用量拉高。先限制測試金鑰的預算,記下每次 usage,再決定是否需要換模型、縮短上下文或使用快取。

帳戶的美元用量扣款,也不等於台幣付款總額。BazaarLink 的收費文件說明,入金會收取 10% 交易費,符合條件的台幣渠道另計 5% 營業稅;匯率、付款渠道費用及發票資格請在付款前核對。若要比較不同模型和較大工作量,再看AI API 價格比較與成本試算

AI API 平台怎麼選?先看你的限制,再比單價

OpenAI、Anthropic Claude、Google Gemini 等模型服務各有自己的 API;閘道則能把多個模型接在較一致的入口後面。對新手來說,最重要的不是一次取得最多模型,而是這個入口能不能滿足你的用途和管理方式。

我們的建議是:只用一家模型、需要它最新的專屬功能,而且能自行處理付款與金鑰管理,先評估直連原廠。 這個選擇少一個轉發環節;但當你需要多模型切換、團隊用量歸戶,或台灣付款與發票安排時,託管閘道就值得比較。若公司規定資料不能經過第三方轉發,應先處理資料政策,不能只靠換一個 Base URL 解決。

選平台前,至少問清楚這五件事:

  1. 功能:你的模型是否真的支援圖片輸入、工具呼叫、結構化輸出?有同名模型,不代表所有參數都能用。
  2. 帳務:顯示的是用量單價,還是付款總成本?匯率、平台費、稅與付款手續費各在哪一步收取?
  3. 限制:每分鐘可送多少次、可同時跑多少筆、長請求多久會逾時?免費額度是否有資格或到期條件?
  4. 資料處理:請求會轉發到哪裡、哪些內容會留存、多久刪除、誰能存取?不要只憑「安全」兩個字決定。
  5. 管理:能否按專案建立獨立金鑰、設定花費上限、撤銷金鑰,以及查到實際用量?

BazaarLink 提供 OpenAI 相容入口,讓你以同一個入口使用目錄內的多個模型,並有台幣報價與符合條件的電子統一發票渠道。不過「台灣公司提供服務」不表示所有模型的資料都只在台灣處理;有資料區域或法遵要求的企業,應先確認可用路由與合約條件。現行服務與帳務文件

需要比較閘道、路由器和中轉站的責任範圍,可以接著讀AI API 閘道是什麼。需要公司統編、指定發票形式或月結安排,請在付款前確認,不要先儲值再猜能不能報帳。

接不通時,照這個順序查

先確認 Base URL,再確認模型 ID,最後看狀態碼和回應裡的錯誤代碼。同一個 HTTP 狀態可能有不同原因,不能只靠數字認定是平台或模型故障。以下是排查方向,不是每一家服務共用的完整錯誤表;BazaarLink 的實際代碼以API 文件為準。

HTTP 狀態先檢查什麼不要直接做什麼
400必填欄位、模型名稱、參數支援、上下文長度不要原封不動無限重試
401金鑰有沒有設定、是否失效、是否屬於這個平台不要拿聊天登入密碼或其他平台金鑰替代
403帳戶或模型權限、免費資格、內容與安全限制不要把它一律當成餘額不足
404網址與路由是否存在、模型是否仍提供不要把 /v1 重複接兩次
429請求頻率、併發與用量限制,以及錯誤代碼不要加大併發強行重送
5xx 或逾時平台狀態、回應內容、發生時間與請求識別碼(若有)不要忽略可能已發生的用量,無限補送

成功回應也要檢查內容。若程式只印出 undefined,先看原始回應結構和結束原因:串流模式不能當作單一 JSON 讀取,工具呼叫也不一定有一般文字答案。除錯時保留狀態碼、時間、模型 ID 與必要的錯誤資訊就好,不要把金鑰或客戶完整資料貼到公開討論區。

第一次串接完成的標準很簡單:能用測試金鑰送出小請求、正確取得回應、查到用量,並知道失敗時該查哪裡。做到這四件事,再把 API 接進真正的業務流程;需要哪些模型、每月多少預算,會比看一份排行榜更容易決定。

FAQ

不會寫程式,也能使用 AI API 嗎?

可以透過支援 API 串接的現成工具或低程式碼工作流使用,但工具要能設定你選用服務的端點、金鑰和模型;不是所有聊天工具都接受自訂 API。若只是自己問答,先用現成聊天服務通常比較省事。

設定了環境變數,程式為什麼還說找不到金鑰?

確認變數名稱完全一致,並在設定變數的同一個終端機啟動程式。已啟動的服務不一定會取得你後來修改的環境設定;部署在容器或雲端時,也要在該執行環境設定,不能只設定自己的電腦。

AI API 能自動讀取公司內網或工單系統嗎?

不能因為模型有 API 就假設它能存取你的內部系統。應用程式需要先取得合法存取權、取出必要資料,再以支援的請求格式提供給模型;只應提供該名使用者有權查看的資料。

同一個問題呼叫兩次,為什麼答案不一樣?

生成模型可能產生不同回答;模型版本、參數與送出的上下文也可能不同。驗證應用時,應比較答案是否符合你的規則、事實與格式,而不是只比對每個字是否相同。不要把一次看似正確的回答當成品質保證。

API 有連網,是不是模型就知道最新資訊?

API 請求經由網路傳送,不代表模型會自動搜尋網頁。需要最新資訊時,應由應用程式提供查證過的資料,或使用該服務明確支援的搜尋工具,並核對引用來源及額外費用。

AI API 回答成功後,可以直接寄信或修改訂單嗎?

取得文字回答不等於已授權模型執行動作。寄信、退款或修改訂單應由你的系統驗證資料與權限,必要時要求人工確認;不能只因回應是 HTTP 200 就執行具有金錢或法律效果的操作。

立即體驗 BazaarLink

台幣計費・統一發票・主流 AI 模型・OpenAI 相容 API

免費註冊 / 登入企業採購洽詢
相關文章
AI API 價格比較 · AI API 費用 · AI API 折扣 · AI API 成本 · Prompt Caching · GPT-5.6 · Claude · Gemini · DeepSeek · 台幣換算
2026 AI API 價格比較:GPT-5.6、Claude、Gemini、DeepSeek 台幣對照表,快取/批次/促銷/回饋四種折扣怎麼疊(含成本試算)
AI 閘道 · AI API Gateway · AI Gateway · LLM Gateway · 模型路由器 · 中轉站 · BYOK · 上游容錯
AI API 閘道是什麼?閘道、路由器、中轉站三者差在哪,台灣團隊該接哪一種(2026)
API 金鑰 · 入門指南 · Python · Node.js
BazaarLink API 金鑰完整指南:申請、設定、在程式碼中使用
訂閱制 · AI API · 台灣 · 報帳 · 統一發票 · 統編 · 企業採購
台灣公司買 AI:API 還是 ChatGPT/Claude 訂閱?先看工具、用量與憑證
客服
客服
您好!有什麼可以協助?
請留下訊息,我們會盡快回覆。