Go to file
yair-mantis 99bf594c7a metalab
2024-06-02 01:18:04 +03:00
.gitignore nice 2024-06-02 01:14:24 +03:00
main.py nice 2024-06-02 01:14:24 +03:00
readme.md metalab 2024-06-02 01:18:04 +03:00
requirements.txt init 2024-06-01 17:09:02 +03:00

🌌 SpaceInvaderz API 🌌

Welcome to the SpaceInvaderz API! Control your video playback like a true interstellar commander using this FastAPI-powered interface.

this is a fork of the original project as experianced in metalab lounge

🚀 Getting Started


  • Python installed
  • Required Python packages: yt-dlp, python-vlc, fastapi, uvicorn


  1. Clone the repository:

    git clone gitea.telavivmakers.space/SpaceInvaderz/spaceinvaderz.git
    cd spaceinvaderz
  2. Install dependencies:

    pip install yt-dlp python-vlc fastapi uvicorn
    # or 
    pip install -r requirements.txt
  3. Run the server:

    python main.py

Your SpaceInvaderz API should now be running on

🌌 API Endpoints

1. Add Video to playlist

Description: Adds a video to the playback playlist.

  • URL: /add
  • Method: POST
  • Body:
        "url": "VIDEO_URL"


$videoUrl = "https://www.youtube.com/watch?v=u-Wi1_O3pKQ"
Invoke-RestMethod -Uri http://localhost:1337/add -Method Post -Body (@{url = $videoUrl} | ConvertTo-Json) -ContentType "application/json"


curl -X POST "http://localhost:1337/add" -H "Content-Type: application/json" -d "{\"url\":\"YOUR_VIDEO_URL\"}"

2. Get Current playlist

Description: Retrieves the current playlist of videos.

  • URL: /playlist
  • Method: GET


Invoke-RestMethod -Uri http://localhost:1337/playlist -Method Get


curl -X GET "http://localhost:1337/playlist"

3. Control Playback

Description: Control video playback with actions like play, pause, stop, and mute.

  • URL: /control/{action}
  • Method: POST
  • Actions: play, pause, stop, mute


$action = "play"  # Or "pause", "stop", "mute"
Invoke-RestMethod -Uri http://localhost:1337/control/$action -Method Post


action="play"  # Or "pause", "stop", "mute"
curl -X POST "http://localhost:1337/control/$action"

4. Seek Video

Description: Seek to a specific time in the video.

  • URL: /seek/{seconds}
  • Method: POST
  • Parameters: seconds (Time in seconds to seek to)


$seconds = 120  # Time in seconds
Invoke-RestMethod -Uri http://localhost:1337/seek/$seconds -Method Post


seconds=120  # Time in seconds
curl -X POST "http://localhost:1337/seek/$seconds"

🌌 Contribute

Feel free to submit issues, fork the repo and create pull requests. May the code be with you! 🚀

With SpaceInvaderz, you're not just watching videos, you're commanding an intergalactic fleet of multimedia! 🌠

Happy coding, space invaders! 👾