Plugin.Maui.Spine.Server.AI.Assets
0.1.37
dotnet add package Plugin.Maui.Spine.Server.AI.Assets --version 0.1.37
NuGet\Install-Package Plugin.Maui.Spine.Server.AI.Assets -Version 0.1.37
<PackageReference Include="Plugin.Maui.Spine.Server.AI.Assets" Version="0.1.37" />
<PackageVersion Include="Plugin.Maui.Spine.Server.AI.Assets" Version="0.1.37" />
<PackageReference Include="Plugin.Maui.Spine.Server.AI.Assets" />
paket add Plugin.Maui.Spine.Server.AI.Assets --version 0.1.37
#r "nuget: Plugin.Maui.Spine.Server.AI.Assets, 0.1.37"
#:package Plugin.Maui.Spine.Server.AI.Assets@0.1.37
#addin nuget:?package=Plugin.Maui.Spine.Server.AI.Assets&version=0.1.37
#tool nuget:?package=Plugin.Maui.Spine.Server.AI.Assets&version=0.1.37
Plugin.Maui.Spine.Server.AI.Assets
Generated images for a Spine server, made once and served from blob storage. A lookup answers with the image's URL, or orders the image and answers 202. A Spine messaging handler makes it through a metered, budgeted Plugin.Maui.Spine.Server.AI image feature, runs the app's check, and archives it under a versioned path. A version bump remakes images lazily, and failures are visible to the app.
dotnet add package Plugin.Maui.Spine.Server.AI.Assets
builder.Services.AddSpineAI(cfg.GetSection("Ai"), ai => ai.Image("openai", (p, model) => new OpenAIClient(p["ApiKey"]).GetImageClient(model).AsIImageGenerator()).UseInMemoryUsageStore());
builder.Services.AddSpineMessaging(m => m.UseAzureStorage().AddGeneratedAssets());
builder.Services.AddSpineAIAssets(cfg.GetSection("Ai"), assets =>
{
assets.Asset<string, PostcardPrompt>("Postcard").Check<PostcardCheck>();
assets.UseAzureBlobStore();
});
builder.Services.AddSpineMessagePump(GeneratedAssetMessagingExtensions.DefaultSubscriber);
app.MapSpineAIAssets(); // GET /ai/assets/{feature}/{key}: 200 ready, 202 pending, 502 failed
"Ai": { "Features": { "Postcard": {
"Kind": "Image", "Provider": "openai", "Model": "gpt-image-1-mini",
"Asset": { "Version": 1, "Expose": true, "OrdersPerMinute": { "Installation": 5 } }
} } }
IGeneratedAssetPrompt<TKey> says which keys exist and builds the request, and an optional IGeneratedAssetCheck<TKey> refuses images that are not right. Spine never sees the data behind a key.
Documentation: Generated assets.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Azure.Storage.Blobs (>= 12.30.1)
- Plugin.Maui.Spine.Server.AI (>= 0.1.37)
- Plugin.Maui.Spine.Server.Messaging (>= 0.1.37)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.37 | 43 | 10/30/2026 |
| 0.1.36 | 68 | 10/27/2026 |
| 0.1.35 | 66 | 10/27/2026 |
| 0.1.34 | 66 | 10/27/2026 |
| 0.1.33 | 66 | 10/27/2026 |
| 0.1.32 | 68 | 10/27/2026 |
| 0.1.31 | 68 | 10/27/2026 |
| 0.1.30 | 68 | 10/27/2026 |
| 0.1.29 | 84 | 10/26/2026 |
| 0.1.28 | 76 | 10/26/2026 |
| 0.1.27 | 82 | 10/26/2026 |
| 0.1.26 | 89 | 10/24/2026 |
| 0.1.25 | 78 | 10/24/2026 |
| 0.1.24 | 79 | 10/23/2026 |
| 0.1.23 | 79 | 10/23/2026 |
| 0.1.22 | 85 | 10/23/2026 |
| 0.1.21 | 77 | 10/23/2026 |
| 0.1.20 | 84 | 10/23/2026 |
| 0.1.19 | 88 | 10/22/2026 |
| 0.1.18 | 92 | 10/21/2026 |