Yo lo hago con python no se si te sirva,pero la idea seria la misma. primero obtener el servidor de subida, para eso tienes que obtener el contenido de la pagina principal donde subes archivos directamente.
Ver el archivo adjunto 167795
lo importante es solo recuperar el servidor de subida, y saber cual es tu sess_id. Te dejo el codigo de python que uso para que veas como adaptarlo a php 
😛
def upload_files(self, folder, file):
        id_f = self.get_folder(folder)
        exist, url2 = self.get_file_exist(folder, file)
        if exist:
            //Obtengo el contenido de la pagina principal
            response = self.getmethod("
https://uptobox.com/","")
            //Busco el servidor para subir y genero url para hacer POST
            url = 'https:'+re.findall('<form id="fileupload" action="(.+)"', response.text)[0].split('"')[0]+'?sess_id={{Aquí tu session}}'
            //Creo estructura del archivo a subir
            files_r = [('files[]', (file, open(file, 'rb'), 'multipart/form-data'))]
            //Subo archivo
            result = requests.post(url, files=files_r)
            data = json.loads(result.text)
            move = self.move_file(data["files"][0]["url"].split("/")[-1], id_f)
            return data["files"][0]["url"]
Las lineas no comentadas son cosas adicionales que hago xD como obtener id de la carpeta donde quiero subir y ver si ya he subido el archivo con anterioridad 
😛