Prepare an Image-Rich KDP EPUB Without Broken References

An abstract editorial 3D still life illustrating Prepare an Image-Rich KDP EPUB Without Broken References

Set a local gate before advancing to KDP

For a KDP-bound EPUB, “the creator exported a file” and “the book is ready for KDP” are different decisions. Pass a local package gate first, then move to Kindle Previewer and KDP checks.

The article-specific sample contained three body chapters, three inline images, and one cover. The output had four packaged images, zero missing images, seven spine items, three chapter links in both nav and NCX, and valid=true. The status is passed for that local package only; it is not a KDP acceptance result.

Use three chapters, three inline images, and one cover

chapter01.md through chapter03.md each referenced one inline image, while a fourth image was assigned as the cover. The starting record was three chapters, three inline assets, one cover, and four expected packaged images.

Keeping the cover separate reveals a common mismatch: all body images may be present while the cover assignment is absent. The local decision requires all three chapters in the reading order and all four images in the package.

Separate local inspection from retailer inspection

First count manuscript references and the cover assignment. After export, reconcile the manifest, packaged image files, spine, nav, and NCX. Only after those values agree should the file be opened in Kindle Previewer and uploaded to KDP.

KDP’s official help lists EPUB as a supported manuscript format and recommends checking the book with Kindle Previewer before upload. A local valid=true result therefore does not replace the retailer-facing stage.

The measured run stopped at the creator-output boundary

Stage 4 created three chapters, three inline images, and one cover; set series, volume, and cover data; selected the manuscripts; reviewed the plan; exported the EPUB; and read the package, nav, NCX, and chapter XHTML. command_count was 10.

Rune Studio has documented reference-update behavior, but any relocation in this evidence used an explicit command-line operation in a dedicated copy. The package result does not prove automatic tracking after Finder or cloud moves.

The local result was four images and three chapter links

The measured values were input_chapters=3, inline_image_files=3, cover_files=1, image_count=4, missing_images=0, spine_count=7, nav_item_count=3, ncx_item_count=3, and valid=true. Both nav and NCX were present.

The spine count is larger than the source chapter count because generated structural pages are included. The meaningful reconciliation is three chapter links in each navigation structure, four packaged images for three inline assets plus one cover, and zero missing images.

A separate common Stage 4 run used five chapters, one image, and version 1.3. It produced spine 9, zero missing images, nav and NCX, and valid=true. Those values belong to a different fixture and are not combined with this four-image result.

Previewer and KDP remain outside the passed result

The run did not verify visual image quality, alt-text quality, Kindle Previewer rendering, device differences, KDP upload, or KDP acceptance. valid=true is a local package-inspection result, not a claim about retail eligibility.

If the image count is not four, return to body references or the cover assignment. If either chapter-link count is not three, return to manuscript selection and order. Do not advance to KDP while the local values are inconsistent.

Rune Studio prepares the local package

Rune Studio’s documented Mac workflow can generate an EPUB 3 package containing content.opf, nav.xhtml, NCX, content documents, images, and cover data. It also documents relative-path maintenance inside a workspace, while external URLs and page anchors remain outside that update behavior.

The product prepares and inspects the local output. KDP acceptance and Kindle-device rendering belong to external systems and are not folded into the product claim or the Stage 4 evidence.

Hand off to KDP only after the local gate passes

This three-chapter sample passed its local gate with four images, zero missing images, three chapter links in each navigation structure, seven spine items, and valid=true. Kindle Previewer and KDP remain explicit next-stage checks.

The practical rule is to keep creator output and retailer acceptance as two gates. Return to the source when the local values differ, and advance only after they reconcile.