Yes this is achievable.
There are already web script interfaces which are how Share and Studio are working.
Streams are a little bit fiddly, especially if content is going to be large, so alfresco tends to do it in two calls, one to create the node and the other to stream in the new content. The content streaming APIs are already present and working.
Alfresco 3D will have new easier to use APIs (Java, JavaScipt, WebScript) for WCM Assets. It will be available on HEAD soon.