SDMetaKit.Core
1.0.9
dotnet add package SDMetaKit.Core --version 1.0.9
NuGet\Install-Package SDMetaKit.Core -Version 1.0.9
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SDMetaKit.Core" Version="1.0.9" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SDMetaKit.Core" Version="1.0.9" />
<PackageReference Include="SDMetaKit.Core" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SDMetaKit.Core --version 1.0.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SDMetaKit.Core, 1.0.9"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SDMetaKit.Core@1.0.9
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SDMetaKit.Core&version=1.0.9
#tool nuget:?package=SDMetaKit.Core&version=1.0.9
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
SDMetaKit.Core
Parse and write Stable Diffusion image metadata in the A1111/Automatic1111 and Forge text format.
Supports PNG tEXt chunks (parameters keyword) and JPEG EXIF (UserComment, ImageDescription).
Install
dotnet add package SDMetaKit.Core
Quick start
using SDMetaKit;
// Parse a PNG or JPEG file
var meta = await SdMetaKit.ParseFileAsync(@"C:\outputs\image.png");
Console.WriteLine(meta.Prompt);
Console.WriteLine(meta.Steps); // "20"
Console.WriteLine(meta.Sampler); // "Euler a"
Console.WriteLine(meta.Seed);
// Parse raw parameters text (no file I/O)
const string text = """
a cat on a windowsill
Negative prompt: blurry, watermark
Steps: 28, Sampler: DPM++ 2M, CFG scale: 7, Seed: 42, Size: 512x768, Model: sd_xl
""";
var fromText = SdMetaKit.Parse(text);
// Inject parameters into a PNG (returns new byte array)
byte[] png = await File.ReadAllBytesAsync("input.png");
byte[] withMeta = SdMetaKit.InjectParametersText(png, text);
// Portable blob encoding (SDMK1:base64url(deflate(json)))
string blob = SdMetaKit.EncodeBlob(meta);
if (SdMetaKit.TryDecodeBlob(blob, out var roundTrip))
Console.WriteLine(roundTrip!.Prompt);
API surface
| Method | Description |
|---|---|
ParseFileAsync(path) |
Extract + parse metadata from PNG/JPEG |
Parse(text) |
Parse A1111 parameters block from string |
InjectParametersText(png, text) |
Write tEXt chunk before IEND |
EncodeBlob / DecodeBlob |
Compact metadata transport format |
CreateExtractor() / CreateParser() / CreateWriter() |
DI-friendly factories |
Extraction options
// SDPack-style: accept short EXIF comments without length filter
var meta = await SdMetaKit.ParseFileAsync(path, ExtractionOptions.NoLengthFilter);
Related projects
- SDMetaKit — CLI (
sdmk), REST API, and this core library - Used by SDILab (SDPack, SDInfo, SDForgePanel)
License
MIT — see LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- MetadataExtractor (>= 2.9.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.