Extension Icon

Imageflow

Image Flow is a powerful optimization tool for images and files, enabling you to process them efficiently with workflows.
Overview

ImageFlow

Process images using workflow.

Description

Imageflow is a Raycast extension for processing images with custom pipelines, you can organize operations such as resizing, uploading, and compressing into a pipeline to process images in your own way.

This extension still in development and does not submit to Raycast Extension yet, you can clone this repo and install it locally.

Support Actions

  • 🌰 Resize And Compress Image by sharp
  • 🐝 Convert Image Format by sharp
  • 📦 Overwrite Original images
  • 🚀 Upload Image To S3
  • 🌈 Upload Image To Cloudflare R2 Storage
  • 🍮 Copy Image To Clipboard
  • 🐼 Convert Image To Markdown format
  • 🍉 Rename Image with uuid or date or something else
  • 🍅 Customize any workflow—choose whatever you want

Demo

https://github.com/user-attachments/assets/9b22bc67-1138-4c01-8ecc-0f7c59bb3542

[!NOTE]
You can quickly get the sample configuration file by running the following command in your terminal.

curl https://raw.githubusercontent.com/godruoyi/imageflow/master/workflow.yaml | tee ~/workflow.yaml

Sample configuration file workflow.yaml:

Actions

ActionDescriptionInputOutputParams
resizeResize and compress image via sharpfilepath or urlfilepathwidth: number
height: number
type: string
See request option
compressCompress image via sharp (only compress)filepath or urlfilepath or urloutput_type?: file or url
convertConvert image format via sharpfilepath or urlfilepathformat: string, available formats: jpeg, png, webp, avif
overwriteOverwrite original imagesfilepathfilepath-
uploadUpload image to S3 or Cloudflare R2 Storagefilepathurlbucket: string
root?: string
cdn?: string
clipboardCopy image to clipboardfilepath or urlInput-
tomarkdownConvert image to markdown formatfilepath or urlmarkdown-
renameRename image with uuid or date or somethingfilepathfilepathto: string
available variable name "{uuid}", "{timestamp}", "{yyyy}", "{yyyy_mm}", "{yyyy_mm_dd}"

Install From Raycast Store

coming soon...

Install From Source & Development

Clone this repo and install it locally in developer mode.

You will need to have Node.js and npm installed.

  1. Clone this repo git clone https://github.com/godruoyi/imageflow.git
  2. Go to the folder cd imageflow
  3. Install dependencies npm install && npm run build
  4. Go to Raycast, run Import Extension and select the folder

Need Help?

  • Introduction of sharp to process images locally 🤔
  • OpenDAL 🤔
  • Support more image processing actions like:
    • Watermark 🤔
    • Move to folder
    • Upload to other cloud storage like Google Cloud Storage, Aliyun OSS, etc. But it's better to use OpenDAL to support if possible.

License

MIT License