Skip to content

Unfake-Official/server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 Unfake Core

python flask tensorflow keras

AboutGetting StartedAPI EndpointsContribute

📌 About the project

The growing evolution of artificial intelligence (A.I.) tools is making them increasingly efficient and globally accessible. However, some of these technologies can be harmful if used maliciously, and that includes deepfakes. Deepfakes are a type of synthetic media that generates realistic content and has the potential to clone an individual's identity, using it to spread fake news, damage their reputation and promote fraud and security breaches. Thus, there is a need for ways to verify whether a piece of media is real or artificially synthesized. However, even though there are technologies that meet this need, the detection of audio deepfakes is still a challenge, considering that it is not as effective when it comes to speech in Portuguese and has questionable effectiveness in audio with the presence of noise. In this sense, Unfake aims to develop an A.I. model capable of identifying whether an audio contains human or synthetic speech. In this way, we hope to make it possible for lay users to identify deepfakes in a robust and effective way, contributing to a safer and more reliable digital environment, as well as encouraging future research in the area using the data obtained in the project.

🚀 Getting started

Prerequisites

Here is a list of all prerequisites necessary for running the project locally:

Cloning

git clone https://github.com/Unfake-Official/server.git

Starting

Firstly, go to the project's directory:

cd server

Next, create a virtual environment and activate it:

python -m venv .venv
.venv/Scripts/activate

Install all dependencies:

pip install -r requirements.txt

Finally, run the development server:

python run.py

Open http://localhost:5000/alive with your browser to see the result.

📍 API Endpoints

Here you can list the main routes of your API, and what are their expected request bodies. ​

route description
GET /alive Confirms that the server is running without problems. Response details
POST /classify Receives an uploaded audio via body files and returns its possible classification and accuracy. Request details

GET /alive

RESPONSE

"[Current Timestamp] Server is alive."

POST /classify

REQUEST

'audio': sample.wav

RESPONSE

{
	"accuracy": 7.829866170377153,
	"classification": "real"
}

📫 Contribute

If you want to somehow contribute to this project, start by creating a branch named as follow. Then, make your changes and follow commit patterns. Finally, open an pull request.

  1. git clone https://github.com/Unfake-Official/server.git
  2. git checkout -b feature/NAME
  3. Follow commit patterns
  4. Open a Pull Request explaining the problem solved or feature made, if exists, append screenshot of visual modifications and wait for the review!

Documentations that might help

📝 How to create a Pull Request

💾 Commit pattern