People are charged for the full lifecycle of a WorkItem: that also includes the download of input files and upload of output files. Here are a few things to think through in order to reduce costs and/or make your processes faster.
1) Optimize download and upload phase
If you are storing the input and output files on a server outside the Forge system, then the data transfer will be slower. So either you could start using one of the Forge storage services (BIM 360 Docs, Fusion Team, etc - all rely on the Object Storage Service underneath), or at least cache the necessary files prior to running your WorkItem
2) Eliminate download phase
If there are input files that you keep using again and again, then you could make them part of the AppBundle which gets cached on our side. See Store template documents in AppBundle
3) Reduce number of WorkItems
Your program running on Design Automation server might need to communicate with other servers to get the next inputs based on the result produced on the Design Automation server. If the communication to those servers is considerably faster than the constant download and upload of the files by the Design Automation server, then it might be useful to communicate directly with those servers from inside the Design Automation process. See Communicate with servers from inside Design Automation