Each user has free attempts and a paid balance. A generation is charged only after a successful result.
1 generation = 1 successfully created result. If generation fails because of a technical error, the attempt is not charged.