nip94 gives us the ability to build giphy on nostr itself. Anyone can publish a nip94 note of a gif, and clients can optionally publish these notes when you share a gif, so you can find gifs your friends use. gif services can also publish these notes.
nip94 is file metadata. It’s a perfect usecase for this.
The contents of file metadata is a description of the gif, search engines can use this to do gif searches.
You can also add tags to the metadata note, so you can search on the image/gif mime type and the “lol” tag to quickly find lol gifs.
We have everything we need to start building this.
Login to reply
Replies (125)
i did not either … but its a very common request 🤷♂️
Finally! 🔥🤩💜🫂
Am I doing this tagging correctly? 😆
OhBoy Sticker
View quoted note →
It's not really "gif keyboard" they're after; it's in-app gifs. Shouldn't need to leave the app just to enhance the expressiveness of your note through memes
It’s so that people don’t spam the same meme image 100k times. Huge waste of space. Just reference the one image 100k times.
I would never quote the file metadata note directly though, its mainly for searching gifs and putting the url from that into a post. Still would save lots of space on nostr.build, and people wouldn’t have to reupload gifs all the time.
very nice. the relay seems a bit unstable though :(
This could also be a huge win for #accessibility on Nostr. Media accessibility is in a pretty sorry state. Nostr doesn’t even have alt tags.
With client support, any user can contribute to the repository, so a group of friends could build their own. You can also use third party repositories
I took your advice and built a gif nostr companion app:
You can download the PWA to your home screen, search for your gif, copy the address and paste it into your client
On the back end, for every gif that gets copied/clicked, an API request is made to upload to @nostr.build by @The Fishcake (nostr.build)
From there a nip94 request is done so that the content can be accessed by any client in the future
Now, anyone who searches for gifs using this tool is also helping to build the gif repository for nip94 and adding fallback urls to nostr.build
And all they did was click to copy #gifs

GIF Buddy🫂




nice!!


@lemon you've got me scrolling rapidly specifically looking for notes I want to respond to via gif


Too many gifs in my feed! 😂😂😂







Testing
Hmm now i have a link to tenor?
Hmm now i have a link to tenor?It gives tenor link and does upload async after that.






Nice code


Smooth!I test


I never thought that seeing Bandido doing some headscissors on nostr.
Neat! 



could it finally be true



so good I accidentally did it twice
Nice and useful work!
I would suggest reflecting the research as permalinks, to make it easily shareable.

lfg! 

The copy gif url on touch feature is nice!


And it also uploads it to nostr.build in the background.
let's test this going waaaay back...




Nice work!
It's hustle like this that I think is so interesting when it comes to the power of open protocol's
It's in everyone's interest to improve things... VERY powerful network effect long term
Now I need to work out how to do what you're saying!

It works!




This is incredible and you accidentally made my new favourite gif search in the process. Ty


Me entering the arena after @lemon gave this new gif super power.
Lfg!




🔥 so nice



Does anyone know what fight this is from? I would love to see what he's seeing.
Droideka cat 😳
LFG


these are very good points
Testing



Amazing work - well done and thank you 🫂

Wow! It's so fast too! Any way to keep scrolling down to see more gifs?




If I can’t find a specific gif, is there a way for me to add it?
This app is cooking!
I did have to save it to my phone first I didn't see an option like that but it worked heck yeah
Looks like it's grabbing from tenor. You can create an account there and upload
That makes a lot of sense. I think I have some from giphy too. Thanks man!











Very proud!!!!

Amazing!

Nice! 

it's not copying the new URL. Only taking the tenor one. It says it is copied but isn't maybe you need a prompt for brave to ask permissions to use the clipboard? Brave on Linux Mint. If it showed the full url in the pop up it could also manually be copied.
Well doneThe copied link is a Tenor link by intent
When you click a gif, a separate API call is made on the back end to upload to nostr.build
That process takes time that would really hinder the user experience if you had to wait for the new url to be generated in order copy it; it’s several seconds
I could potentially make a separate API that will return URL instantly, and will redirect to Tenor while upload is prepared, and then serve local copy. If you are interested, let me know.
There have been a couple comments in my feed from people expecting to paste a nostr.build address so that could be cool
Your API is fast already, it's mostly that nip98 AUTH requires me to publish a Kind 27235 note, which takes time to broadcast with my current library
Were you thinking this API would be separate from nip98?
I would probably need that for user uploaded gifs actually now that I think about it more
Nip98 does not require anything, just a signed header. You are talking about nip94, that can be pushed async.


Hello is this the comment section that sucks your data plans balls dry?

Awesome, thanks!




@🐈 one for 

Explore Nostr Apps
Fiatjaf runs it now
@fiatjaf one for 

Explore Nostr Apps
You have been chosen to send a patch for it.
Let me know when you have done it.
I couldn’t find it on GitHub and couldn’t see a way to submit a new app on the site.
Building static paths to serve files (gifs on this case) is not a good path for decentralization. It would be better to store the sha256 of the file on the note and then query the relays if they have that hash on their disks.
This way you don't care which server the file is coming from, it might even be cached on the machine and notes will be future-proof like the rest of nostr.
That’s what nip94 allows for and that’s what gets published once it’s uploaded to @nostr.build
If you read the specification, a nip94 event has the sha256 hash, a url and a fallback url
The url is convenient right now because no clients that I’m aware of query sha256 hashes like you are mentioning; however, this process sets up that foundation to be possible in the future for clients to query hashes like you’re proposing
Sorry @lemon I meant there’s no way to submit an app on 

Explore Nostr Apps
Thank you for the note, hadn't read that NIP yet. Happy these issues got addressed beforehand. Plus points for the torrent field inside.
I will pack everything inside a zip archive and then use NIP94 for sharing it.


