{"openapi":"3.1.0","info":{"title":"Publishing Calc","version":"1.0.0","description":"Self-publishing arithmetic: page counts, reading and audiobook time, spine and cover size, trim sizes, royalties and ebook size. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Publishing Calc: Self-publishing arithmetic: page counts, reading and audiobook time, spine and cover size, trim sizes, royalties and ebook size. Use /page-count for words to pages, /reading-time and /audiobook-length for listening time, /spine-width and /cover-size for print cover dimensions, /trim-sizes for standard book sizes, /print-royalty for author earnings per copy, /chapter-balance to split words across chapters and /ebook-size for file size. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://publishing-calc.x402tookit.com"}],"paths":{"/audiobook-length":{"get":{"operationId":"audiobook_length","summary":"Audiobook running time from a word count at about 9,300 words per hour (change it), as hours and clock time.","description":"Audiobook running time from a word count at about 9,300 words per hour (change it), as hours and clock time.","tags":["publishing","audiobook","narration","acx"],"parameters":[{"name":"words","in":"query","required":true,"description":"Word count of the book","schema":{"type":"number"}},{"name":"wordsPerHour","in":"query","required":false,"description":"Narration pace in words per finished hour (default 9300, a common rule of thumb)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"words":{"type":["null","number"]},"wordsPerHourUsed":{"type":["null","number"]},"hours":{"type":["null","number"]},"clockTime":{"type":["null","string"]},"wholeHours":{"type":["null","number"]},"extraMinutes":{"type":["null","number"]},"wordsPerMinuteEquivalent":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"80000 words at 9300 words per hour is about 8.6 hours (8:36:08).","reasons":["Used the default 9,300 words per finished hour; pass wordsPerHour to change it.","Hours = words / words per hour."],"words":80000,"wordsPerHourUsed":9300,"hours":8.602,"clockTime":"8:36:08","wholeHours":8,"extraMinutes":36,"wordsPerMinuteEquivalent":155,"degraded":false,"notChecked":["the real narrator's pace, which commonly ranges well above and below the rule of thumb","front and back credits, chapter pauses and room tone","…1 more"],"source":"computed locally (hours = words / words per hour); 9,300 words per hour is a common narration rule of thumb","asOf":"2026-10-12T01:40:24.088Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/audiobook-length"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/audiobook-length"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/audiobook-length"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/audiobook-length"}}]}}},"/chapter-balance":{"get":{"operationId":"chapter_balance","summary":"Split a total word count into N balanced chapters with exact per-chapter words, pages and reading minutes.","description":"Split a total word count into N balanced chapters with exact per-chapter words, pages and reading minutes.","tags":["publishing","chapters","word-count","outline"],"parameters":[{"name":"totalWords","in":"query","required":true,"description":"Total words to divide across chapters","schema":{"type":"integer"}},{"name":"chapters","in":"query","required":true,"description":"Number of chapters (1 to 300)","schema":{"type":"integer"}},{"name":"wordsPerPage","in":"query","required":false,"description":"Words per printed page for page counts (default 250)","schema":{"type":"number"}},{"name":"wpm","in":"query","required":false,"description":"Reading speed for minutes per chapter (default 238)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"totalWords":{"type":["null","number"]},"chapters":{"type":["null","number"]},"baseWordsPerChapter":{"type":["null","number"]},"chaptersWithExtraWord":{"type":["null","number"]},"averageWordsPerChapter":{"type":["null","number"]},"chapterWords":{"type":["array","null"],"items":{"type":"number"}},"wordsPerPageUsed":{"type":["null","number"]},"pagesPerChapter":{"type":["null","number"]},"readingMinutesPerChapter":{"type":["null","number"]},"readingTimeWholeBook":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"100003 words in 3 chapters is 33334.3 each (33334 or 33335).","reasons":["1 chapter(s) get 33335 words and 2 get 33334, so no word is lost or invented.","Pages and minutes use your inputs or the defaults (250 words per page, 238 words per minute)."],"totalWords":100003,"chapters":3,"baseWordsPerChapter":33334,"chaptersWithExtraWord":1,"averageWordsPerChapter":33334.33,"chapterWords":[33335,33334],"wordsPerPageUsed":250,"pagesPerChapter":133.34,"readingMinutesPerChapter":140.06,"readingTimeWholeBook":"7:00:11","degraded":false,"notChecked":["story structure: equal length is a planning target, not a rule, and real chapters vary","front and back matter words","…1 more"],"source":"computed locally (floor division; the first words mod N chapters get one extra word)","asOf":"2026-10-12T01:40:24.359Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/chapter-balance"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/chapter-balance"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/chapter-balance"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/chapter-balance"}}]}}},"/cover-size":{"get":{"operationId":"cover_size","summary":"Full paperback cover width and height with bleed from trim size and page count, in inches, mm and pixels.","description":"Full paperback cover width and height with bleed from trim size and page count, in inches, mm and pixels.","tags":["publishing","cover","bleed","trim-size"],"parameters":[{"name":"trimWidth","in":"query","required":true,"description":"Trim width of one page (inches by default)","schema":{"type":"number"}},{"name":"trimHeight","in":"query","required":true,"description":"Trim height of one page","schema":{"type":"number"}},{"name":"pages","in":"query","required":true,"description":"Total printed page count","schema":{"type":"integer"}},{"name":"paper","in":"query","required":false,"description":"white (default), cream or color; sets spine thickness","schema":{"type":"string"}},{"name":"pageThicknessIn","in":"query","required":false,"description":"Override: inches of spine per page","schema":{"type":"number"}},{"name":"bleed","in":"query","required":false,"description":"Bleed on each outer edge in the same unit (default 0.125 in or 3.175 mm)","schema":{"type":"number"}},{"name":"unit","in":"query","required":false,"description":"in (default) or mm for trim and bleed","schema":{"type":"string"}},{"name":"dpi","in":"query","required":false,"description":"Pixels per inch for the pixel size (default 300)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"inputUnit":{"type":["null","string"]},"trimWidthIn":{"type":["null","number"]},"trimHeightIn":{"type":["null","number"]},"bleedIn":{"type":["null","number"]},"spineWidthIn":{"type":["null","number"]},"coverWidthIn":{"type":["null","number"]},"coverHeightIn":{"type":["null","number"]},"coverWidthMm":{"type":["null","number"]},"coverHeightMm":{"type":["null","number"]},"dpiUsed":{"type":["null","number"]},"coverWidthPx":{"type":["null","number"]},"coverHeightPx":{"type":["null","number"]},"spineXStartIn":{"type":["null","number"]},"frontXStartIn":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Full cover is 12.9256 x 9.25 in (328.3 x 235 mm) with a 0.6756 in spine.","reasons":["Width = back trim + spine + front trim + bleed on both outer edges; height = trim height + bleed top and bottom.","Spine: 300 pages x 0.002252 in (black ink on white paper (common POD figure 0.002252 in per page))."],"inputUnit":"in","trimWidthIn":6,"trimHeightIn":9,"bleedIn":0.125,"spineWidthIn":0.6756,"coverWidthIn":12.9256,"coverHeightIn":9.25,"coverWidthMm":328.31,"coverHeightMm":234.95,"dpiUsed":300,"coverWidthPx":3878,"coverHeightPx":2775,"spineXStartIn":6.125,"frontXStartIn":6.8006,"degraded":false,"notChecked":["your printer's own cover template (spine rounding, safe margins, barcode zone and wrap rules differ)","hardcover wrap, board and hinge allowances, which add more than bleed","…1 more"],"source":"computed locally (width = back + spine + front + 2 bleed; height = trim + 2 bleed)","asOf":"2026-10-12T01:40:24.622Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/cover-size"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/cover-size"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/cover-size"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/cover-size"}}]}}},"/ebook-size":{"get":{"operationId":"ebook_size","summary":"Estimate ebook file size in KB and MB from word count, image count and average image size (all adjustable).","description":"Estimate ebook file size in KB and MB from word count, image count and average image size (all adjustable).","tags":["publishing","ebook","epub","file-size"],"parameters":[{"name":"words","in":"query","required":true,"description":"Word count of the book","schema":{"type":"number"}},{"name":"images","in":"query","required":false,"description":"Number of embedded images (default 0)","schema":{"type":"integer"}},{"name":"avgImageKb","in":"query","required":false,"description":"Average size of one embedded image in KB, 1 KB = 1000 bytes (default 200)","schema":{"type":"number"}},{"name":"bytesPerWord","in":"query","required":false,"description":"Uncompressed text bytes per word incl. markup (default 6.5)","schema":{"type":"number"}},{"name":"textCompression","in":"query","required":false,"description":"Zip size as a fraction of raw text, 0.1 to 1 (default 0.4)","schema":{"type":"number"}},{"name":"overheadKb","in":"query","required":false,"description":"Fixed overhead in KB for stylesheet, metadata and navigation (default 50)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"words":{"type":["null","number"]},"images":{"type":["null","number"]},"rawTextKb":{"type":["null","number"]},"compressedTextKb":{"type":["null","number"]},"imagesKb":{"type":["null","number"]},"overheadKb":{"type":["null","number"]},"totalKb":{"type":["null","number"]},"totalMb":{"type":["null","number"]},"imageSharePercent":{"type":["null","number"]},"bytesPerWordUsed":{"type":["null","number"]},"textCompressionUsed":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"ESTIMATE","summary":"About 2258 KB (2.26 MB): 208 KB text, 2000 KB images, 50 KB overhead.","reasons":["Text is estimated as words x bytes per word, then compressed; images are assumed already compressed.","Images dominate the size, so image size is the lever to pull."],"words":80000,"images":10,"rawTextKb":520,"compressedTextKb":208,"imagesKb":2000,"overheadKb":50,"totalKb":2258,"totalMb":2.258,"imageSharePercent":88.6,"bytesPerWordUsed":6.5,"textCompressionUsed":0.4,"degraded":false,"notChecked":["the real file: embedded fonts, a high-resolution cover, tables and markup density can move this a lot","how your retailer recompresses images or charges for file size (delivery fees, if any, are retailer rules not covered here)","…1 more"],"source":"computed locally (size = words x bytes per word x compression + images x average image KB + fixed overhead)","asOf":"2026-10-12T01:40:24.885Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/ebook-size"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/ebook-size"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/ebook-size"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/ebook-size"}}]}}},"/page-count":{"get":{"operationId":"page_count","summary":"Pages from a word count at your words-per-page figure, rounded up, plus even page count and sheets for print.","description":"Pages from a word count at your words-per-page figure, rounded up, plus even page count and sheets for print.","tags":["publishing","page-count","words","manuscript"],"parameters":[{"name":"words","in":"query","required":true,"description":"Total word count of the manuscript","schema":{"type":"number"}},{"name":"wordsPerPage","in":"query","required":false,"description":"Words on a printed page (default 250; depends on trim size, font and margins)","schema":{"type":"number"}},{"name":"frontBackPages","in":"query","required":false,"description":"Extra pages for title, copyright, contents and about the author (default 0)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"words":{"type":["null","number"]},"wordsPerPageUsed":{"type":["null","number"]},"textPages":{"type":["null","number"]},"frontBackPagesAdded":{"type":["null","number"]},"totalPages":{"type":["null","number"]},"evenPageCount":{"type":["null","number"]},"leaves":{"type":["null","number"]},"exactTextPages":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"80000 words at 250 words per page is 320 pages (320 when rounded up to an even count).","reasons":["Pages = words / words per page, rounded up; printers bind in leaves of two pages, so an even count is what prints.","Exact text pages before rounding: 320."],"words":80000,"wordsPerPageUsed":250,"textPages":320,"frontBackPagesAdded":0,"totalPages":320,"evenPageCount":320,"leaves":160,"exactTextPages":320,"degraded":false,"notChecked":["real layout: headings, chapter openers, white space, images and scene breaks change words per page a lot","your printer's minimum, maximum and multiple-of-four page rules","…1 more"],"source":"computed locally (pages = words / words per page, rounded up)","asOf":"2026-10-12T01:40:25.148Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/page-count"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/page-count"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/page-count"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/page-count"}}]}}},"/print-royalty":{"get":{"operationId":"print_royalty","summary":"Print book royalty per copy from list price, printing cost and royalty rate, plus break-even price and total.","description":"Print book royalty per copy from list price, printing cost and royalty rate, plus break-even price and total.","tags":["publishing","royalty","print-on-demand","pricing"],"parameters":[{"name":"listPrice","in":"query","required":true,"description":"Retail list price","schema":{"type":"number"}},{"name":"printCost","in":"query","required":true,"description":"Printing cost per copy (from your printer's calculator)","schema":{"type":"number"}},{"name":"royaltyRate","in":"query","required":true,"description":"Royalty percent, for example 60","schema":{"type":"number"}},{"name":"model","in":"query","required":false,"description":"list (default): rate x list - printing cost; net: rate x (list - printing cost)","schema":{"type":"string"}},{"name":"copies","in":"query","required":false,"description":"Copies sold, for a total (default 1)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"listPrice":{"type":["null","number"]},"printCost":{"type":["null","number"]},"royaltyRatePercent":{"type":["null","number"]},"modelUsed":{"type":["null","string"]},"royaltyPerCopy":{"type":["null","number"]},"royaltyPerCopyExact":{"type":["null","number"]},"copies":{"type":["null","number"]},"totalRoyalty":{"type":["null","number"]},"breakEvenListPrice":{"type":["null","number"]},"authorSharePercentOfList":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"PROFIT","summary":"At 20 list with 4 printing cost and a 60% rate (list model), the royalty is 8 per copy.","reasons":["List model: royalty = rate x list price - printing cost.","Smallest list price that avoids a loss: 6.67."],"listPrice":20,"printCost":4,"royaltyRatePercent":60,"modelUsed":"list","royaltyPerCopy":8,"royaltyPerCopyExact":8,"copies":1,"totalRoyalty":8,"breakEvenListPrice":6.67,"authorSharePercentOfList":40,"degraded":false,"notChecked":["which model your retailer or printer actually uses (check its royalty terms; distribution channels differ)","sales tax, returns, expanded-distribution discounts, currency conversion and author-copy purchases","…1 more"],"source":"computed locally (list model: royalty = rate x list - printing cost; net model: rate x (list - printing cost))","asOf":"2026-10-12T01:40:25.411Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/print-royalty"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/print-royalty"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/print-royalty"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/print-royalty"}}]}}},"/reading-time":{"get":{"operationId":"reading_time","summary":"Silent reading time for a word count at your words-per-minute (default 238), as minutes and hours:minutes:seconds.","description":"Silent reading time for a word count at your words-per-minute (default 238), as minutes and hours:minutes:seconds.","tags":["publishing","reading-time","words-per-minute","blog"],"parameters":[{"name":"words","in":"query","required":true,"description":"Word count of the text","schema":{"type":"number"}},{"name":"wpm","in":"query","required":false,"description":"Reading speed in words per minute (default 238, a silent-reading average for adult non-fiction)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"words":{"type":["null","number"]},"wordsPerMinuteUsed":{"type":["null","number"]},"minutes":{"type":["null","number"]},"hours":{"type":["null","number"]},"clockTime":{"type":["null","string"]},"minutesRoundedUp":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"47600 words at 238 words per minute is 200 minutes (3:20:00).","reasons":["Used the default 238 words per minute for silent reading; pass wpm to change it.","Minutes = words / words per minute."],"words":47600,"wordsPerMinuteUsed":238,"minutes":200,"hours":3.333,"clockTime":"3:20:00","minutesRoundedUp":200,"degraded":false,"notChecked":["individual readers: speed varies widely with age, language, text difficulty and purpose","reading aloud, which is slower (see /audiobook-length)","…1 more"],"source":"computed locally (minutes = words / words per minute); 238 wpm default from a published silent-reading meta-analysis (Brysbaert 2019)","asOf":"2026-10-12T01:40:25.674Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/reading-time"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/reading-time"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/reading-time"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/reading-time"}}]}}},"/spine-width":{"get":{"operationId":"spine_width","summary":"Print book spine width in inches and mm from page count and paper type (white, cream, color) or your own thickness.","description":"Print book spine width in inches and mm from page count and paper type (white, cream, color) or your own thickness.","tags":["publishing","spine","cover","print-on-demand"],"parameters":[{"name":"pages","in":"query","required":true,"description":"Total printed page count","schema":{"type":"integer"}},{"name":"paper","in":"query","required":false,"description":"white (default), cream or color; per-page factors are common POD figures that vary by printer","schema":{"type":"string"}},{"name":"pageThicknessIn","in":"query","required":false,"description":"Override: inches of spine per page (use your printer's figure)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"pages":{"type":["null","number"]},"paperUsed":{"type":["null","string"]},"inchesPerPage":{"type":["null","number"]},"spineWidthIn":{"type":["null","number"]},"spineWidthMm":{"type":["null","number"]},"knownPapers":{"type":["null","object"],"properties":{"white":{"type":["null","number"]},"cream":{"type":["null","number"]},"color":{"type":["null","number"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"300 pages on white paper give a spine of about 0.6756 in (17.16 mm).","reasons":["Spine = pages x 0.002252 in per page (black ink on white paper (common POD figure 0.002252 in per page)).","These are common published print-on-demand figures; they vary by printer, so confirm with your printer's cover calculator before ordering."],"pages":300,"paperUsed":"white","inchesPerPage":0.002252,"spineWidthIn":0.6756,"spineWidthMm":17.16,"knownPapers":{"white":0.002252,"cream":0.0025,"color":0.002347},"degraded":false,"notChecked":["your printer's own cover template, which is the only authority (factors vary by printer, paper stock and year)","hardcover boards, which add their own thickness","…1 more"],"source":"computed locally (spine = pages x paper thickness per page; common published POD factors)","asOf":"2026-10-12T01:40:25.937Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/spine-width"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/spine-width"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/spine-width"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/spine-width"}}]}}},"/trim-sizes":{"get":{"operationId":"trim_sizes","summary":"Standard US trade book trim sizes in inches and mm, or look up one size like 6x9 and its closest standard.","description":"Standard US trade book trim sizes in inches and mm, or look up one size like 6x9 and its closest standard.","tags":["publishing","trim-size","book-size","paperback"],"parameters":[{"name":"size","in":"query","required":false,"description":"A size like 6x9 or 5.5x8.5 (inches, width x height); omit for the whole table","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"requestedWidthIn":{"type":["null","number"]},"requestedHeightIn":{"type":["null","number"]},"requestedWidthMm":{"type":["null","number"]},"requestedHeightMm":{"type":["null","number"]},"aspectRatio":{"type":["null","number"]},"match":{"type":["null","object"],"properties":{"size":{"type":["null","string"]},"widthIn":{"type":["null","number"]},"heightIn":{"type":["null","number"]},"use":{"type":["null","string"]},"widthMm":{"type":["null","number"]},"heightMm":{"type":["null","number"]}}},"nearestStandard":{},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"STANDARD_SIZE","summary":"6 x 9 in (152.4 x 228.6 mm) is a standard trim: US trade, nonfiction, novels.","reasons":["Matches a size in the built-in table."],"requestedWidthIn":6,"requestedHeightIn":9,"requestedWidthMm":152.4,"requestedHeightMm":228.6,"aspectRatio":1.5,"match":{"size":"6x9","widthIn":6,"heightIn":9,"use":"US trade, nonfiction, novels","widthMm":152.4,"heightMm":228.6},"nearestStandard":null,"degraded":false,"notChecked":["which sizes your printer actually offers (each printer supports a subset, and page-count limits differ by size)","hardcover and special-format sizes","…1 more"],"source":"computed locally from a built-in table of common US trade trim sizes (inches; mm = in x 25.4)","asOf":"2026-10-12T01:40:26.202Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/trim-sizes"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/trim-sizes"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/trim-sizes"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://publishing-calc.x402tookit.com/trim-sizes"}}]}}}}}