Jump to content

TinyPNG — Compress images via TinyPNG


Recommended Posts

  • 1 month later...

When I try to run the workflow by external trigger I get "Input file is empty" error, but the file is present in the Desktop folder. Can you help? I am a newbie to AppleScript. Thanks!

 

maciek@Tiger-MS ~ % cd ~/Desktop 
maciek@Tiger-MS Desktop % ls
panda.png
maciek@Tiger-MS Desktop % /usr/bin/osascript -e 'tell application id "com.runningwithcrayons.Alfred"
    run trigger ¬
        "compress" in workflow ¬
        "com.alfredapp.tinypng" with argument ¬
        (POSIX path of (path to desktop folder)) & "tinypng panda.png"
end tell'

 

The result: https://monosnap.com/file/xb7M5FnArE4V25jSmBzEvqPFa2a32M

Link to comment

Welcome @Maciej Swoboda,

 

3 minutes ago, Maciej Swoboda said:

but the file is present in the Desktop folder.

 

Are you sure? Because that message comes from the TinyPNG API, not the Workflow, and is exactly what happens when you give it a path which doesn’t exist. The file needs to be a PNG named exactly tinypng panda.png


It also might help if you explain why you are using the External Trigger. That’s for advanced usage.

Link to comment
Quote

The file needs to be a PNG named exactly tinypng panda.png

 

Oh, I got caught by that! I thought that the "tinypng" in not part of the filename, but the command to run the script "tinypng" on the "panda.png" file.

 

Thanks a lot. It works now and I am a bit ashamed.

 

Quote

It also might help if you explain why you are using the External Trigger. That’s for advanced usage.

 

I am trying to use the workflow as part of my Hazel rule set.

Link to comment
10 hours ago, Maciej Swoboda said:

Oh, I got caught by that! I thought that the "tinypng" in not part of the filename, but the command to run the script "tinypng" on the "panda.png" file.

 

That's a very valid point though - I'll keep this in mind for future blog posts and ensure this kind of example doesn't cause confusion :)

Link to comment
  • 2 weeks later...
  • 3 weeks later...

Update.

 

Added a new External Trigger to compress without showing a notification. This is useful if, for example, you have a directory on watch whose files automatically get compressed and don’t want to get notifications for those automated steps.

 

To update, download the latest version (same URL) or wait a few days and it’ll prompt you to on next usage, since it uses OneUpdater.

Link to comment
  • 5 months later...
42 minutes ago, absoluut said:

What's the best way to achieve the directory watch for auto-compression?


However is most convenient to you. Personally I use launchd whenever I need to watch a path. Though watching a directory and compressing the contents without moving them first might not be a good idea, because the compression itself will change the file and you might end up with an endless cycle of compression.

 

48 minutes ago, absoluut said:

but can't seem to get Alfred to recognize the input file.


You need to be explicit about what this means for me to be able to help. How exactly are you calling Alfred on the file? What exactly happens for you to say it isn’t recognised? What does the debugger say?

Link to comment
  • 2 months later...
  • 1 month later...
  • 1 month later...
1 hour ago, EricCartman said:

However, I want the original file to be left alone and a compressed copy to be made (in the same folder).


That’s not available inside the workflow because it’s not what most people want and it introduces complexity, such as what exactly to call the compressed version and what to do if an image with that name already exists. The way it works is deliberate to avoid surprises and unexpected behaviour.

 

Because the behaviour is predictable, you can build another workflow that calls this one (it has an External Trigger) and otherwise organises stuff like you want.

 

E.g. Make your new workflow first copy the image to the same location with a new name then run the External Trigger on the duplicate.

Link to comment
  • 4 months later...

Hi folks, I have a question regarding TinyPNG workflow

when I set up api and ran the workflow, nothing generated, then I took a look at the log, there was an error, says:

[07:37:16.682] ERROR: TinyPNG[Run Script] Invalid authorization header.

My guess it might due to my incorrect API set up since it is the only thing this workflow asks me to do. 

Here is an image of how I input api into the Environment Variable field, can you please help me to see if anything needs to change? 

 

thank you!

SCR-20231216-hgld.png

Link to comment
6 hours ago, Stephen_C said:

in the relevant thread for the workflow.


It’s the official one in this case (as linked per the blog post). Merged with the correct thread.

 

@hnx Remove the environment variable. The correct way to set the API key is in the Workflow Configuration. Always follow the instructions in the Gallery or the workflow itself. That blog post was written before that type of configuration was possible.

Link to comment
3 hours ago, vitor said:


It’s the official one in this case (as linked per the blog post). Merged with the correct thread.

 

@hnx Remove the environment variable. The correct way to set the API key is in the Workflow Configuration. Always follow the instructions in the Gallery or the workflow itself. That blog post was written before that type of configuration was possible.

Thank you, it works now.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...