Songroom API

Welcome to Songroom Public API v1!



Endpoints: (Click to see details)
Loading...

Examples:

This example shows how to create a stream and play on Roblox.

local HttpService = game:GetService("HttpService")
local BaseURL = "https://songroom-api.glitch.me"

local accessToken
local streamId

local function sendRequest(command, url)
  local message = {id = streamId} -- Id is sent everytime.

  if url then --If there is a url, add it to post body.
    message.url = url
  end

  local data = HttpService:JSONEncode(message)
  local response = HttpService:PostAsync(BaseURL.."/api/"..command, data, Enum.HttpContentType.ApplicationJson, false, {Authorization = accessToken})
  print(response)
end

local function createStream()
  local newStream = HttpService:GetAsync(BaseURL.."/api/createStream")
  local streamData = HttpService:JSONDecode(newStream)

  return streamData
end

local newStream = createStream()
accessToken = newStream.accessToken
streamId = newStream.id

print("New stream created. Stream id: ", streamId)

sendRequest("play", BaseURL.."/music/test_music.mp3")
sendRequest("stop")
              

This example shows how to create a stream and play on Python.

import requests
import json

base_url = "https://songroom-api.glitch.me"
access_token = None
stream_id = None

def send_request(command, url=None):
    message = {"id": stream_id}

    if url:
        message["url"] = url

    data = json.dumps(message)
    headers = {"Authorization": access_token, "Content-Type": "application/json"}
    response = requests.post(f"{base_url}/api/{command}", data=data, headers=headers)

    print(response.text)

def create_stream():
    response = requests.get(f"{base_url}/api/createStream")
    stream_data = response.json()

    return stream_data

new_stream = create_stream()
access_token = new_stream["accessToken"]
stream_id = new_stream["id"]

print(f"New stream created. Stream id: {stream_id}")

send_request("play", f"{base_url}/music/test_music.mp3")
send_request("stop")