Repository navigation
docs(ai): Add Image Generation capability documentation (v17 + v18) - #8222
mattbrailsford wants to merge 12 commits into
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… in image generation docs - WithAlias not required for GetSupportedModelsAsync (read-only metadata lookup) - Expand responseFormat descriptions to clarify use cases (URI, base64 data, hosted resource) - Add UMBRACOAI_IMAGEGEN pragma to builder options snippet - Sync edits across v18 and v17 documentation Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks for opening this PR! 🎉 Quick question: Does this PR include any AI-generated content? AI tools are absolutely welcome here! We only ask that you follow our AI contribution guidelines to help keep the documentation consistent and trustworthy. Drop a quick comment to let us know! |
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
vale
18/ai-in-umbraco/management-api/image-generation/generate-image.md|42 col 58| [UmbracoDocs.Spelling] Check the word 'maskless' for typos.
18/ai-in-umbraco/management-api/image-generation/generate-image.md|42 col 114| [UmbracoDocs.Spelling] Check the word 'outpainting' for typos.
18/ai-in-umbraco/providers/openai.md|8 col 27| [UmbracoDocs.Acronyms] 'GPT' has no definition.
18/ai-in-umbraco/using-the-api/image-generation/generating-images.md|75 col 43| [UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.
18/ai-in-umbraco/using-the-api/image-generation/generating-images.md|106 col 41| [UmbracoDocs.Spelling] Check the word 'Maskless' for typos.
18/ai-in-umbraco/using-the-api/image-generation/generating-images.md|106 col 66| [UmbracoDocs.Spelling] Check the word 'outpainting' for typos.
18/ai-in-umbraco/using-the-api/image-generation/editing-images.md|3 col 41| [UmbracoDocs.Spelling] Check the word 'maskless' for typos.
18/ai-in-umbraco/using-the-api/image-generation/editing-images.md|3 col 100| [UmbracoDocs.Spelling] Check the word 'outpainting' for typos.
18/ai-in-umbraco/using-the-api/image-generation/editing-images.md|12 col 4| [UmbracoDocs.Spelling] Check the word 'Maskless' for typos.
18/ai-in-umbraco/using-the-api/image-generation/editing-images.md|43 col 11| [UmbracoDocs.Spelling] Check the word 'outpainting' for typos.
18/ai-in-umbraco/using-the-api/image-generation/README.md|18 col 1| [UmbracoDocs.ListStart] List items should start with a capital letter, unless they begin with an inline code or a URL.
18/ai-in-umbraco/using-the-api/image-generation/README.md|19 col 3| [UmbracoDocs.ListStart] List items should start with a capital letter, unless they begin with an inline code or a URL.
18/ai-in-umbraco/using-the-api/image-generation/README.md|20 col 1| [UmbracoDocs.ListStart] List items should start with a capital letter, unless they begin with an inline code or a URL.
18/ai-in-umbraco/using-the-api/image-generation/README.md|59 col 6| [UmbracoDocs.Spelling] Check the word 'Maskless' for typos.
18/ai-in-umbraco/using-the-api/image-generation/README.md|60 col 13| [UmbracoDocs.Spelling] Check the word 'outpainting' for typos.
18/ai-in-umbraco/using-the-api/image-generation/README.md|109 col 83| [UmbracoDocs.Spelling] Check the word 'maskless' for typos.
| The Image Generation capability produces images from text prompts: | ||
|
|
||
| - Text-to-image generation | ||
| - Maskless image editing (transform supplied images) |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[UmbracoDocs.Spelling] Check the word 'Maskless' for typos.
|
|
||
| - Text-to-image generation | ||
| - Maskless image editing (transform supplied images) | ||
| - Provider-native masked outpainting via an escape hatch |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[UmbracoDocs.Spelling] Check the word 'outpainting' for typos.
|
|
||
| ## Exposing a provider-native client (optional) | ||
|
|
||
| To let consumers reach your provider's native client for masked outpainting (Tier 3), return an `IImageGenerator` that overrides `GetService` to resolve that client (as the OpenAI provider does with `OpenAIClient`). Wrap the M.E.AI adapter in a `DelegatingImageGenerator` and return your native client for its type in `GetService`. |
There was a problem hiding this comment.
[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.
|
|
||
| ## Exposing a provider-native client (optional) | ||
|
|
||
| To let consumers reach your provider's native client for masked outpainting (Tier 3), return an `IImageGenerator` that overrides `GetService` to resolve that client (as the OpenAI provider does with `OpenAIClient`). Wrap the M.E.AI adapter in a `DelegatingImageGenerator` and return your native client for its type in `GetService`. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[UmbracoDocs.Spelling] Check the word 'outpainting' for typos.
|
|
||
| ## Exposing a provider-native client (optional) | ||
|
|
||
| To let consumers reach your provider's native client for masked outpainting (Tier 3), return an `IImageGenerator` that overrides `GetService` to resolve that client (as the OpenAI provider does with `OpenAIClient`). Wrap the M.E.AI adapter in a `DelegatingImageGenerator` and return your native client for its type in `GetService`. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[UmbracoDocs.Spacing] '.E' should have one space.
|
|
||
| ## Exposing a provider-native client (optional) | ||
|
|
||
| To let consumers reach your provider's native client for masked outpainting (Tier 3), return an `IImageGenerator` that overrides `GetService` to resolve that client (as the OpenAI provider does with `OpenAIClient`). Wrap the M.E.AI adapter in a `DelegatingImageGenerator` and return your native client for its type in `GetService`. |
There was a problem hiding this comment.
[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.
|
|
||
| ## Exposing a provider-native client (optional) | ||
|
|
||
| To let consumers reach your provider's native client for masked outpainting (Tier 3), return an `IImageGenerator` that overrides `GetService` to resolve that client (as the OpenAI provider does with `OpenAIClient`). Wrap the M.E.AI adapter in a `DelegatingImageGenerator` and return your native client for its type in `GetService`. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[UmbracoDocs.Spelling] Check the word 'outpainting' for typos.
|
|
||
| ## Exposing a provider-native client (optional) | ||
|
|
||
| To let consumers reach your provider's native client for masked outpainting (Tier 3), return an `IImageGenerator` that overrides `GetService` to resolve that client (as the OpenAI provider does with `OpenAIClient`). Wrap the M.E.AI adapter in a `DelegatingImageGenerator` and return your native client for its type in `GetService`. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[UmbracoDocs.Spacing] '.E' should have one space.
| Image Generation is **experimental**. When the `Umbraco:AI:Experimental:ImageGeneration` feature flag is disabled, these endpoints return **404**. See [Enabling image generation](../../using-the-api/image-generation/README.md#enabling-image-generation). | ||
| {% endhint %} | ||
|
|
||
| The Image Generation API generates images from a text prompt, with optional maskless editing of supplied images. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[UmbracoDocs.Spelling] Check the word 'maskless' for typos.
| @@ -0,0 +1,92 @@ | |||
| --- | |||
| description: >- | |||
| Generate one or more images from a text prompt, with optional maskless edit. | |||
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[UmbracoDocs.Spelling] Check the word 'maskless' for typos.
- Add 'maskless' and 'outpainting' to the umbraco dictionary - Add GPT to the Acronyms exceptions list - Wrap Microsoft.Extensions.AI in inline code to satisfy the spacing rule - Capitalize list items and split long sentences Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The Link Checker found broken links in your PR. Broken links found in: 17/ai-in-umbraco/providers/openai.md ⚠ Unknown error → [403] https://platform.openai.com/ |#124; Rejected status code: 403 Forbidden (configurable with "accept" option) Broken links found in: 18/ai-in-umbraco/providers/openai.md ⚠ Unknown error → [403] https://platform.openai.com/ |#124; Rejected status code: 403 Forbidden (configurable with "accept" option) |
platform.openai.com returns 403 to automated tools (anti-bot). This pre-existing link surfaced when providers/openai.md was edited, since Lychee re-checks all links in changed files. Matches the existing pattern for dotnet.microsoft.com and other 403 hosts. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Just to note, this is currently draft because the feature isn't released yet and I just wanted to prep the doc PR. Will convert once feature is released. |
📋 Description
Adds documentation for the Image Generation capability in Umbraco.AI, at full parity with the existing capabilities (Chat, Embedding, Speech-to-Text). Image Generation is experimental — gated behind the
Umbraco:AI:Experimental:ImageGenerationfeature flag and theUMBRACOAI_IMAGEGENdiagnostic — and the docs make that status and enablement prominent throughout.All content is added identically to both the v17 and v18 doc lines (byte-identical
.mdfiles).New pages (× both
17/and18/):using-the-api/image-generation/— overview + canonical "Enabling image generation" section,generating-images(text-to-image),editing-images(maskless edit + masked-outpainting escape hatch)extending/providers/image-generation-capability.md— implementingAIImageGeneratorCapabilityBase<TSettings>management-api/image-generation/— section README +generate-imageendpoint referencefrontend/image-generation-controller.md—UaiImageGenerationControllerEdited pages: capabilities concept,
AICapabilityreference (ImageGeneration = 5),AIOptionsconfig reference (+ Experimental Features section), OpenAI provider page, providers matrix, andSUMMARY.mdnavigation.Verified: all
SUMMARY.mdlinks resolve,17↔18.mdparity holds, and cross-page links/anchors are consistent.📎 Related Issues (if applicable)
N/A
✅ Contributor Checklist
I've followed the Umbraco Documentation Style Guide and can confirm that:
Product & Version (if relevant)
Umbraco.AI — v17 and v18 (both active support lines). Feature is experimental and not yet released.
Deadline (if relevant)
Aligns with the release of the Image Generation capability (currently experimental / unreleased).
🤖 Generated with Claude Code