View JS N

如何將圖片轉換為 Base64 用於 Vision API 請求

發佈於 2026 年 2 月 22 日 · 閱讀約 5 分鐘

Vision API 為什麼需要 Base64

OpenAI GPT-4o、Google Cloud Vision、Anthropic Claude、Qwen-VL 等現代視覺 API 接受兩種圖片輸入方式:指向圖片的公開 URL,或將原始圖片資料編碼為 Base64 字串直接嵌入 JSON 請求體中。

如果圖片已經託管在線上,URL 方式很簡單。但在許多實際場景中,圖片在你的本機上:剛截取的螢幕截圖、掃描的文件、從影片中擷取的影格,或開發流水線中的測試圖片。這些情況下,Base64 編碼是最直接的方式——它讓你無需先上傳到伺服器就能將圖片直接嵌入 API 請求體中。

典型的帶 Base64 的 Vision API 請求如下:

{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "What's in this image?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,iVBORw0KGgo..."
          }
        }
      ]
    }
  ]
}

挑戰在於如何將本機檔案轉換為 Base64 字串,特別是在開發和測試過程中需要反覆操作時。

常見方法(及其不足)

1. Python 指令碼

import base64

with open("screenshot.png", "rb") as f:
    encoded = base64.b64encode(f.read()).decode()
print(encoded)

可以用,但需要安裝 Python,需要撰寫(或找到)指令碼,然後從終端機複製輸出。如果反覆測試不同的圖片,每次都要執行指令碼,再手動將輸出貼到 JSON 中。

2. 命令列

# macOS / Linux
base64 -i screenshot.png | pbcopy

# Windows PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("screenshot.png")) | Set-Clipboard

如果記得語法,速度很快,但輸出只是一個純字串。你沒辦法驗證結果——是正確的圖片嗎?編碼正確嗎?只有在傳送 API 請求並檢查結果後才能知道。

3. 線上 Base64 轉換器

很多網站提供拖曳式的檔案轉 Base64 功能。但顯而易見的問題是:你的檔案會上傳到別人的伺服器。測試用的截圖或許無所謂,但專有資料、內部文件、醫療影像或任何受保密協定約束的內容就不行了。

更好的方式:貼上、預覽、複製

ViewJSON 提供了更簡單的流程。將圖片直接貼到編輯器中,即時取得 Base64 字串,所有操作都在瀏覽器中完成:

  1. 開啟 ViewJSON — 前往 viewjson.net
  2. 貼上圖片 — 從任意位置(檔案管理員、截圖工具、瀏覽器、設計軟體)複製圖片,然後在 JSON 編輯器中按 Ctrl+V 貼上
  3. 查看預覽 — ViewJSON 會自動將圖片轉換為 Base64 並插入為 JSON 字串值。內聯圖片預覽會立即出現,方便你確認是否是正確的圖片。
  4. 複製 Base64 — 點選複製按鈕或選取字串值。你會取得完整的 Base64 編碼字串,可直接貼到 API 請求體中。

完整操作流程:

示範:將圖片貼到 ViewJSON 並取得帶有內聯預覽的 Base64 字串

處理大型 Base64 字串

Base64 編碼的圖片可能非常長。一張高解析度 JPEG 能產生超過 100,000 個字元。為了保持編輯器流暢,ViewJSON 會自動截斷長字串的顯示。但截斷只是視覺上的。

當你複製一個被截斷的 Base64 值時,ViewJSON 的無損剪貼簿恢復機制會自動介入。它會偵測到你正在複製截斷的字串,並自動將完整的原始內容恢復到剪貼簿。你得到的始終是完整的、未修改的 Base64 字串,不會是會導致檔案損壞的截斷版本。

建構完整的 API 請求體

取得 Base64 字串後,需要將其封裝為正確的 API 格式。以下是常見 Vision API 的範例:

OpenAI GPT-4o Vision

{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Describe this image" },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,<YOUR_BASE64_HERE>"
          }
        }
      ]
    }
  ],
  "max_tokens": 300
}

Google Cloud Vision

{
  "requests": [
    {
      "image": {
        "content": "<YOUR_BASE64_HERE>"
      },
      "features": [
        { "type": "TEXT_DETECTION" }
      ]
    }
  ]
}

在 ViewJSON 中貼上圖片後,複製生成的 Base64 字串並插入到 API 請求體中。你也可以使用 ViewJSON 的 API 請求建構器來設定 URL、請求方法、標頭和請求體,然後將整個請求匯出為 cURL 命令。

隱私:無需上傳

與線上 Base64 轉換網站不同,ViewJSON 完全在瀏覽器中執行。圖片轉 Base64 的過程使用瀏覽器內建的 FileReader API 在本地完成,你的圖片不會傳送到任何伺服器。

這使得它適合轉換敏感圖片:用於醫療 AI 介面的醫學影像、用於 OCR 服務的內部文件、用於視覺搜尋系統的專有產品圖片,或任何你不想上傳到第三方轉換器的檔案。

方法對比

方法 可預覽? 隱私 步驟數
Python 指令碼 ❌ 不可 ✅ 本地 4-5 步
命令列 ❌ 不可 ✅ 本地 3-4 步
線上轉換器 ⚠️ 部分支援 ❌ 需上傳 3-4 步
ViewJSON ✅ 內聯預覽 ✅ 100% 本地 2 步

立即體驗

將任意圖片貼到 ViewJSON,即時取得 Base64 字串。無需指令碼、無需上傳、無隱私顧慮。

開啟 ViewJSON →