~/blog/wordpress-openai-api-ai-image-generation-guide.md
API 串接與系統整合 · 2025 / 12 / 23

文章寫完圖還沒找?教你用 OpenAI API 打造 WordPress 專屬「詠唱繪圖師」,一鍵生成特色圖片!

Eric — 浪花科技創辦人 / AI 架構師
Eric
浪花科技創辦人 · AI 架構師
文章寫完圖還沒找?教你用 OpenAI API 打造 WordPress 專屬「詠唱繪圖師」,一鍵生成特色圖片!
目錄 table-of-contents.md

「文章寫好了,圖呢?」這句靈魂拷問,大概是行銷與內容團隊最常發出的哀嚎。花大把時間研究關鍵字、打磨文案,最後卻卡在找不到一張合適又不必擔心版權的特色圖片。這篇教你用 OpenAI API 在 WordPress 裡打造專屬的「詠唱繪圖師」,文章寫完按一鍵,特色圖片自動生成、自動掛上。

這真的是個靈魂拷問。我們花了大把時間研究關鍵字、撰寫深度內容,最後卻卡在「找圖」這一關。不是在付費圖庫網站裡撈半天,找到的圖跟文章八竿子打不著;就是風格不對,要不就是價格貴到讓人心痛。那種感覺,就像是精心煮好一桌滿漢全席,最後發現忘了準備碗筷一樣令人崩潰。

但如果,你的 WordPress 後台,能直接根據你的文章標題或一段描述,『詠唱』出獨一無二、風格一致的特色圖片,那該有多香?這不是科幻片,這就是現在進行式。今天,我就要帶你一步步實作,把強大的 AI 生成圖片能力,直接整合進你的 WordPress 工作流,告別圖庫地獄!

為什麼我們該拋棄圖庫,擁抱 AI 生成圖片?

我知道,你可能會想:「AI 畫的圖能用嗎?會不會很奇怪?」別急,這幾年 AI 繪圖的進步速度,比我桌上程式碼的 bug 增加速度還快。以 OpenAI 的 DALL-E 3、Midjourney 和 Stable Diffusion 為首的繪圖模型,現在產出的圖片品質,早就不是當年那種獵奇風格了。

整合 AI 生成圖片到 WordPress,不只是為了『酷』,它帶來的是實質的效益:

  • 獨一無二的視覺內容: 告別跟競爭對手用同一張圖庫照片的尷尬。每一張 AI 生成的圖片都是專屬於你的,能完美貼合你的品牌風格與文章主題。
  • 成本與時間的雙重解放: 省下昂貴的圖庫訂閱費。更重要的是,省下你來回搜尋、比對、裁切圖片的寶貴時間。身為工程師,時間就是我們最寶貴的資源,能用程式解決的事,絕不動手。
  • 無限的創意延伸: 只需要一段文字描述(我們稱之為 Prompt),AI 就能為你生成各種超乎想像的畫面。從賽博龐克風格的城市夜景,到水彩畫風的可愛小貓,只有你想不到,沒有它畫不出來。
  • 提升 SEO 潛力: 獨特的圖片更容易吸引使用者目光,增加頁面停留時間。更棒的是,我們可以透過自動化流程,讓 AI 根據文章內容生成精準的圖片替代文字(Alt Text),對 SEO 來說是一大利多。

整合實戰:兩種路徑,總有一款適合你

好了,說了這麼多好處,該來點硬核的了。要把 AI 繪圖師請進 WordPress,主要有兩種路徑:『外掛捷徑』和『API 直連』。下面我會詳細解析這兩種方法的優劣與實作步驟。

路徑一:外掛捷徑(適合想快速上手的你)

對於不想碰程式碼的朋友,使用現成的 WordPress 外掛是最快的方式。市面上有不少優秀的外掛,它們已經把複雜的 API 串接工作都打包好了,你只需要安裝、設定 API 金鑰,就能在編輯器裡直接呼叫 AI 繪圖。

目前比較主流的選擇有:

  • Imajinn AI: 專注於與 Midjourney 整合,可以在 WordPress 後台直接生成高品質圖片。
  • AI Power: 一個功能大補帖,除了文字內容生成,也整合了 DALL-E、Stable Diffusion 等多種模型的圖片生成功能。
  • Bertha AI: 另一個多功能的 AI 助手,同樣包含圖片生成的能力。

