Estimate before submitting
Send {operation, input} to POST /api/v1/estimates or estimate_cost. The server validates the same business input used for generation and calculates the cost from the existing pricing constants. This requires credits:read and spends no credits.
An estimate is not a reservation, a guarantee of success or a bypass for premium resolution and download rights. The account must still meet the generation requirements when it submits.
Credit rules
| Business | Credits |
|---|---|
| Character or map | 1k: 3; 2k: 5; 4k: 20 |
| Classic / Pro animation | 5 / 10 |
| Direction sprites | 5 |
| Direction animation | 4 per selected direction |
| Batch NPC / Props | 4 for the complete cast or grid |
| Tileset | 1K: 2; 2K: 4 |
| Scene extraction | 2k: 4; 4k: 10 |
| Music | 4 per generation |
| Sound effects | ceil(seconds / 5) per variant |
The live estimate and operation contract are authoritative. Inspect each business article for resolution and subscription restrictions.
Charges, refunds and retries
Generation uses the existing account credit ledger. A replay of an accepted idempotent request does not create a second charge. Failed media items use the established refund flow; batch partial failure does not refund successful work. Inspect task item refund state rather than assuming every HTTP error caused a charge or refund.
Unknown provider submission outcomes are reconciled against the original task. Do not create a replacement request automatically.
