Convert MOBI to EPUB in seconds, along with AZW, AZW3 and PRC. Drop in one ebook or a whole shelf - up to 100 files a run, returned as a single ZIP. Amazon stopped delivering MOBI in 2022, so this puts old Kindle files back on Kobo, Apple Books, Nook or Send to Kindle. DRM-free only.
Converts up to 100 books in one run. The new files input is a multi-file upload in Console and an
array of URLs from the API; filesBase64 is its base64 equivalent. The single-file file and
fileBase64 inputs still work as aliases, so existing callers and saved input configurations do not
change.
A book that cannot be converted no longer fails the run. It gets a dataset record with ok: false
and the reason, and the rest of the library converts. The run only fails if nothing converted. This
matters most for DRM: most .azw and .mobi files bought from Amazon are protected, so a real
folder of ebooks contains some that cannot be converted at all. The run's last log line reports how
many books converted, how many failed and how many failed on DRM.
OUTPUT, which is what run-sync returns, is the converted EPUB when the run produced one and
epubs.zip when it produced several. Past 192 MB of EPUBs the archive is skipped and OUTPUT
becomes a MANIFEST.json listing the individual records.
Output keys no longer overwrite each other. A second book.mobi is stored as book-2.epub.
The dataset holds one record per source file rather than one per run, with ok, error,
drmProtected and conversionSeconds fields.
Conversion time is now budgeted explicitly. A book converted on its own keeps the full 15 minutes;
in a batch each book gets five minutes out of 30 for the run, so one omnibus cannot consume a run of
fifty novels, and books left when the budget is gone are recorded rather than silently dropped. Each
book is logged as it starts, so a stalled run names the book it stalled on.
Caps on a run: 100 files, 200 MB of source files in total and 100 MB for one book. Downloads have a
two-minute timeout, so one unresponsive URL cannot stall a batch.
outputFilename, bookTitle and bookAuthors are ignored when converting more than one book, since
they would name every output the same thing or stamp one title onto every book.
0.1 - unreleased
Initial version.
Converts MOBI, PRC, AZW, AZW3 and PalmDOC files to EPUB 2 or EPUB 3 with calibre's ebook-convert.
Accepts the source file as a URL (including the Apify Console file upload field) or as base64.
Detects DRM from the MOBI header and fails with an explicit message instead of a calibre stack trace.
Writes the result to the key-value store under both OUTPUT and its filename, and pushes one
dataset record per conversion.