操作流程大概是這樣:

  1. 安裝並啟用外掛。
  2. 到外掛的設定頁面,填入你的 AI 服務 API 金鑰(例如 OpenAI API Key)。
  3. 在文章編輯頁面,你會找到一個新的按鈕或區塊,點擊後輸入你的圖片描述 (Prompt)。
  4. 外掛會生成圖片供你選擇,選定後一鍵插入媒體庫並設定為特色圖片。

工程師的小囉嗦:外掛雖然方便,但就像是套裝電腦,你很難對內部的零件做客製化。你得受限於外掛開發者提供的功能與介面,而且有些外掛的商業模式是走訂閱制或點數制,長期下來也是一筆開銷。如果你追求的是更深度的整合與自動化,那接下來的『API 直連』才是你的歸宿。

路徑二:API 直連(資深玩家與工程師首選)

好啦,我知道裝外掛很方便,但身為一個手癢的工程師,不自己動手 call API 總覺得少一味。這就像吃鹹酥雞不加九層塔,對,就是那種感覺。自己動手串接 API,意味著你可以打造完全客製化的工作流程,例如:『當文章發布時,自動抓取文章標題去生成特色圖片』,這種騷操作,只有透過 API 才能實現。

我們今天以目前最穩定且文件最齊全的 OpenAI DALL-E 3 API 為例,示範如何把它整合進你的 WordPress 主題。

Step 1: 取得你的 OpenAI API 金鑰

這一步很簡單,到 OpenAI Platform 註冊帳號,然後在 API Keys 頁面建立一組新的密鑰。記住,這組密鑰只會顯示一次,請務必妥善保管,不要直接寫在程式碼裡,最好的做法是存在 `wp-config.php` 檔案中。

打開你的 `wp-config.php`,在 `/* That's all, stop editing! Happy publishing. */` 這行註解上面,加入以下這行:

<?php define('OPENAI_API_KEY', 'sk-YourSuperSecretApiKey'); ?>

請將 `sk-YourSuperSecretApiKey` 換成你自己的金鑰。

Step 2: 在 functions.php 中撰寫核心功能

接下來,我們要打開你佈景主題的 `functions.php` 檔案(建議使用子佈景主題,避免主題更新時被覆蓋),把我們的 AI 繪圖師程式碼放進去。

2.1 呼叫 DALL-E 3 API 的函式

這個函式負責跟 OpenAI 溝通,告訴它我們想要什麼樣的圖片。

