Credit estimate contract
Credit estimation is a separate, non-generating request used by POM AI interfaces before they ask the user to continue.
Successful estimate
The client expects a response containing:
{
"credits_needed": 12.34
}
Some operations also return prepared prompt data used by the subsequent execution, but integrations should treat credits_needed as the public estimate field. An estimate does not create text, translate content, generate an image, transcribe audio, or debit credits.
Estimate semantics
The value is approximate. It is calculated from the requested operation and its current inputs, such as expected output length, number of items, image settings, or audio duration. If those inputs change between estimate and execution, the final charge can change. Provider behavior and actual generated usage can also make execution differ from the earlier estimate.
Show the estimate close to the confirmation action and retain the units as POM AI credits. Do not convert it to currency without a separate, current commercial contract.
Errors
A transport failure, invalid JSON response, license/domain problem, or missing credits_needed must stop the confirmation flow. Do not replace a failed estimate with zero and proceed. Preserve the normalized public error message and code for troubleshooting.
MCP tool calls are outside this contract and consume no POM AI credits.
Related guides: estimate and charge differ, credit consumption, and credit estimates.
Image generation and improvement
Keep the selected model, resolution tier, aspect ratio, quality, style, prompt, business context and reference images consistent between estimating and executing an image operation. OpenAI output dimensions depend on both the resolution tier and aspect ratio. Its quality setting affects the estimate independently of size. Generation and improvement reject unsupported model, resolution or quality choices before making a provider request. The maximum output edge is 2560 pixels: 4K requests and Google 2K at 9:16, 16:9 or 21:9 are rejected before pricing or generation.