Skip to navigation

Fix flagged content and publish

Use the start and end times in a moderation result to repair the flagged moment instead of removing the whole asset, then re-run moderation on the corrected version before you publish it.


What you’re building

A remediation path that sits between publish and delete.

Most moderation decisions are binary because most moderation results are asset-level: a verdict with no timing. A FastPix moderation result is a list of moments, each with a modality, a start time, an end time, and the categories that triggered it. That turns a takedown into an edit list.

The pattern is the same every time. Read the segment, pick the transform that matches its modality and category, produce a corrected asset, run moderation again on that asset, and publish the corrected version while the original stays restricted. Because moderation and media transforms run on the same platform, the whole loop happens without moving the file between tools.

Prerequisites


Read the segments, not just the verdict

Fetch the result and work from the moderation.segments array. Each entry tells you what to fix and where.

curl --request GET \
--url https://api.fastpix.com/v1/ai/{mediaId}/moderation \
--user '{Access_Token}:{Secret_Key}'
{
"moderation": {
"verdict": "unsafe",
"modalities": ["video", "audio"],
"scores": {
"violence": 0.8661,
"profanity": 0.5
},
"segments": [
{ "modality": "video", "start": 54, "end": 81, "riskScore": 0.8661, "categories": { "violence": 0.8661 } },
{ "modality": "audio", "start": 88.19, "end": 98.53, "riskScore": 0.5, "categories": { "profanity": 0.5 } }
]
}
}

Two findings in a long asset, twenty seconds apart in effect. The whole-media verdict says unsafe, but only about thirty-seven seconds of content actually caused it. Removing the asset discards everything else.


Choose the transform that matches the finding

The modality tells you which track to act on, and the categories tell you how aggressive the fix needs to be.

FindingTypical fixGuide
Audio profanity or a harmful statement, visuals fineReplace or cover the audio for that spanReplace a video’s audio track, Overlay audio on a video timeline
A short visual moment, surrounding content valuableRemove the flagged intervalRemove unwanted video segments
Only part of the asset is approvedPublish that range as its own clipClip and trim videos
Several approved ranges, scattered findingsClip the safe ranges and join themMerge and stitch videos

For the example above, the audio finding at 88.19 to 98.53 is a candidate for an audio overlay, and the visual finding at 54 to 81 is a candidate for segment removal. Use the segment times directly as the interval for the transform.


Re-run moderation on the corrected asset

A transform produces a new media asset, and that asset has not been moderated. Run moderation on it before it goes anywhere near an audience.

curl --request POST \
--url https://api.fastpix.com/v1/ai/{mediaId}/moderation \
--user '{Access_Token}:{Secret_Key}'
{
"success": true,
"data": {
"id": "c695988b-ff84-42ae-bb21-10f284fedb0e"
}
}

Wait for video.media.ai.moderation.ready on the new asset, then confirm the result is clear. Treat this as a fresh decision rather than an amendment to the original one. Two reasons: an edit can miss part of a finding, and cutting one interval changes what sits either side of the cut, which occasionally produces a new adjacency that reads worse than the original.


Publish the corrected version

Once the corrected asset clears, give it a public playback ID and leave the original restricted.

curl --request POST \
--url https://api.fastpix.com/v1/on-demand/{mediaId}/playback-ids \
--user '{Access_Token}:{Secret_Key}' \
--header 'Content-Type: application/json' \
--data '{
"accessPolicy": "public"
}'

Keep the original rather than deleting it. It is the evidence behind the decision, the source for a different edit if your policy changes, and what an appeal is assessed against. Recording the original media ID in the corrected asset’s metadata keeps the two linked.


Serving several markets from one master

The same finding set can produce more than one corrected version, because different markets and standards draw the line in different places.

Rather than re-reviewing the asset per market, apply your per-market rules to the one set of segments. A market that tolerates the violence finding at 0.8661 but not the profanity at 0.5 gets one edit. A market with the opposite tolerance gets another. Each is a separate asset with its own playback ID and its own moderation record, produced from a single analysis of the source.


What to watch for

  • Publish on a confirmed result, not on silence. Release the corrected version when the re-check comes back clear, not when nothing has come back. Build a timeout into your pipeline and escalate anything still pending when it expires.
  • Every corrected version needs its own moderation run. A transform output inherits nothing from its source, including its moderation status.
  • Audio findings sit on transcript timing. Give the span a small margin on each side when replacing or overlaying audio, so a word is not clipped mid-syllable.
  • Removing an interval shifts everything after it. Timestamps from the original result do not map onto the corrected asset. Always work from the new asset’s own result.
  • Not every finding should be fixed. Remediation suits localised findings in otherwise sound content. An asset with findings spread across most of its duration is a rejection, not an edit.

Frequently asked questions

Can I fix flagged media instead of deleting it?

Yes. Each segment in the moderation result carries a start and end time and a modality, so you can remove the interval, clip an approved range, replace or overlay audio, or stitch safe sections together, then run moderation again before publishing.

Do I need to moderate the corrected video again?

Yes. A transform produces a new media asset with no moderation history. Run moderation on it and treat the outcome as a new decision, since an edit can partially miss a finding or create a new adjacency at the cut.

Should I delete the original after publishing a corrected version?

Keep it restricted rather than deleting it. The original is the evidence behind the decision, the source for any future edit, and what an appeal is judged against.

Can one video produce different versions for different regions?

Yes. Apply per-market rules to the same segment list and generate a separate corrected asset for each market. Each version carries its own playback ID and its own moderation record, from a single analysis of the source.


What’s next