DeckFlow developer usage is billed against the account or workspace connected to your API key. Tools usage is measured with two quota currencies: credit and spark.
How Billing Works
Each Tools task can include a fixed base fee and a metered fee.
total cost = baseFee + meteredUnits * meterFee.unitPrice
If a tool uses both credit and spark, DeckFlow deducts each currency separately. For example, a compression task can charge spark to start the job and credit based on file size.
API key billing: Usage is charged to the account or workspace that owns the API key. Server jobs, MCP calls, CLI runs, and CI automation all consume the same workspace quota when they use the same key.
Credit and Spark
| Unit | Used for |
|---|---|
credit | Standard processing work, including OCR, slide operations, format conversion, image resizing, and most page or text based tools. |
spark | Heavier or premium work, including compression and video-oriented processing. Some tools charge Spark only as a base fee, while others meter in Spark too. |
Metering Units
| Meter | Meaning |
|---|---|
size_10mb | File size measured in 10 MB units. |
text_1k | Text length measured in 1,000-character units. |
page_1 | Page or slide count measured one page at a time. |
The final charged amount is based on the server-measured file size, text length, or page count. Show an estimate before submitting large jobs, then use the completed task response to display final quota usage.
Tools Pricing
Compression
| Tool | Base fee | Metered fee |
|---|---|---|
file.compress | 1 spark | 2 credit / size_10mb |
video.compress | 1 spark | 2 credit / size_10mb |
Image and OCR
| Tool | Base fee | Metered fee |
|---|---|---|
image.ocr | 1 credit | 1 credit / page_1 |
image.convertWebp | 1 credit | 2 credit / page_1 |
image.resize | 1 credit | 2 credit / page_1 |
PPTX Utilities
| Tool | Base fee | Metered fee |
|---|---|---|
pptx.split | 1 credit | 2 credit / page_1 |
pptx.join | 1 credit | 2 credit / page_1 |
pptx.getFontInfo | 1 credit | 1 credit / page_1 |
pptx.embedFonts | 1 spark | 1 credit / page_1 |
File Conversion
| Tool | Base fee | Metered fee |
|---|---|---|
convertor.ppt2image | 2 credit | 2 credit / page_1 |
convertor.ppt2pptx | 2 credit | 2 credit / page_1 |
convertor.ppt2pdf | 2 credit | 2 credit / page_1 |
convertor.doc2pdf | 1 credit | 2 credit / page_1 |
convertor.ppt2video | 1 spark | 1 spark / page_1 |
convertor.pdf2image | 1 credit | 1 credit / page_1 |
convertor.keynote2image | 3 credit | 2 credit / page_1 |
convertor.keynote2html | 3 credit | 2 credit / page_1 |
convertor.keynote2pdf | 3 credit | 2 credit / page_1 |
convertor.html2pptx | 3 credit | 2 credit / page_1 |
HTML and Markdown Rendering
| Tool | Base fee | Metered fee |
|---|---|---|
convertor.html2png | 1 credit | 2 credit / text_1k |
convertor.markdown2png | 1 credit | 2 credit / text_1k |
Examples
Compress a 24 MB file
file.compress charges 1 spark plus 2 credit per 10 MB unit. If the file is billed as 3 size units:
1 spark + (3 * 2 credit) = 1 spark + 6 credit
Convert a 12-page PPT to PDF
convertor.ppt2pdf charges 2 credit plus 2 credit per page:
2 credit + (12 * 2 credit) = 26 credit
Convert a 10-slide PPT to video
convertor.ppt2video charges Spark for both the base fee and page metering:
1 spark + (10 * 1 spark) = 11 spark
Quota in API Responses
Tools responses should include quota usage when a task is accepted or completed. Use these fields to show a clear receipt to your users.
{
"quota_usage": {
"credits_used": 26,
"sparks_used": 0,
"remaining_credits": 974,
"remaining_sparks": 100
}
}
If the workspace does not have enough quota, DeckFlow should reject the job before processing. Do not retry quota errors in a tight loop; ask the user to add quota, change plans, or reduce the task size.