Skip to content

Imageflow is a Raycast extension that allows you to process images using a customizable workflow. You can resize, compress, and convert image formats, among other actions.

Notifications You must be signed in to change notification settings

godruoyi/imageflow

Repository files navigation

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

imageflow.mp4

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

Action Description Input Output Params
resize Resize and compress image via sharp filepath or url filepath width: number
height: number
type: string
See request option
compress Compress image via sharp (only compress) filepath or url filepath or url output_type?: file or url
convert Convert image format via sharp filepath or url filepath format: string, available formats: jpeg, png, webp, avif
overwrite Overwrite original images filepath filepath -
upload Upload image to S3 or Cloudflare R2 Storage filepath url bucket: string
root?: string
cdn?: string
clipboard Copy image to clipboard filepath or url Input -
tomarkdown Convert image to markdown format filepath or url markdown -
rename Rename image with uuid or date or something filepath filepath to: 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

About

Imageflow is a Raycast extension that allows you to process images using a customizable workflow. You can resize, compress, and convert image formats, among other actions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published