<?php function generate_image_with_dalle($prompt) { if (!defined('OPENAI_API_KEY')) { return new WP_Error('api_key_missing', 'OpenAI API key is not defined.'); } $api_key = OPENAI_API_KEY; $api_url = 'https://api.openai.com/v1/images/generations'; $body = array( 'model' => 'dall-e-3', // 指定使用 DALL-E 3 模型 'prompt' => $prompt, 'n' => 1, // 我們只需要生成一張圖片 'size' => '1024x1024', // 圖片尺寸,DALL-E 3 支援 1024x1024, 1792x1024, 1024x1792 'response_format' => 'url', // 讓 API 回傳圖片的 URL 'quality' => 'standard', // 也可以選擇 'hd',但會比較貴 ); $args = array( 'method' => 'POST', 'headers' => array( 'Content-Type' => 'application/json', 'Authorization' => 'Bearer ' . $api_key, ), 'body' => json_encode($body), 'timeout' => 120, // 生成圖片需要時間,把 timeout 拉長一點 ); $response = wp_remote_post($api_url, $args); if (is_wp_error($response)) { return $response; } $response_body = json_decode(wp_remote_retrieve_body($response), true); if (isset($response_body['data'][0]['url'])) { return $response_body['data'][0]['url']; } else { $error_message = isset($response_body['error']['message']) ? $response_body['error']['message'] : 'Unknown error from OpenAI API.'; return new WP_Error('api_error', $error_message); } } ?>
2.2 將圖片 URL 存入媒體庫的函式

API 回傳給我們的是一個圖片 URL,我們需要把它下載回來,並存進 WordPress 的媒體庫,這樣才能像一般的圖片一樣使用它。

<?php function save_image_to_media_library($image_url, $post_id, $description = '') { // 需要引入 WordPress 核心檔案才能使用 download_url 和 media_handle_sideload require_once(ABSPATH . 'wp-admin/includes/media.php'); require_once(ABSPATH . 'wp-admin/includes/file.php'); require_once(ABSPATH . 'wp-admin/includes/image.php'); // 下載圖片到暫存資料夾 $temp_file = download_url($image_url); if (is_wp_error($temp_file)) { return $temp_file; } // 整理檔案資訊 $file_info = pathinfo($temp_file); $file_name = sanitize_file_name($description) . '.png'; // 用描述來命名檔案,對 SEO 更好 $file = array( 'name' => $file_name, 'tmp_name' => $temp_file, ); // 將圖片 sideload 到媒體庫 $attachment_id = media_handle_sideload($file, $post_id); if (is_wp_error($attachment_id)) { // 刪除暫存檔 @unlink($temp_file); return $attachment_id; } // 更新圖片的 alt text,很重要! update_post_meta($attachment_id, '_wp_attachment_image_alt', $description); return $attachment_id; } ?>

Step 3: 打造自動化流程 - 發布文章時自動生成特色圖片

這才是 API 直連的精髓所在!我們要用 WordPress 的 Hook,在文章儲存或發布時,自動觸發我們的 AI 繪圖師。

這段程式碼會偵測文章在儲存時,如果還沒有設定特色圖片,就會自動抓取文章標題,加上一些我們預設的風格描述(例如 `cinematic style, high detail`),然後呼叫 API 生成圖片並設定為特色圖片。

<?php add_action('save_post', 'auto_generate_featured_image', 20, 2); function auto_generate_featured_image($post_id, $post) { // 如果是自動儲存的草稿,或文章已有特色圖片,就跳過 if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; if (has_post_thumbnail($post_id)) return; // 只針對 'post' 類型的文章 if ($post->post_type != 'post') return; // 只在文章狀態是 'publish' 或 'future' 時執行 if ($post->post_status != 'publish' && $post->post_status != 'future') return; // 避免無限迴圈 remove_action('save_post', 'auto_generate_featured_image', 20); // 組合 Prompt $prompt_base = $post->post_title; $prompt_style = ', in a digital art style, vibrant colors, cinematic lighting.'; // 在這裡客製化你的品牌風格 $full_prompt = $prompt_base . $prompt_style; // 呼叫 DALL-E API $image_url = generate_image_with_dalle($full_prompt); if (!is_wp_error($image_url) && !empty($image_url)) { // 儲存圖片到媒體庫 $attachment_id = save_image_to_media_library($image_url, $post_id, $prompt_base); if (!is_wp_error($attachment_id)) { // 設定為特色圖片 set_post_thumbnail($post_id, $attachment_id); } } // 把 action 加回來 add_action('save_post', 'auto_generate_featured_image', 20, 2); } ?>

把以上三段程式碼都加到你的 `functions.php` 後,存檔。現在,你去新增一篇沒有特色圖片的文章,然後點擊「發布」,稍等一下下... 重新整理頁面,神奇的事情發生了,一張由 AI 根據你標題生成的特色圖片就自動出現了!

進階思考:版權、風格與 Prompt 工程

整合成功後,我們還需要思考幾個更深層的問題。

AI 圖片的版權歸誰?

這是個大哉問。根據 OpenAI 目前的政策,你對透過他們服務生成的圖片擁有所有權,可以用於商業用途。但法律界對此仍有爭議,因為 AI 模型的訓練資料來源龐大複雜。我的建議是:用於部落格文章、社群媒體等內容行銷上,風險相對較低。但如果要用在註冊商標或核心產品上,最好還是諮詢法律專業人士。並且,保持透明,在適當的地方揭露圖片由 AI 生成,是一種負責任的做法。

如何維持品牌視覺一致性?

AI 的強項是多變,但這也可能是品牌經營的缺點。要讓 AI 產圖風格一致,關鍵在於「Prompt 工程」。在我們上面的程式碼範例中,`$prompt_style` 這個變數就是關鍵。你可以定義一組專屬於你品牌的風格關鍵字,例如:`minimalist design, pastel colors, flat illustration`,每次生成圖片時都帶上這段描述,就能產出風格相對統一的視覺內容。

這會不會讓內容變得廉價?

技術本身是中性的。AI 生成圖片可以是一個強大的內容加速器,也可以是製造大量低品質「內容農場」的工具。關鍵在於使用者的『意圖』。我們的目標是利用 AI 提升效率,把省下來的時間,用來構思更有深度的文章內容、規劃更好的使用者體驗,而不是單純地衝文章數量。AI 應該是你的副駕,而不是方向盤本身。

結論:你的 WordPress,從此有了專屬繪圖師

從手動在圖庫大海撈針,到現在只需要一個指令或一個動作,就能讓 AI 為你量身打造視覺內容,這不僅是工作流程的革命,更是內容創作思維的轉變。我們將有更多的精力,專注於『創造』本身,而不是被瑣碎的執行工作所束縛。

今天我們從外掛到 API,深度實作了 AI 生成圖片整合 WordPress 的方法。無論你是選擇方便快速的外掛,還是像我一樣享受自己動手打造工具的樂趣,都希望這篇文章能為你打開一扇新的大門。技術的浪潮不斷推進,擁抱它、駕馭它,你就能在數位內容的海洋中,航行得更快、更遠。

當然,如果你在整合過程中遇到任何問題,或者希望打造更複雜、更深度的 AI 自動化工作流,例如結合 n8n 打造全自動的內容生產線,都歡迎與我們浪花科技的團隊聊聊。我們專注於將複雜的技術,轉化為能為你企業賦能的實用工具。

延伸閱讀

準備好讓你的 WordPress 網站變得更智慧了嗎?立即聯繫浪花科技,讓我們為你打造專屬的 AI 整合解決方案!

// FAQ

常見問題

用 AI 生成特色圖片相比傳統圖庫有什麼好處?
AI 生成圖片能提供獨一無二、貼合品牌風格與文章主題的視覺內容,避免與競爭對手撞圖;同時省下昂貴的圖庫訂閱費與來回搜尋、比對、裁切的時間;只要一段文字描述(Prompt)就能延伸無限創意。此外可透過自動化流程讓 AI 依文章內容生成精準的圖片替代文字(Alt Text),對 SEO 也有幫助。
在 WordPress 整合 AI 繪圖有哪兩種做法?各適合誰?
主要有兩種路徑。「外掛捷徑」適合不想碰程式碼、想快速上手的人,安裝外掛(如 Imajinn AI、AI Power、Bertha AI)並填入 API 金鑰即可在編輯器中生成圖片,但功能受外掛限制、常採訂閱或點數制。「API 直連」則適合工程師與資深玩家,可打造完全客製化的自動化工作流,例如文章發布時自動依標題生成特色圖片。
呼叫 OpenAI DALL-E 3 API 生成圖片時有哪些重點參數?
向 https://api.openai.com/v1/images/generations 發送 POST 請求時,model 指定 dall-e-3,prompt 放圖片描述,n 設為生成張數,size 可選 1024x1024、1792x1024 或 1024x1792,response_format 設 url 讓 API 回傳圖片網址,quality 可選 standard 或較貴的 hd。由於生成需要時間,建議把請求 timeout 拉長(例如 120 秒)。
OpenAI API 金鑰要放在哪裡,DALL-E 3 回傳的圖片又如何進入媒體庫?
API 金鑰不應直接寫在程式碼裡,建議在 wp-config.php 中用 define('OPENAI_API_KEY', ...) 定義,並建議在子佈景主題中撰寫功能以免主題更新被覆蓋。DALL-E 3 回傳的是圖片 URL,需先把圖片下載回來,再透過 WordPress 的 media_handle_sideload 等函式(須先 require wp-admin/includes 下的 media.php 與 file.php)存入媒體庫,才能像一般圖片使用並設為特色圖片。
~/roamer-tech/newsletter // FREE
// newsletter

訂閱免費電子報

把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。

$
// final.exec()

準備好讓你的網站開始為你工作了嗎?