SmartImage Documentation

repository·v4·Indexed 22 days ago

https://github.com/decimation/smartimage

A reverse image search tool for Windows and cross-platform environments (Rdx) that automates finding image sources by querying multiple search engines. It supports a variety of interfaces including a GUI, command-line interface (CLI), and Windows context menu integration. Supported engines include general purpose tools like Google Images, TinEye, Yandex, and Bing, as well as specialized artwork and anime search engines such as SauceNao, IQDB, Ascii2D, and trace.moe.

Tokens
5.5K
Snippets
16
Records
37
Agent score
73%

What's inside SmartImage

  1. Overview of SmartImage

    v4

    SmartImage is a reverse image search tool for Windows that finds the source of an image by opening the best match from various search engines directly in your web browser.

    It is available in two forms:

    • GUI (Windows): A graphical user interface for desktop users.
    • Rdx (cross-platform): A version suitable for cross-platform environments.
  2. Format requirements for search queries

    v4

    A search query (the value provided to the input field) must follow these rules:

    • Types: A query can be either a local file path or a URI.
    • Image Requirement: All queries must point to a recognized image type.
    • URI Constraints: If using a URI, it must be a direct link that returns a binary image payload (e.g., a Content-Type of image/jpeg).
  3. Use special engine selection options

    v4

    SmartImage provides special grouping options for engine selection. Note that All, None, and Auto are restricted to Priority engine settings and cannot be used for the main Search engine options.

    • All: Use all available engines.
    • None: Use no engines.
    • Auto: Use the best engine result.
    • Artwork: Specifically uses the engines SauceNao, IQDB, and Ascii2D.
  4. Understand configuration precedence

    v4

    SmartImage loads configuration in a specific order. Settings provided via the command line will override settings found in the configuration file.

    Precedence Order:

    1. Command line parameters (Highest priority)
    2. Configuration file (SmartImage.cfg)

    This allows you to run a specific search with temporary settings without permanently changing your SmartImage.cfg file.

    # Example: Overriding a priority engine via command line
    # If SmartImage.cfg has SauceNao as priority, but you run:
    -pe Iqdb
    
    # Iqdb will be used instead.
  5. Configure SmartImage settings

    v4

    SmartImage is highly customizable via several configuration options. You can modify these settings through the main menu or via command-line parameters.

    Available settings include:

    • Search engines: Defines which engines to use when performing a search.
    • Priority engines: Defines which engines' results should be automatically opened in your browser.
    • Filtering: When enabled, hides low-quality or unsuccessful results.
    • Notification: Displays a toast notification with result information upon search completion.
    • Notification image: Includes a preview image within the toast notification.
    • Context menu: Integrates SmartImage into the system right-click menu.
  6. Navigate the SmartImage Interface

    v4

    Use the following keyboard shortcuts to navigate the application:

    General Navigation

    • [Option Character]: Press the character key corresponding to an option to open it (e.g., press 0 to open [0], or A to open [A]).
    • Escape: Return to the previous interface.
    • F1: Show filtered results.
    • F5: Refresh the console buffer.
  7. Install SmartImage and meet requirements

    v4

    To use SmartImage, ensure your system meets the following requirements:

    • OS: Windows
    • Runtime: .NET 6 (Check your version using dotnet --list-runtimes or dotnet --list-sdks. The major version must be 6).
    • Environment Variable: SmartImage must be added to your system PATH (%PATH%) for context menu integration to function. The installer attempts to do this automatically.
    • Language/IME: If using a non-Romance language (e.g., Japanese or Chinese), set your IME to English to ensure keyboard input and context menu integration work correctly.
  8. Use the SmartImage Main Menu

    v4

    The Main Menu provides access to core application functions. Use these options to control search execution, engine configuration, and UI behavior:

    • Run: Executes a search.
    • Engines: Configure available search engines.
    • Priority engines: Configure engines that take precedence during searches.
    • Filter: Toggle search filtering.
    • Notification: Toggle toast notifications.
    • Notification image: Toggle whether toast notifications include an image.
    • Context menu: Toggle integration with the system context menu.
    • Config: View the current application configuration.
    • Info: View program information.
    • Update: Check for and install new versions.
    • Help: Open the help interface.
  9. Use the SmartImage GUI Main Menu

    v4

    The SmartImage GUI provides a structured interface for managing image processing tasks. The main menu consists of several interactive areas:

    • Input Management: Use the Input field (1), Upload URL (2), and Input queue (14) to provide images for processing.
    • Image Metadata: View Input image type (3), size (4), and dimensions (5), as well as Preview image info (8), size (9), and dimensions (10).
    • Previewing: Monitor the Preview image URL (6), Preview result URL (7), and the Preview window (15).
    • Execution & Status: Access Functions (11), view general Status (12), and monitor Search status (13).
    • Output: View processed Results (16).
  10. Use SmartImage GUI via Input Field

    v4

    In the SmartImage GUI, you can provide image sources through the text input field using the following methods:

    • Text Input: Copy and paste direct image links or file paths into the text field. Standard text manipulation like undo/redo is supported.
    • Drag-and-drop: Drag an image file directly into the text field to automatically populate it with the file's path.