code: def do_upload(post_data, callback=None):
      
  
      encoder = MultipartEncoder(post_data)
      monitor = MultipartEncoderMonitor(encoder, callback)
  
      headers = {'User-Agent': USER_AGENT, 'Content-Type': monitor.content_type}
      response = post(API_URL, data=monitor, headers=headers)
      check_response(response)
  
      return response.json()[0]
docs: does the actual upload also sets and generates the user agent string