Plug-in API for custom filters / effects #59

Open
opened 2026-02-19 23:01:40 -05:00 by deekerman · 5 comments
Owner

Originally created by @lastzero on GitHub (Nov 12, 2018).

As a user, I want to apply custom filters to my images.

For example to add glitch effects like this, pretty simple to implement with existing libraries: https://snorpey.github.io/jpg-glitch/

An option could be to run all filters in the browser only using JavaScript / Webassembly (uploading the result might take too long though for some users / internet connections). Let's think about it.

download

Originally created by @lastzero on GitHub (Nov 12, 2018). **As a user, I want to apply custom filters to my images.** For example to add glitch effects like this, pretty simple to implement with existing libraries: https://snorpey.github.io/jpg-glitch/ An option could be to run all filters in the browser only using JavaScript / Webassembly (uploading the result might take too long though for some users / internet connections). Let's think about it. ![download](https://user-images.githubusercontent.com/301686/48333591-51483f80-e658-11e8-881b-682dcc24530f.png)
Author
Owner

@0chroma commented on GitHub (Dec 11, 2023):

I'd be interested in working on this for beauty filters!

@0chroma commented on GitHub (Dec 11, 2023): I'd be interested in working on this for beauty filters!
Author
Owner

@lastzero commented on GitHub (Dec 14, 2023):

@0chroma That's great! I suggest you take a look at our existing backend APIs / frontend components and then suggest changes needed to implement this:

@lastzero commented on GitHub (Dec 14, 2023): @0chroma That's great! I suggest you take a look at our existing backend APIs / frontend components and then suggest changes needed to implement this: - https://pkg.go.dev/github.com/photoprism/photoprism/internal/api - https://github.com/photoprism/photoprism/tree/develop/internal/api - https://github.com/photoprism/photoprism/blob/develop/frontend/src/common/viewer.js
Author
Owner

@0chroma commented on GitHub (Dec 27, 2023):

I thought a lil more about this, I think it might be better if I worked on something like this as a native app. It's common to take photos/video directly with a beauty filter app rather than postprocessing it, which seems outside of the scope of photoprism

that said, it would be neat if photoprism could detect that case or integrate with editor apps, then group it in with the original it came from. but thats pretty difficult to implement haha

@0chroma commented on GitHub (Dec 27, 2023): I thought a lil more about this, I think it might be better if I worked on something like this as a native app. It's common to take photos/video directly with a beauty filter app rather than postprocessing it, which seems outside of the scope of photoprism that said, it would be neat if photoprism could detect that case or integrate with editor apps, then group it in with the original it came from. but thats pretty difficult to implement haha
Author
Owner

@lastzero commented on GitHub (Dec 27, 2023):

Stacking files actually isn't very complicated if you add / use a unique content identifier embedded into the metadata. This will work even if the files have different names and/or paths.

@lastzero commented on GitHub (Dec 27, 2023): Stacking files actually isn't very complicated if you add / use a unique content identifier embedded into the metadata. This will work even if the files have different names and/or paths.
Author
Owner

@0chroma commented on GitHub (Dec 27, 2023):

right, I'm more thinking closed source apps like snow which dont always preserve that metadata. It's frustrating.

@0chroma commented on GitHub (Dec 27, 2023): right, I'm more thinking closed source apps like snow which dont always preserve that metadata. It's frustrating.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/photoprism#59
No description provided.