I need to create a report which has manually created tasks only. Is there is any way to know if a task is created manually or with workflow/apex code, thanks in advance.
Generally it's not possible to determine whether records were created or changes made by a human in the UI or by automation as such. Some organizations choose to run scheduled and bulk processes, or integrations, on separate users, which allows their changes to be identified by their username.
Workflows and Apex triggers run in the context of the user who performed the action that caused them to run. If a user makes a record change that causes a trigger to fire that then inserts a task, the task will show that that user created it.