Plugin.Maui.Spine.Server.AI.Assets
0.1.19
dotnet add package Plugin.Maui.Spine.Server.AI.Assets --version 0.1.19
NuGet\Install-Package Plugin.Maui.Spine.Server.AI.Assets -Version 0.1.19
<PackageReference Include="Plugin.Maui.Spine.Server.AI.Assets" Version="0.1.19" />
<PackageVersion Include="Plugin.Maui.Spine.Server.AI.Assets" Version="0.1.19" />
<PackageReference Include="Plugin.Maui.Spine.Server.AI.Assets" />
paket add Plugin.Maui.Spine.Server.AI.Assets --version 0.1.19
#r "nuget: Plugin.Maui.Spine.Server.AI.Assets, 0.1.19"
#:package Plugin.Maui.Spine.Server.AI.Assets@0.1.19
#addin nuget:?package=Plugin.Maui.Spine.Server.AI.Assets&version=0.1.19
#tool nuget:?package=Plugin.Maui.Spine.Server.AI.Assets&version=0.1.19
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.19)
- Plugin.Maui.Spine.Server.Messaging (>= 0.1.19)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.