API for processing links to media content from services Kinopoisk, IGDB, Shikimori, IMDb, Steam.
1.5K
A REST API service for parsing and processing links to media content from services like Kinopoisk, IGDB, Shikimori, IMDb, and Steam.
Clone the repository
git clone https://github.com/MrPandir/MediaSyncBridge.git
cd MediaSyncBridge
Install dependencies
rye sync
Copy the example configuration file and fill it in
cp .env.example .env
Fill in the values in .env (details below).
Run the server
rye run dev
python -m src.server
uvicorn src.server:app --host 0.0.0.0 --port 8000
To work with external APIs, environment variables need to be configured. Use the .env file based on the example .env.example.
# Client credentials for IGDB (obtain at https://dev.twitch.tv/console)
IGDB_CLIENT_ID=
IGDB_CLIENT_SECRET=
# API key for Kinopoisk (obtain at https://kinopoiskapiunofficial.tech)
KINOPOISK_API_KEY=
These keys are required for authenticating requests to IGDB and Kinopoisk. The other services (IMDb, Steam) utilize these two APIs. Shikimori does not require authorization.
/geturl (string, required): Link to media content from a supported service.GET http://localhost:8000/get?url=https://www.kinopoisk.ru/film/123456/
{
"ids": {
"IMDb": "tt0061155",
"Kinopoisk": "123456"
},
"clean_url": "https://kinopoisk.ru/film/123456",
"service": "kinopoisk"
}
{
"error": "Unsupported link",
"link": "https://www.kinopoisk.ru/film/"
}
API documentation is available at /docs (Swagger UI) after starting the server.
The project is packaged as a Docker image for easy deployment.
Build the image locally
docker build -t media-sync-bridge .
Or pull from Docker Hub
docker pull mrpandir/media-sync-bridge:latest
Run the container, passing environment variables
docker run -d -p 8000:8000 \
--env-file .env \
mrpandir/media-sync-bridge
The service will be available at http://localhost:8000.
Content type
Image
Digest
sha256:ac18f5c25…
Size
47.6 MB
Last updated
11 months ago
docker pull mrpandir/media-sync-bridge