Users the passed URL to load data. If async=false a json with the result is returned otherwise a json with an asset_id is returned.

    :param url:
    :param metadata: arbitrary additional description information for the asset
    :param async:
    :param callback: Callback URL
    :return:

def createAssetFromURL(self, url, async=False, metadata=None, callback=None):
    """Users the passed URL to load data. If async=false a json with the result is returned otherwise a json with an asset_id is returned.

    :param url:
    :param metadata: arbitrary additional description information for the asset
    :param async:
    :param callback: Callback URL
    :return:
    """
    audio = {'uri': url}
    config = {'async': async}
    if callback is not None:
      config['callback'] = callback
    if metadata is not None:
      body = {'audio': audio, 'config': config, 'metadata': metadata}
    else:
      body = {'audio': audio, 'config': config}

    return self._checkReturn(
      requests.post("{}/speech:recognize?signed_username={}".format(self.url, self.signedUsername), json=body))