mcpField
C
convert-image-to-jpg

convert-image-to-jpg

github.com/tiangong-aiCreative & media1136 installsUpdated 1w ago
Repository

About convert-image-to-jpg

This skill converts a local image or a directory tree of images to JPG, with controls for DPI, quality, and overwriting. Its Python standard-library script prefers magick and falls back to macOS sips when available.

Key features

  1. 01Convert one image or scan directories recursively
  2. 02Set JPG DPI and quality
  3. 03Preserve relative directory structure
  4. 04Overwrite outputs or preview the plan
  5. 05Use magick or macOS sips

Use cases

  1. 01Convert a directory of images to JPG
  2. 02Normalize names or DPI of existing JPGs
  3. 03Review planned outputs before conversion

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tiangong-ai/agent-skills --skill convert-image-to-jpg

After installing, type/convert-image-to-jpgin Claude Code to confirm it loaded.

Details

From the project README

Convert Image to JPG

Core Goal

  • Convert one local image or a directory tree of local images into .jpg.
  • Write JPG DPI metadata as 96 by default or a caller-provided value.
  • Preserve relative directory structure when the input path is a directory.

Required Tools

  • Use scripts/convert_to_jpg.py.
  • Rely only on Python standard library modules. Do not install Python packages for this skill.
  • Prefer magick when it is installed.
  • Fall back to macOS sips when magick is unavailable.
  • Stop and report the missing dependency when neither backend exists.

Quick Start

  1. Convert one file to a specific JPG path:
python3 scripts/convert_to_jpg.py \
  --input-path /path/to/image.heic \
  --output-path /path/to/output.jpg
  1. Convert a directory recursively with custom DPI:
python3 scripts/convert_to_jpg.py \
  --input-path /path/to/input-images \
  --output-path /path/to/output-images \
  --dpi 300
  1. Rewrite existing outputs in place or replace previous runs:
python3 scripts/convert_to_jpg.py \
  --input-path /path/to/input-images \
  --output-path /path/to/output-images \
  --overwrite
  1. Preview the conversion plan without writing files:
python3 scripts/convert_to_jpg.py \
  --input-path /path/to/input-images \
  --output-path /path/to/output-images \
  --dry-run

Behavior

  • Treat directory input as recursive and keep the same relative subdirectories in the output tree.
  • Treat single-file --output-path as a directory when it has no .jpg or .jpeg suffix.
  • Convert .jpg and .jpeg inputs too. Use this to normalize output names or rewrite DPI metadata.
  • Default JPG quality to 95.
  • Use the first frame or page when the source format can contain multiple frames, such as GIF or TIFF.
  • Refuse ambiguous directory conversions when two source files would map to the same destination .jpg.
  • Add uncommon extensions with --extra-extension .ext when needed.

Main Arguments

  • --input-path: source file or source directory
  • --output-path: output JPG file path or output directory
  • --dpi: target DPI metadata for the JPG output, default 96
  • --quality: JPG quality from 1 to 100, default 95
  • --backend: auto, magick, or sips
  • --extra-extension: additional directory-scan suffix to include
  • --overwrite: replace existing outputs
  • --dry-run: print the plan without converting files
  • --limit: cap the number of files processed during a quick check

Script

  • scripts/convert_to_jpg.py

Comments

Markdown supported