How to set quota or limit to aws cognito user?
This is not possible.
The permission model in AWS controls whether or not a set of credentials is permitted to make a particular API call. The credentials can be time-limited and API calls can be restricted by things like IP address, but it is not possible to limits API calls by quantity.
This need is usually addressed by having users ("clients") call an API (eg in AWS API Gateway) which will trigger your own code on either AWS Lambda or an application. The Lambda function or app then verifies whether to allow the action and then makes the API call on behalf of the client.
This method has other advantages, such as adding functionality to the call, tracking per-user usage for billing purposes and further restricting functionality.
I am currently using boto3 to sign users up inside a UserPool with cognito.  I'd like to allow a policy for these users to be able to synthesize speech in Amazon Polly.  However, I am not sure how to set a limit to the number of times they can call this?
I would like to be able to sell a tier service, i.e. tier 1 can read x amount of strings so it is important I be able to limit polly requests per user.  Thank you.