AIsketcher 0.3.0¶
Published release
AIsketcher 0.3.0 is available from the
PyPI project page.
The product is AIsketcher; the install identifier, Python import, and
command-line interface are lowercase aisketcher.
Install profiles¶
| Profile | Command | Includes |
|---|---|---|
| Core | python -m pip install "aisketcher==0.3.0" |
preparation, studies, export, replay |
| Studio | python -m pip install "aisketcher[demo]==0.3.0" |
core plus the local Gradio interface and Guided Sample |
| Local | python -m pip install "aisketcher[local]==0.3.0" |
core plus FLUX.2 and legacy Diffusers runtimes |
| Full local | python -m pip install "aisketcher[local,demo]==0.3.0" |
local generation and Studio |
The base wheel does not contain Torch, Diffusers, Gradio, model weights, or translation weights. Installing a Python extra adds runtime dependencies only. Network access begins only after a user reviews and confirms a pinned preparation plan.
FLUX.2 is the new live default¶
New settings and the Simple Auto choice resolve to the T4-validated
flux2-klein-edit@1 preset. It uses the input image as a reference and is the
recommended route for sketch-to-design, photo-led restyling, and instruction
edits.
sdxl-canny-lite@1 and sdxl-canny@1 remain registered as Legacy choices.
Use them to replay an existing SDXL manifest or when strict Canny edge
conditioning is an intentional requirement. The historical Pocket Kingdom and
heritage examples continue to identify their recorded SDXL recipes; their
presence does not redefine the v0.3 live default.
The supported interactive FLUX.2 path requires CUDA and was validated on a 16 GB NVIDIA T4. CPU remains available for Guided Sample and deterministic test fixtures, not live generation. Apple Silicon MPS is experimental and limited to the Legacy SDXL path.
Studio makes preparation and recovery explicit¶
Simple now explains what each model is best for, whether its pinned files are
cached, the expected transfer, device requirements, and license notices.
Preparing FLUX.2 for the first time is roughly 16.2 GB. When the pinned local
MIT-licensed facebook/m2m100_418M Korean→English helper is absent, the same
plan also shows its roughly 1.9 GB transfer and immutable revision
55c2e61bbf05dfb8d7abccdc3fae6fc8512fd636.
Selecting Review & prepare model explicitly confirms both the chosen image model and Korean helper downloads. Leaving setup before pressing it, or continuing to explore the Guided Sample, performs no download. Complete pinned image-model entries are reused only after the current Studio process streams every exact runtime file — configuration and tokenizer data as well as weights — through its reviewed size and SHA-256 policy. The persistent marker is provenance, not authentication; process-local stat receipts make repeated checks fast without letting a forged marker authorize a backend load. On the validated T4, checking the 16.2 GB FLUX cache can take up to about one minute with zero network transfer. The helper uses its pinned Transformers cache below the same AIsketcher cache root.
The user-authored Korean brief remains the source of truth. Studio prepares a
separate English model prompt only with the pinned local helper and records the
original, prepared text, helper ID and revision, and later refinement
instruction. Before translation, a deterministic glossary protects recognized
visual-design terminology. This is a bounded terminology aid rather than a
claim of perfect Korean translation. If the helper is not ready, Studio stops
before model or GPU work instead of sending unsupported Korean text to the
image model. The adapter also disables Transformers’ background conversion-PR
fetch during the pinned M2M100 PyTorch-weight load, so an unreviewed
refs/pr/* artifact cannot silently escape the selected revision. Packaged
Studio stores that helper in the same resolved AIsketcher cache root as its
image models instead of relying on an unrelated global Hugging Face cache.
Generation and preparation expose Stop. Queued work is removed immediately; active generation stops at a backend step or output boundary, image-model preparation checks Stop between streamed integrity chunks or curated download groups, and helper setup checks Stop between tokenizer and model loading. Reconnecting the same browser session restores a running or stopping job and its Stop control. Refreshing alone does not cancel GPU work. If the temporary Studio server has ended, a recovery layer explains that the old address may have expired and offers a deliberate reload.
FLUX.2 does not expose native denoise strength. AIsketcher applies
subtle, balanced, and bold through deterministic edit instructions,
includes the requested structure lock, and records the approximation method in
candidate metadata instead of claiming that an unsupported pipeline argument
was used.
Guided Sample is the reviewed HPO hero study¶
The packaged, hash-verified v0.3 Guided Sample is now the privacy-reviewed HPO hero study. It opens without a model, network connection, or GPU and records the exact prepared input, historical SDXL Canny recipe, four candidates, selection, seeds, hashes, and manifest. Pocket Kingdom remains a separate documentation-only canonical lineage example.
Selecting Refine this direction on that fixture now opens a focused model-preparation layer instead of an error notification. The selected direction and optional refinement instruction remain visible while the user reviews the recommended model. Keep exploring the sample closes the layer without changing the fixture.
The Simple results area presents four larger direction cards without an inner gallery scrollbar. A live selection opens an additional refinement-instruction field, and progress labels distinguish elapsed time from an estimate rather than presenting the estimate as a timeout.
Completed compatibility removal¶
Version 0.3.0 completes the removal announced by the v0.2 line:
import AIsketcherandAIsketcher.img2imgare no longer packaged;aisketcher.modelPipeis no longer packaged;- new and migrated code must import lowercase
aisketcherand use theprepare → explore → pick → vary → export → replayworkflow.
Cloud translation and credential arguments remain removed. See the 0.0.x migration guide for the replacement API and the history boundary.
Release and documentation publishing¶
Publishing the GitHub Release from the matching v0.3.0 tag starts the
protected PyPI workflow. Before checkout or upload it requires an existing
published, non-prerelease Release and verifies that its tag belongs to the
current default-branch history and matches the immutable workflow event SHA.
It also requires a successful first-party CI run for that exact SHA, not merely
a green run from another commit. It repeats the Release and ancestry checks
immediately before PyPI, then verifies that the tag, project metadata, package
version, lockfile, and release notes agree; runs the test suite; builds and
checks one wheel and one source archive; scans the repository and distributions;
and smoke-tests the exact wheel before Trusted Publishing.
The build job is the canonical one-time artifact producer. It records the
wheel and source-archive SHA-256 values, then the protected pypi environment
waits for its required reviewer. The exact Actions wheel can therefore be
downloaded and exercised on the Azure T4 before approval. After approval, the
publish job rechecks those same artifact bytes. For a new version it uploads
both through Trusted Publishing. If an earlier attempt left a wheel on PyPI,
recovery accepts it only when its SHA-256 and bytes exactly match the
Azure-approved Actions wheel. A pre-existing source archive must match its PyPI
digest and the normalized approved contents, but may differ in archive-container
representation such as timestamps and compression metadata because the
setuptools sdist is not byte-reproducible in this configuration. The workflow
uploads only a missing distribution and requires
every newly uploaded file to match the approved SHA-256 and bytes. An unexpected
or content-different file fails closed. It finally downloads the complete pair
from PyPI and preserves it as the canonical PyPI/Release distribution set.
The workflow derives SOURCE_DATE_EPOCH from the immutable commit and builds
the wheel directly from reviewed source, separately from the source archive.
That direct same-toolchain wheel build is byte-reproducible; the source archive
is the only normalized-recovery exception.
PyPI renders README.md from the metadata embedded in that immutable release
artifact. Publishing the tagged release therefore updates the PyPI
introduction together with the installable files. Editing main, this release
page, the README, or an existing GitHub Release later does not mutate an
already-published PyPI version.
GitHub Pages is deliberately separate. The current pages.yml workflow is
manual-only, reruns documentation policy tests, builds MkDocs in strict mode,
reads the existing Pages configuration with read-only Pages permission, and
grants write permission only to the deployment job. Publishing the Python
package does not automatically deploy Pages.
Provenance boundary¶
The README hero artwork, historical HPO-selected seed
6764547109648557242, bundled sample manifests, and 0.2.x release notes retain
their recorded provenance. Model weights, private inputs, and artwork are not
part of the MIT-licensed source. Review the
artwork notice
before reusing repository images.