curl(1) -X GET -u "apikey:{apikey}" --output hello_world.wav "https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize?accept=audio%2Fwav&text=Hello%20world&voice=en-US_AllisonVoice"
transfer a URL
-X, --request <command>
       (HTTP)  Specifies  a  custom  request  method to use when communicating with the HTTP server.  The
       specified request will be used instead of the method otherwise used (which defaults to GET).  Read
       the  HTTP  1.1 specification for details and explanations. Common additional HTTP requests include
       PUT and DELETE, but related technologies like WebDAV offers PROPFIND, COPY, MOVE and more.

       (FTP) Specifies a custom FTP command to use instead of LIST when doing file lists with FTP.

       If this option is used several times, the last one will be used.
-u, --user <user:password>
       Specify the user name and password to use for server authentication.  Overrides  -n,  --netrc  and
       --netrc-optional.

       If you just give the user name (without entering a colon) curl will prompt for a password.

       If  you  use an SSPI-enabled curl binary and do NTLM authentication, you can force curl to pick up
       the user name and password from your environment by simply specifying a  single  colon  with  this
       option: "-u :".

       If this option is used several times, the last one will be used.
-o, --output <file>
       Write  output  to <file> instead of stdout. If you are using {} or [] to fetch multiple documents,
       you can use '#' followed by a number in the <file> specifier. That variable will be replaced  with
       the current string for the URL being fetched. Like in:

         curl http://{one,two}.site.com -o "file_#1.txt"

       or use several variables like:

         curl http://{site,host}.host[1-5].com -o "#1_#2"

       You may use this option as many times as the number of URLs you have.
source manpages: curl