Sume output_extraction_failed: the run stays completed, reread it

output_extraction_failed with reason harvest_unavailable is transient. The Sume run stays completed and fills in on your next read; retry only if it persists.

4 min readSume
All posts

output_extraction_failed is a transport failure, not a verdict on your schema. The run stays completed, and when details.reason is harvest_unavailable the receipt fills in on the next read, so read it once more before doing anything else.

Sume's Structured output page puts it in the output_error.code table: the projection could not run, and a reason of harvest_unavailable means the run's media could not be read while it finalized. This post covers how that differs from the failures that do mark a run failed.

Why does this one stay completed?

On a run over the API, a projection failure is a run failure: status is failed and error carries the same reason. The page lists output_extraction_failed as the exception, because it records that the projection never got to look at the run. A failed status would tell you the run did something wrong when nothing is known either way.

So the receipt stays completed and re-projects by itself on your next read.

What should I do, in order?

The page gives a short ladder.

Handling steps from the Sume Structured output docs page, read 2026-10-02.
StepAction
1Read the run once more; that alone clears a harvest_unavailable
2If it persists, retry the run with a new idempotency key
3In your UI, show artifacts[] and log the shape failure

Why a new idempotency key?

The page says the old key is bound to the receipt you already have. Replaying the same key would return that original receipt, so a retry only starts new work under a new key.

Can I still show my customer something?

Yes. artifacts[] is populated either way with everything the run made. The page's advice is that showing the media and logging the failure beats showing an error to a customer whose video exists.

Treat the code set as open. New codes may appear, so branch on output_extraction_failed and the others you handle and fall through on the rest.

Sources

Related posts

More in Formats

All Formats posts

Written by Sume