Seven lessons in, the shape of this course should be clear: some of what you’d want from “AI for images, audio, and video in WordPress” is real, shipped, and safe to build production features on today. Some of it is a workable pattern built from general-purpose methods rather than a dedicated feature. And some of it doesn’t exist in the SDK at all yet, full stop. This closing lesson doesn’t teach new code, it’s a single, honest reference point for exactly where each capability stands, so you can make that call correctly for your own project without re-deriving it from scratch, and so you know what to go back and check as the SDK keeps shipping.
All seven previous lessons in this course. This lesson assumes you’ve built at least the image generation pipeline from Lesson 1 and the vision pattern from Lesson 2, and is meant to be read after them, not before.
Step 1: The status of every capability this course covered
| Capability | Status | What this course used |
|---|---|---|
| Text generation | Confirmed, shipped, WordPress 7.0 core | wp_ai_client_prompt()->generate_text(), covered fully in Course 5 |
| Embeddings | Confirmed, shipped, standalone AiClient class, not wp_ai_client_prompt() | AiClient::input()->generateEmbedding(), used for video summaries in Lesson 4, full depth in Course 10 |
| Image generation | Confirmed, shipped, documented by WordPress itself | with_text(), as_output_file_type(), as_output_media_orientation(), generate_image_result(), Lesson 1 |
| Vision (describing/tagging an existing image) | Workaround, not a dedicated method | with_file() plus generate_text(), Lessons 2, 5, 6, and 7 |
| Multimodal prompts (image plus text together) | Workaround, same underlying methods as vision | with_file() and with_text() combined, Lesson 7 |
| Audio transcription (speech to text) | Not in the SDK at all | Direct HTTP call to a provider’s own transcription API, Lesson 3 |
| Text-to-speech / speech generation | Confirmed as a named capability in the SDK, not covered hands-on in this course | Not built in this course, worth its own investigation if you need it |
| Video generation | Listed as a named capability in the SDK, not covered hands-on in this course | Not built in this course, this course generated video summaries from existing transcripts, not video itself |
That last two rows matter: this course didn’t ignore text-to-speech or video
generation out of carelessness, they’re named capabilities in the SDK’s own
CapabilityEnum, but building real, tested lessons around them was outside this
course’s verified scope. Treat them as “worth checking, not yet covered here” rather
than assuming they’re either fully solid or entirely absent.
Step 2: Why the workaround rows deserve real caution
“It works when I tested it” and “it’s a supported feature” are different claims, and the difference matters most for the rows marked as workarounds above. A dedicated, named method usually comes with the SDK handling provider-specific quirks for you, how different models expect image data formatted, size limits, error shapes. A general-purpose method pressed into a job it wasn’t specifically designed for doesn’t carry that same guarantee. Lessons 2, 5, 6, and 7 all lean on exactly this distinction, and all of them recommended a human review step or an explicit fallback path rather than treating the AI’s output as automatically correct. That recommendation isn’t extra caution for its own sake, it’s a direct consequence of building on a workaround rather than a confirmed feature.
Step 3: Where to check for updates yourself
The two most reliable places to verify whether anything in this course has changed:
Specifically, check CapabilityEnum for a new constant like a speech-to-text or
transcription capability, and check PromptBuilder for a new method with a name like
analyzeImage() or transcribe(). Either one appearing would mean this course’s
workaround lessons (2, 3, 5, 6, and 7) should shift from “the honest current path” to
“the old way, before the SDK added a dedicated method,” worth revisiting at that point.
Most builders in this SDK expose an isSupportedFor...() style check,
isSupportedForImageGeneration() was used in Lesson 1’s gotcha callout. If a
similarly-named check exists for a capability you’re unsure about, calling it against
your configured provider is faster than reading the SDK’s source to confirm support.
Step 4: A plain recommendation for each capability
Recap
Image generation into the media library is the one fully confirmed, shipped
capability this course covered end to end, safe to build production features on
directly. Vision and multimodal comparison prompts work today through with_file()
plus generate_text(), a real and useful pattern, but one built from general-purpose
methods rather than a dedicated feature, and worth pairing with human review
accordingly. Audio transcription isn’t in the SDK at all, a direct provider integration
is the honest current answer. Text-to-speech and video generation are named
capabilities worth investigating on your own before building on them, since this
course didn’t verify hands-on detail for either. Check CapabilityEnum and
PromptBuilder in the SDK’s repository periodically, since any of these rows can move
from “workaround” to “confirmed” as WordPress’s AI Client keeps shipping.
Resources & further reading
- PHP AI Client SDK repository, GitHub
- Introducing the AI Client in WordPress 7.0, make.wordpress.org
- Introducing the WordPress AI Client SDK, make.wordpress.org
- How to build an image generation plugin with the WordPress AI Client, developer.wordpress.org