The Microsoft API recognizes a face, identifies "surprise," and we get this fun photo of Tyra Banks from GIPHY.
Mr. Cage displays tremendous acting ability by showing multiple emotions. We take emotion scores above 0.1 and get search terms from those.
Everyone loves Disney! This person triggers the "Inside Out" versions of disgust and sadness.
Inspiration / What it does
Have you ever felt particularly emotional? Do you like sending GIFs to express these emotions? Is finding the words to express your emotion in text and typing the text into GIPHY just too dang troublesome? Look no further! Give GIFme! a photo of your face as input, and it gives you the perfect GIF to express yourself with!
How we built it
We built the entire project with Node.js. It takes the input photo, sends it to the Microsoft emotions API, and receives a list of emotions and how strongly they're represented in the picture. We then take the most strongly represented emotions, and generate a string with synonyms of that emotion. The code then calls on the GIPHY API with the string as the search term. Voilà! A GIF!
Challenges we ran into
None of us knew Node.js going into this, and two out of three barely knew what an API was. This made it hard to construct a Node.js project centered around APIs.
What we learned
We all became more familiar with coding, learned a shallow familiarity with a new language, and got a better understanding of how APIs are implemented, especially in Node.js.
Accomplishments that we're proud of
Getting the project done.
What's next for GIFMe!
As it stands, it's not quite an improvement on current GIF-procurement techniques. We also develop search terms in a rather crude way. It would be nice if we could extend this idea to implementation in video chats, to automatically suggest GIFs based on a drastic change in emotion. It would also be nice to develop a little more nuance surrounding what search terms are used to call on the GIPHY API, in order to respond more appropriately to the mix of emotions in the photo.
Log in or sign up for Devpost to join the conversation.