# Image format conversion

Use the bundled converter to decode the input, apply the output format's encoding rules, and write the requested destination. This preserves the distinction between changing a file's representation and editing its visual content.

Package version: 0.1.0-beta.6.

Included with [Faye Image Utility](/plugins/faye-image-utility/).

## When to use

Use this when you need a supported static image in another container, or need to encode or decode base64.

## What to provide

- An accessible input file, raw base64, or a data URL.
- The target format, an explicit output path when location matters, and a background color for transparent input going to JPEG if white is unsuitable.

## Expected results

- A verified JPEG, PNG, WebP, or base64 text output.
- The actual destination and any material conversion limits or encoding decisions.

## Example requests

### Try this request

#### Codex

```
$faye-image-format-converter Convert assets/banner.png to assets/banner.webp. Preserve transparency and report the written file; do not overwrite an existing destination.
```

#### Grok

```
/faye-image-format-converter Convert assets/banner.png to assets/banner.webp. Preserve transparency and report the written file; do not overwrite an existing destination.
```

#### Antigravity

```
/faye-image-format-converter Convert assets/banner.png to assets/banner.webp. Preserve transparency and report the written file; do not overwrite an existing destination.
```

## Requirements

- The bundled image_processor agent executes and verifies each conversion.
- Python 3.10 or newer with ` venv/ensurepip `.
- Pillow 12.3.0 or newer with LittleCMS2, accessed through the plugin’s Python launcher. Locked wheels are installed in the project-local environment.
- ` FAYE_WORKSPACE_ROOT ` must identify the active project. The first environment setup needs access to the locked dependency wheels.

## Scope and limitations

- Animated inputs and unsupported formats are rejected; this skill does not resize, crop, annotate, or generate images.
- JPEG flattens transparency to white unless another background is specified. Source metadata is sanitized and working pixels use sRGB.
- Inputs are limited to 256 MiB, 128 million decoded pixels, and 32,768 pixels per edge. Replacing an existing output requires explicit authorization.

## Related guides and supporting files

- [Image converter agent](/agents/faye-image-utility/image-processor/) — Defines the role that executes and verifies supported image format conversions.
- [Faye Image Utility](/plugins/faye-image-utility/) — Review generated images, apply deterministic image editing, convert formats, and request explicit age-rating estimates.
- [Image conversion engine](/scripts/faye-image-utility/convert-image-58fb51f8/) — Decodes and writes static JPEG, PNG, WebP, and base64 representations.

## Technical source

[Open original source](/marketplace/plugins/faye-image-utility/skills/faye-image-format-converter/SKILL.md)

Source path: plugins/faye-image-utility/skills/faye-image-format-converter
