Interact with IIB (Infinite Image Browsing) service for searching, browsing, tagging, and organizing AI-generated images.

MITAuto-check passedMedia & Creative

Install Iib

skills CLI
$ npx skills add zanllp/infinite-image-browsing --skill iib -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install zanllp/infinite-image-browsing iib --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/zanllp/infinite-image-browsing.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/iib .claude/skills/iib && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
iib
GitHub stars
1.4k
Token cost
~3.3k tokens
SKILL.md length
716 words
Files
4 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Interact with IIB (Infinite Image Browsing) service for searching, browsing, tagging, and organizing AI-generated images.

  • Works in 5 steps: Quick View (Single Image) → Keyword Search Page → Tag Search Page → …
  • The user needs to search images by prompt/keyword
  • SKILL.md covers Quick Links to Detailed Guides, Before You Start, Quick Reference and Core Operations, plus 3 more sections
  • Calls curl and python

What it does

Iib is an agent skill from zanllp/infinite-image-browsing. Interact with IIB (Infinite Image Browsing) service for searching, browsing, tagging, and organizing AI-generated images. Use when the user needs to search images by prompt/keyword, manage image tags, organize files into folders, get image generation parameters, or work with an image library.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/agent-patterns.md`, `references/api-reference.md` and `references/search-strategies.md`).

It sits in Media & Creative, covering Diffusion and image models, File organization and Image generation. It works with Stable Diffusion and ComfyUI. The repository describes itself as: A full-featured image/video management app with AI-powered organization and semantic search. Supports metadata from SD-webui, ComfyUI, Fooocus, NovelAI, StableSwarmUI, and more… The licence is MIT.

When your agent uses it

  • The user needs to search images by prompt/keyword
  • Manage image tags
  • Organize files into folders
  • Get image generation parameters

Example prompts

  • “/iib”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Quick View (Single Image)
  2. Keyword Search Page
  3. Tag Search Page
  4. Tag Search Results (Pre-filtered)
  5. Image Comparison

What it can do on your machine

Read from SKILL.md and the folder at commit 7530eaf. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Iib loads about 3.3k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 74 tokens; SKILL.md has 716 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from zanllp/infinite-image-browsing at commit 7530eaf, republished under its MIT licence (© zanllp). 716 words, ~3,270 tokens.

Download SKILL.mdSave it as .claude/skills/iib/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
iib
description
Interact with IIB (Infinite Image Browsing) service for searching, browsing, tagging, and organizing AI-generated images. Use when the user needs to search images by prompt/keyword, manage image tags, organize files into folders, get image generation parameters, or work with an image library.

IIB (Infinite Image Browsing)

IIB is an image/video browsing and management tool that parses metadata from AI generation tools (Stable Diffusion, ComfyUI, etc.).


TopicDescription
API ReferenceComplete API endpoint documentation
Search StrategiesMulti-word, regex, tag combination searches
Agent PatternsCommon workflows and decision trees

Before You Start

IMPORTANT: Always do these two things first:

  1. Ask the user for the port if they started the service themselves (common ports: <port> standalone, 7860 SD WebUI extension)
  2. Test connectivity with a hello request before any other operation
bash
curl --noproxy "*" -s http://127.0.0.1:<PORT>/infinite_image_browsing/hello
# Returns: "hello" if service is running

Note: Use --noproxy "*" to bypass proxy for localhost connections.

If service is not running, start it:

bash
cd /path/to/sd-webui-infinite-image-browsing
python app.py --port <port>

To run as a background daemon:

bash
nohup python app.py --port <port> > iib.log 2>&1 &

Quick Reference

TaskMethodEndpoint
Search imagesPOST/db/search_by_substr
Search by tagsPOST/db/match_images_by_tags
Random imagesGET/db/random_images
List folderGET/files?folder_path=...
Move filesPOST/move_files
Copy filesPOST/copy_files
Tag imagesPOST/db/batch_update_image_tag
Get image metadataGET/image_geninfo?path=...
Add library pathPOST/db/extra_paths
Remove library pathDELETE/db/extra_paths

Base URL: http://127.0.0.1:<port>/infinite_image_browsing

Core Operations

Search Images

Search by keyword in file path or generation parameters:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/search_by_substr \
  -H "Content-Type: application/json" \
  -d '{"surstr": "landscape", "size": 50}'

For complex searches (multi-word, regex patterns, tag combinations), see Search Strategies.

Quick tips:

  • Multi-word searches? Use regex OR: (word1|word2)
  • Need tag combinations? Use /db/match_images_by_tags with AND/OR/NOT logic
  • See Search Strategies for detailed strategies
Limit to Specific Folders
bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/search_by_substr \
  -H "Content-Type: application/json" \
  -d '{"surstr": "portrait", "folder_paths": ["/path/to/folder"], "size": 50}'

Response:

json
{
  "files": [{"fullpath": "/path/to/image.png", "name": "image.png", "size": "1.2 MB", ...}],
  "cursor": {"has_next": true, "next": "cursor_string"}
}
Tag Management

Get all tags:

bash
curl http://127.0.0.1:<port>/infinite_image_browsing/db/basic_info
# Response includes: {"tags": [{"id": 1, "name": "favorites", "type": "custom"}, ...]}

Create a tag:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/add_custom_tag \
  -H "Content-Type: application/json" \
  -d '{"tag_name": "favorites"}'

Tag multiple images:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/batch_update_image_tag \
  -H "Content-Type: application/json" \
  -d '{"img_paths": ["/path/to/img1.png", "/path/to/img2.png"], "action": "add", "tag_id": 1}'

Search by tags (AND/OR/NOT logic):

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/match_images_by_tags \
  -H "Content-Type: application/json" \
  -d '{"and_tags": [1], "or_tags": [], "not_tags": [2], "cursor": "", "size": 50}'
File Operations

List folder contents:

bash
curl "http://127.0.0.1:<port>/infinite_image_browsing/files?folder_path=/path/to/images"

Move files:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/move_files \
  -H "Content-Type: application/json" \
  -d '{"file_paths": ["/path/to/img1.png"], "dest": "/new/folder", "create_dest_folder": true}'

Copy files:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/copy_files \
  -H "Content-Type: application/json" \
  -d '{"file_paths": ["/path/to/img1.png"], "dest": "/backup/folder", "create_dest_folder": true}'

Delete files:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/delete_files \
  -H "Content-Type: application/json" \
  -d '{"file_paths": ["/path/to/unwanted.png"]}'
Image Metadata

Get generation parameters (prompt, seed, model, etc.):

bash
curl "http://127.0.0.1:<port>/infinite_image_browsing/image_geninfo?path=/path/to/image.png"

Batch get metadata:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/image_geninfo_batch \
  -H "Content-Type: application/json" \
  -d '{"paths": ["/path/to/img1.png", "/path/to/img2.png"]}'
Library Management

List registered paths:

bash
curl http://127.0.0.1:<port>/infinite_image_browsing/db/extra_paths

Add a folder to library:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/extra_paths \
  -H "Content-Type: application/json" \
  -d '{"path": "/new/image/folder", "types": ["scanned"]}'

Remove a folder (also cleans up orphaned image records):

bash
curl -X DELETE http://127.0.0.1:<port>/infinite_image_browsing/db/extra_paths \
  -H "Content-Type: application/json" \
  -d '{"path": "/old/folder", "types": ["scanned"]}'

Rebuild index after adding paths:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/rebuild_index

Path types:

  • scanned: Indexed, appears in search results
  • scanned-fixed: Like scanned, but pinned in UI
  • walk: Browse only, not indexed

AI Features

Smart File Organization

Automatically organize images into themed folders:

bash
# Start organization job
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/organize_files_start \
  -H "Content-Type: application/json" \
  -d '{
    "folder_paths": ["/messy/folder"],
    "dest_folder": "/organized/folder",
    "threshold": 0.85,
    "lang": "en",
    "action": "move"
  }'
# Returns: {"job_id": "uuid"}

# Check status
curl "http://127.0.0.1:<port>/infinite_image_browsing/db/organize_files_status?job_id=<job_id>"

# Confirm and execute
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/organize_files_confirm \
  -H "Content-Type: application/json" \
  -d '{"job_id": "<job_id>"}'
Image Clustering

Analyze images and group by semantic similarity:

bash
curl -X POST http://127.0.0.1:<port>/infinite_image_browsing/db/cluster_iib_output_job_start \
  -H "Content-Type: application/json" \
  -d '{
    "folder_paths": ["/path/to/images"],
    "threshold": 0.85,
    "min_cluster_size": 3,
    "lang": "en",
    "recursive": true
  }'

Reference

See references/api-reference.md for complete API documentation.

Viewing Images

When helping users view images, always provide BOTH:

  1. A link to view the first/selected image
  2. A link to the search results page showing all matching images
Image Search Results

When a user searches for images (by keyword, tag, etc.):

  1. Provide a summary: Show how many images were found
  2. First image link: Use the quick view URL for the first result
  3. Search results page link: Use the fuzzy-search or tag-search pane URL

Example response format:

markdown
Found 150+ images matching "sunset":

[View First Image](http://127.0.0.1:<port>/infinite_image_browsing?action=view&path=/first/image.png)

[View All Results in IIB](http://127.0.0.1:<port>/infinite_image_browsing?action=pane&type=fuzzy-search&props=%7B%22substr%22%3A%22sunset%22%7D)

| # | Name | Path | Size |
|---|------|------|------|
| 1 | image1.png | /folder | 1.2 MB |
| 2 | image2.png | /folder | 1.1 MB |
...

Note: The search results page link includes the search term in the URL, so it will automatically display the matching results when opened.

Show full SKILL.md (280 more words)Show less
Building Shareable URLs

When generating URLs for users to open in their browser, you need to properly encode the props parameter (JSON URL-encoded).

URL Format:

http://127.0.0.1:<port>/infinite_image_browsing?action=pane&type=<pane_type>&props=<url_encoded_json>

Encoding the props: The props parameter must be URL-encoded JSON. Use this encoding method:

JSON PropsURL EncodedNotes
{"substr":"sunset"}%7B%22substr%22%3A%22sunset%22%7DStandard encoding
{"substr":"(词1|词2)","isRegex":true}%7B%22substr%22%3A%22(%E8%AF%8D1%7C%E8%AF%8D2)%22%2C%22isRegex%22%3Atrue%7DChinese chars encoded
{"substr":"a|b","isRegex":true}%7B%22substr%22%3A%22(a%7Cb)%22%2C%22isRegex%22%3Atrue%7DPipe | encoded as %7C

Common URL patterns:

Use CaseURL Pattern
Simple keyword search?action=pane&type=fuzzy-search&props=%7B%22substr%22%3A%22keyword%22%7D
Regex OR search?action=pane&type=fuzzy-search&props=%7B%22substr%22%3A%22(word1%7Cword2)%22%2C%22isRegex%22%3Atrue%7D
Search in folder?action=pane&type=fuzzy-search&props=%7B%22substr%22%3A%22keyword%22%2C%22searchScope%22%3A%22%2Fpath%22%7D
View single image?action=view&path=/path/to/image.png

Tip: When generating URLs with non-ASCII characters (Chinese, Japanese, etc.), use proper URL encoding (UTF-8 percent encoding).

Example: Multi-word search with regex (Chinese)

bash
# Search for "太空电梯" OR "三体"
# JSON: {"substr":"(太空电梯|三体)","isRegex":true}
# Encoded: %7B%22substr%22%3A%22(%E5%A4%AA%E7%A9%BA%E7%94%B5%E6%A2%AF%7C%E4%B8%89%E4%BD%93)%22%2C%22isRegex%22%3Atrue%7D
?action=pane&type=fuzzy-search&props=%7B%22substr%22%3A%22(%E5%A4%AA%E7%A9%BA%E7%94%B5%E6%A2%AF%7C%E4%B8%89%E4%BD%93)%22%2C%22isRegex%22%3Atrue%7D
Available View Options
1. Quick View (Single Image)
http://127.0.0.1:<port>/infinite_image_browsing?action=view&path=/path/to/image.png

Opens IIB directly to the image in fullscreen preview.

2. Keyword Search Page
http://127.0.0.1:<port>/infinite_image_browsing?action=pane&type=fuzzy-search

Opens the keyword search page where users can search.

With pre-filled search term:

http://127.0.0.1:<port>/infinite_image_browsing?action=pane&type=fuzzy-search&props=%7B%22substr%22%3A%22sunset%22%7D

Automatically searches for "sunset" when opened.

Available props for fuzzy-search (URL → Component mapping):

URL PropComponent PropTypeDescription
substrinitialSubstrstringSearch keyword or regex pattern
isRegexinitialIsRegexbooleanUse regex mode (default: false)
searchScopesearchScopestringFolder path to limit search
pathOnlyinitialPathOnlybooleanSearch only file paths (default: false)
mediaTypeinitialMediaTypestringFilter by media type: "all", "image", "video"
autoSearchautoSearchbooleanAuto-trigger search (default: true when substr is set)

Note: Use the URL prop names (left column) when constructing URLs. The component prop names (middle column) are for internal use.

Examples:

bash
# Regex search for multiple keywords (OR logic)
?action=pane&type=fuzzy-search&props=%7B%22substr%22%3A%22(sunset%7Csunrise%7Cdawn)%22%2C%22isRegex%22%3Atrue%7D

# Search in specific folder
?action=pane&type=fuzzy-search&props=%7B%22substr%22%3A%22portrait%22%2C%22searchScope%22%3A%22%2Foutputs%22%7D

# Search images only
?action=pane&type=fuzzy-search&props=%7B%22substr%22%3A%22landscape%22%2C%22mediaType%22%3A%22image%22%7D
3. Tag Search Page
http://127.0.0.1:<port>/infinite_image_browsing?action=pane&type=tag-search

Opens the tag search page for filtering by tags.

4. Tag Search Results (Pre-filtered)
http://127.0.0.1:<port>/infinite_image_browsing?action=pane&type=tag-search-matched-image-grid&props=%7B%22selectedTagIds%22%3A%7B%22and_tags%22%3A%5B1%2C2%5D%7D%7D%7D

Shows images matching specific tags (replace tag IDs with actual values).

5. Image Comparison
http://127.0.0.1:<port>/infinite_image_browsing?action=pane&type=img-sli&props=%7B%22left%22%3A%7B%22fullpath%22%3A%22%2Fa.png%22%7D%2C%22right%22%3A%7B%22fullpath%22%3A%22%2Fb.png%22%7D%7D

Compare two images side by side.

Note: The props parameter must be URL-encoded JSON.

© zanllp, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/iib of zanllp/infinite-image-browsing.

  • SKILL.md
  • references/agent-patterns.md
  • references/api-reference.md
  • references/search-strategies.md

Open the folder on GitHubat commit 7530eaf

Compare with similar skills

Iib next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Iib compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Iib this skillzanllp/infinite-image-browsing1.4k—~3.3kAutomated safety check: PassMIT
Anima Baseartokun/comfyui-mcp795—~4kAutomated safety check: PassMIT
Imageguaardvark/guaardvark255—~1.8kAutomated safety check: PassMIT
Comfyui Skill OpenclawHuangYuChuh/ComfyUI_Skills_OpenClaw411—~2.7kAutomated safety check: PassApache-2.0
Workflow Template BuilderMooshieblob1/MooshieUI207—~640Automated safety check: PassAGPL-3.0
Add Generation ParamMooshieblob1/MooshieUI207—~417Automated safety check: PassAGPL-3.0

Similar skills

  • Anima Base

    artokun/comfyui-mcp

    Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT).

    795 GitHub stars~4k tokensUpdated 3 days ago
    Media & CreativeAuto-check passed
  • Image

    guaardvark/guaardvark

    Generate or edit images on the user's own GPU through Guaardvark: single images, instruction edits, background cut-outs, inpaint and outpaint, consistent characters from the Cast Library, and batch…

    255 GitHub stars~1.8k tokensUpdated today
    Media & CreativeAuto-check passed
  • Comfyui Skill Openclaw

    HuangYuChuh/ComfyUI_Skills_OpenClaw

    Run registered ComfyUI workflows through the fast comfyui-skill CLI, and use the official local Comfy MCP for live template, node, model, validation, and orchestration capabilities.

    411 GitHub stars~2.7k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed
  • Workflow Template Builder

    Mooshieblob1/MooshieUI

    Builds or modifies ComfyUI workflow JSON templates in MooshieUI's Rust backend (src-tauri/src/templates).

    207 GitHub stars~640 tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Add Generation Param

    Mooshieblob1/MooshieUI

    Adds a generation parameter across MooshieUI's Svelte store, TypeScript types, Rust GenerationParams, and workflow templates.

    207 GitHub stars~417 tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Character Refs

    eternityspring/shuohao-skills

    给任何故事里的角色真出参考图(小说改编、自己原创的故事、单独设计一个角色都行,不需要小说原文): 一段话描述角色,拆成分层字段、补全后确认, 先出一张正面全身锚点,其余视图(大头照、90° 侧面、背面、细节、45° 大头照)都只参考这张锚点, 按需分档出图。每张图带标识、可单独重出,重出后自动标出哪些图过期。

    4.2k GitHub stars~1.7k tokensUpdated 12 days ago
    Media & CreativeAuto-check: warnings

Questions about Iib

What does Iib do?

Interact with IIB (Infinite Image Browsing) service for searching, browsing, tagging, and organizing AI-generated images. Iib is an agent skill from zanllp/infinite-image-browsing. Interact with IIB (Infinite Image Browsing) service for searching, browsing, tagging, and organizing AI-generated images.

When should I use Iib?

Iib fits situations like: the user needs to search images by prompt/keyword; manage image tags; organize files into folders; get image generation parameters.

How do I install Iib in Claude Code?

Run `npx skills add zanllp/infinite-image-browsing --skill iib -a claude-code`. Or copy the skill folder (skills/iib in zanllp/infinite-image-browsing) into .claude/skills/iib in your project. Claude Code loads it when a task matches its description.

How do I install Iib in Codex?

Run `npx skills add zanllp/infinite-image-browsing --skill iib -a codex`. Or copy the skill folder (skills/iib in zanllp/infinite-image-browsing) into .agents/skills/iib in your project. Codex loads it when a task matches its description.

Can I use Iib in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zanllp/infinite-image-browsing --skill iib -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/iib, .gemini/skills/iib, .github/skills/iib and .opencode/skills/iib in your project.

What does Iib need to run?

Going by SKILL.md and its folder, Iib needs the command-line tools its instructions call (curl and python). Our summary lists: Python 3.

Does Iib access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Iib safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Iib use?

Iib is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Iib use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.4k tokens, read only when the agent opens those files.

What are the alternatives to Iib?

Skills that share tags, products or a category with Iib: Anima Base (artokun/comfyui-mcp, 795 stars), Image (guaardvark/guaardvark, 255 stars), Comfyui Skill Openclaw (HuangYuChuh/ComfyUI_Skills_OpenClaw, 411 stars) and Workflow Template Builder (Mooshieblob1/MooshieUI, 207 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Iib?

zanllp (a GitHub user) maintains it in zanllp/infinite-image-browsing, which has 1,357 GitHub stars. The repository was last updated on October 7, 2026.

Source: zanllp/infinite-image-browsing on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.