The cura engine can transform stl models to G-code. Thats the main function of it all
Depending on the branch that you use, the model is either excepted through pipes, or via a (local) socket. It will use those to return any G-Code it computes. The socket or pipe is also used to recieve settings.
The engine does not transfer anything to the device. That is the task of the GUI. The engine only accepts models & settings and only returns a set of g-codes.
All the documentation out there is on the github page or inside Daid's head (and a tiny bit in mine, as it's not my project).
Your best bet would be to hack into the Cura python code, rip out the graphical stuff and use that to call the engine with the settings & model(s). Cura (Python part) can then send it to the printer.