TinyPNG uses smart lossy compression techniques to reduce the file size of your PNG files. By selectively decreasing the number of colors in the image, fewer bytes are required to store the data. The effect is nearly invisible but it makes a very large difference in file size! Join over 50.000 companies and developers around the world who are using the API.
Compress a WebP, JPEG, or PNG image using the TinyPNG API. See the documentation
Write Python and use any of the 350k+ PyPi packages available. Refer to the Pipedream Python docs to learn more.
Convert your images to your desired image type using TinyPNG. See the documentation
Create resized versions of your uploaded image. See the documentation
The TinyPNG API lets you compress and optimize image files efficiently. With this API, you can shrink the size of PNG and JPEG files without a noticeable loss in quality, making it a crucial tool for improving website load times and saving bandwidth. On Pipedream, you can automate image optimization workflows, harnessing the power of TinyPNG to process batches of images, integrate with CMS platforms, trigger optimizations from various events, and more.
module.exports = defineComponent({
props: {
tinypng: {
type: "app",
app: "tinypng",
}
},
async run({steps, $}) {
const results = await require("@pipedream/platform").axios($, {
method: "post",
url: `https://api.tinify.com/shrink`,
auth: {
username: `api:${this.tinypng.$auth.api_key}`,
password: ``,
},
data: {
"source": {
"url": "https://tinypng.com/images/panda-happy.png"
}
},
})
const retVal = results.output
retVal.original_image_metadata = results.input
return retVal
},
})
Develop, run and deploy your Python code in Pipedream workflows. Integrate seamlessly between no-code steps, with connected accounts, or integrate Data Stores and manipulate files within a workflow.
This includes installing PyPI packages, within your code without having to manage a requirements.txt
file or running pip
.
Below is an example of using Python to access data from the trigger of the workflow, and sharing it with subsequent workflow steps:
def handler(pd: "pipedream"):
# Reference data from previous steps
print(pd.steps["trigger"]["context"]["id"])
# Return data for use in future steps
return {"foo": {"test":True}}