Light stipple dots form a side-profile portrait on a dark background

The renderer samples photographic luminance on a weighted grid and relaxes point locations toward the tone-weighted centroids of their nearest regions. It draws each point as an SVG circle; light or dark tone mode selects which source regions receive more dots. Owned portraits and all point placement run locally. If a suitable source is missing, PopNow can generate one after a quote and approval. Point count and relaxation passes drive local processing work.

Uses PopNow for
Images
Needs
Python 3

Generation is optional when you have suitable input material.

v1.0.0 · Updated Oct 25, 2026 · 5.8 MB · Use it for personal and client work; please don't resell or share the package.

What you get

  1. Stipple portrait PNG and editable circle SVG

  2. Close-up artwork proof and original-source proof

  3. Point ledger, copied input and portable brief

Good for

  • Dotted portrait prints and editorial illustrations
  • Light-ink portraits on a dark background

Not for

  • True engraved or physically plotted output certification
  • Recovery of detail absent from the photograph

How it works

Includes a local renderer

  1. Choose the input

    Choose a portrait whose lighting separates the face from the background.

  2. Render and inspect

    Relax the luminance-weighted dots and inspect the full view and near-detail proof.

  3. Adjust and export

    Tune density, radius or gamma before saving the vector circles.

How the workflow runs

How Stippled ink portrait works

The renderer samples photographic luminance on a weighted grid and relaxes point locations toward the tone-weighted centroids of their nearest regions. It draws each point as an SVG circle; light or dark tone mode selects which source regions receive more dots.

What's inside the skill

What you can change

  • point_count: 500–6000 circles
  • relaxation_steps: 1–14 centroid passes
  • dot_radius and luminance gamma
  • light/dark tone, ink and background colors

What to review before delivery

  • The point ledger contains exactly the requested number of circles.
  • Every circle center lies inside the declared canvas and every radius is positive.
  • The saved brief reproduces the PNG and SVG; unsafe replacement is rejected.

See the package files

These are selected working files from this edition, with their actual role. The complete download also contains instructions and applicable license notices.

  • The domain algorithm and invariant checks.

    scripts/recipe.py
  • Runnable, editable example parameters.

    examples/brief.json
  • Control meanings, proof interpretation and limits.

    references/design-notes.md

Why use this skill

Start with this package

The package already implements weighted placement, dot export and a readable near-detail proof. It avoids manually positioning thousands of dots or describing stippling only as a prompt style.

What PopNow adds

Use PopNow for the missing Images in this workflow. Keep adequate material you already own, then bring new assets back into the editing and assembly steps described here.

Compare the options

A prompt, your own skill, or this workflow?

Start with a prompt

Your agent can create from a plain request. The brief, visual rules, asset choices, output format and review process still need to be established for that project.

Write your own skill

You choose and maintain the reusable instructions, defaults, file structure and checks. This is useful when your process needs different rules or integrations.

A workflow created for PopNow

This workflow was built for PopNow. Its source files, included dependencies and applicable notices are part of the package; the scope described below belongs to this edition.

Guide reviewed Oct 25, 2026

What will this cost?

Owned portraits and all point placement run locally. If a suitable source is missing, PopNow can generate one after a quote and approval. Point count and relaxation passes drive local processing work.

Generation is optional when you have suitable input material. Free skill. New media is quoted before it runs.

The skill package

Free to install under your account's download allowance. The package license covers your own and client work; redistribution is excluded.

Existing assets and local work

Reusing suitable assets, editing files and running local assembly do not call a PopNow generation model. Your computer and any required runtime still do the work.

New AI images, clips or sound

Quoted for the actual model, inputs, count, duration and resolution. Extra alternatives, revisions or optional enhancement passes can add generation requests.

Your agent and hosting

Any subscription, hosted computer, deployment or other provider fee belongs to that service. Installing this skill does not include those services.

Check the cost of your version first

Your assistant can inspect the available models and quote the exact request first. You choose which optional passes to include and approve spending before generation.

Ask your assistant

  • Use the PopNow skill "Stippled ink portrait" for my project. List the inputs you can reuse, quote only the missing media, show the quoted total and flag any unpriced steps. Separate optional enhancements, and wait for my approval before starting anything paid.

How PopNow billing works

Connections using a PopNow API key, including API-key MCP connections, spend from the separate API balance in USD. A ChatGPT or Claude connection authorized through OAuth spends website credits. These balances are separate; the quote shown by your connection is the approval basis.

Download allowances and current account conditions apply. A free package does not mean unlimited free generation.

How to use it

You say

  • Use the PopNow skill "Stippled ink portrait" (stippled-ink-portrait) for this: Choose a portrait whose lighting separates the face from the background. Use the packaged example as a starting point and return the actual artwork with its editable inputs.

Then try

  • Rebuild a visibly different version using point_count: 6000 → 1100.

  • Explain the result using its actual proof files and algorithm ledger.

What to have ready

  • A high-contrast portrait you may use
  • Light-on-dark or dark-on-light preference
  • Python 3.10+, Pillow and NumPy

Similar skills

View all →

Ratings

No ratings yet. Installed it? Be the first to rate it.

Rate this skill

Questions

Is this a regular halftone screen?

No. Point locations are relaxed against image tone and have individual coordinates. The SVG contains separate circles, rather than a fixed grid of dots or an embedded photograph.

Can I change the ink and dot density?

Yes. The brief controls point count, dot radius, luminance gamma, relaxation steps, tone mode and both colors. Small dots can disappear at thumbnail or print size, so inspect the supplied near-detail proof.

What costs depend on this workflow?

Owned portraits and all point placement run locally. If a suitable source is missing, PopNow can generate one after a quote and approval. Point count and relaxation passes drive local processing work.

What is already packaged in Stippled ink portrait?

The domain algorithm and invariant checks. Runnable, editable example parameters. Control meanings, proof interpretation and limits.

Which parts of Stippled ink portrait can add a charge?

Owned portraits and all point placement run locally. If a suitable source is missing, PopNow can generate one after a quote and approval. Point count and relaxation passes drive local processing work. Connections using a PopNow API key, including API-key MCP connections, spend from the separate API balance in USD. A ChatGPT or Claude connection authorized through OAuth spends website credits. These balances are separate; the quote shown by your connection is the approval basis.

How does Stippled ink portrait differ from writing a prompt or my own skill?

The package already implements weighted placement, dot export and a readable near-detail proof. It avoids manually positioning thousands of dots or describing stippling only as a prompt style.