Spin up an EC2 instance from within the application I am developing the architecture of this application and the way we need to scale is not just stateless API requests, but it's a logical split of responsibilities. In other words, we may only be able to work on data 1-5 while we need another instance to work on 6-10. We will need an undefined number of instances and would like a manager to spin up and down EC2 instances as needed. 

While scouring the web I am not able to come up with anything good, are there any good articles or is there a term for this? I have found IAC (Infrastrucure as Code) but from what I see that is simply deploying additional services, I don't see anything as IAC spun up from within the application. Is there a term for this?
Use AWS API to spin up the instances. There are SDKs (Software Development Kits) for various languages, for example if you're using Python use boto3 library. SDKs for other platforms are also available: Tools to Build on AWS, including the command line tools AWS-CLI for use in shell scripts.

With the SDK of choice you'll simply call something like ec2.start_instance(...) to spin up your new EC2. 

However I would question whether you really need standalone EC2 instances for your processing? Perhaps ECS Containers, especially Fargate, or even serverless lambda functions triggered from a work queue may be a better choice?

Hope that helps :)