{"product_id":"generate-wordpress-image-alt-text-with-openai-vision-n8n","title":"Generate WordPress Image Alt Text with OpenAI Vision (n8n)","description":"\u003ch3\u003eAutomatically generate missing WordPress image alt text using OpenAI Vision (in n8n)\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow finds WordPress media library images that are missing alt text, generates concise, language-specific descriptions with the \u003cstrong\u003eOpenAI Chat Completions API using vision\u003c\/strong\u003e, validates the output, and (optionally) writes the \u003ccode\u003ealt_text\u003c\/code\u003e back to WordPress via the REST API.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns manually or on a schedule:\u003c\/strong\u003e it can be triggered by you, or run every \u003cstrong\u003eMonday at 9am\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFetches recent WordPress media:\u003c\/strong\u003e pulls image attachments from the WordPress REST API media endpoint.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFilters for missing alt text:\u003c\/strong\u003e selects images that have no existing alt text and limits processing to supported formats (\u003cstrong\u003eJPEG\/PNG\/WebP\u003c\/strong\u003e).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChooses an image URL:\u003c\/strong\u003e selects a suitable image URL for each media item.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGenerates alt text with OpenAI Vision:\u003c\/strong\u003e sends the image URL (and optional title context) to OpenAI, using the configured language and maximum length.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates and normalizes results:\u003c\/strong\u003e parses and validates JSON output, removes “Image of…”-style prefixes, enforces \u003ccode\u003emaxAltLength\u003c\/code\u003e, and marks items as ready or skipped.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOptional write-back:\u003c\/strong\u003e with \u003cem\u003edry run\u003c\/em\u003e enabled it outputs proposed alt text; otherwise it updates the media item’s \u003ccode\u003ealt_text\u003c\/code\u003e in WordPress.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eMaintain \u003cstrong\u003eSEO accessibility\u003c\/strong\u003e across a growing WordPress media library by auto-filling missing alt attributes.\u003c\/li\u003e\n  \u003cli\u003eRun a weekly compliance sweep for SaaS or agency sites to reduce manual content cleanup.\u003c\/li\u003e\n  \u003cli\u003eUse dry run first to review suggested alt text before updating WordPress.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eWordPress REST API\u003c\/strong\u003e with HTTP Basic Auth using a \u003cstrong\u003eWordPress Application Password\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOpenAI Chat Completions API\u003c\/strong\u003e with vision (configurable model, language, limits, and \u003ccode\u003emaxAltLength\u003c\/code\u003e).\u003c\/li\u003e\n  \u003cli\u003en8n nodes used: \u003cstrong\u003emanual trigger\u003c\/strong\u003e, \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003eset\u003c\/strong\u003e, \u003cstrong\u003ecode\u003c\/strong\u003e, \u003cstrong\u003esticky note\u003c\/strong\u003e, and \u003cstrong\u003eHTTP Request\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46244563058867,"sku":"N8N-21090","price":28.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/r7yh9t9V9inJ4YNCQTO3P_kh8RFqnV.png?v=1792402135","url":"https:\/\/buyflowscripts.com\/products\/generate-wordpress-image-alt-text-with-openai-vision-n8n","provider":"N8N Commerce","version":"1.0","type":"link"}