# Supported inputs and generated files

> Every input extension RoughCut accepts, every file a job can produce, and what each generated artifact actually contains.
>
> Verified against the current RoughCut app on 28 August 2026
> https://www.roughcuteditor.com/docs/file-formats

RoughCut accepts video files with the extensions mp4, mov, mkv, avi and m4v, and audio files with wav, mp3 and m4a. A rough cut produces one deliverable you will actually use, the FCPXML timeline, while Transcribe Only produces SRT subtitles and plain text. Two advanced exports exist beside them: an XML Pack zip that pairs the timeline with its decision list, and a Debug Bundle zip for support. Every job also leaves a folder of internal artifacts — the transcript, the removal list, the cut plan, the frame map and the provider accounting — which you can open with Reveal Job Folder in Finder. Exported names follow the pattern stem, spaced em dash, RoughCut, plus the extension. The extracted analysis audio is deleted when a cut completes unless you have turned Keep analysis audio on. Whether a particular file opens depends on macOS media decoding, not on the extension alone.

## Inputs RoughCut accepts

One table, for both screens. `New Rough Cut` takes a video and, optionally, a separate audio track; `Transcribe Only` takes either a video or an audio file.

| Kind | Extensions | Used for |
|---|---|---|
| Video | `mp4`, `mov`, `mkv`, `avi`, `m4v` | The source of a rough cut, and the media the exported timeline links back to. Also accepted by `Transcribe Only`. |
| Audio | `wav`, `mp3`, `m4a` | A separate, cleaner microphone track on a rough cut, or the direct input to `Transcribe Only`. |

Drop anything else and RoughCut refuses it by name, listing both sets of extensions back to you rather than failing quietly.

An audio file sent to RoughCut from Finder or Final Cut Pro goes straight to transcription. The chooser sheet does not offer to build a rough cut from an audio-only file, because there is no video to cut.

## Extension is not the whole story

The extension list is what RoughCut will *accept*. Whether a given file then *decodes* depends on the codecs inside it and on what macOS itself can read on your Mac.

An `mkv` or `avi` container can hold codecs that macOS does not decode, and such a file will be accepted at the drop zone and then fail during processing. This is a system-level capability, not a RoughCut setting, and it changes with macOS releases.

If a file is refused mid-job, re-wrap or transcode it to `mov` or `mp4` with a mainstream codec and try again. See [Choose video and audio inputs](/docs/file-inputs).

## What you export

Three files cover almost every real use.

| File | Produced by | What it is |
|---|---|---|
| FCPXML | A completed rough cut | The deliverable. An FCPXML 1.8 timeline with one clip per kept interval, which you import into Final Cut Pro with File → Import → XML. Its asset reference points at your original media in place — nothing is copied or re-rendered. |
| SRT | `Transcribe Only` | Subtitle blocks with `HH:MM:SS,mmm` timecodes, for captioning. |
| TXT | `Transcribe Only` | The plain transcript text, with no timecodes. |

The FCPXML is offered both as the prominent `Export for Final Cut Pro…` button on a finished job and as `Export FCPXML…` in the toolbar `Export` menu. The menu is disabled until the job is done. See [Export the FCPXML timeline](/docs/export-fcpxml) and [Export SRT captions](/docs/srt-captions).

## Advanced exports

The `Export` menu on a cutting job also offers two zips. Neither is needed for normal work.

### XML Pack (zip)

`Export XML Pack (zip)…` writes a zip containing the FCPXML **and** the removal decision list that produced it. Useful when you want the timeline together with a machine-readable record of what was cut and why — for archiving a job, or for a tool that consumes the decisions.

### Debug Bundle (zip)

`Export Debug Bundle (zip)…` collects the job's working files: the transcript, the original SRT, the removal list before and after the refine pass, the Second Look audit record, the cut plan, the frame map, the AI provider accounting, and the FCPXML.

> ! **Read the Debug Bundle before you send it.** It contains the full transcript of your recording and RoughCut's decisions about it — that is what makes it useful for diagnosis, and also what makes it sensitive. It is a description of your content, not a copy of your footage, but the transcript is your words. Unzip it and look before attaching it to a support message. See [Contact support](/docs/contact-support).

One caveat worth knowing: the Debug Bundle is written when the job first completes. If you have since changed decisions and used `Recompute Cuts`, the bundle still holds the pre-recompute timeline and decision list. See [Recompute cuts after changing your mind](/docs/recompute).

## Inside a job folder

Every job keeps its working files in its own folder. You will rarely need them, but nothing is hidden.

| File | What it holds |
|---|---|
| `AutoRoughCut.fcpxml` | The exportable timeline described above. |
| `transcript.json` | The word-level transcript: every word with its timing, the detected language, the duration, and the ranges flagged as unreliable or degraded. |
| `transcript_original.srt` | The full original transcript as subtitle blocks, before any cutting. |
| `edl.json` | The removal decision list — every span RoughCut decided to take out, with its category, confidence, and reason. |
| `edl_first_pass.json` | The removal list exactly as the first AI pass left it, preserved before Second Look ran. |
| `second_look.json` | The Second Look audit record, one entry per pass, including anything it proposed but did not auto-apply. |
| `cut_plan.json` | The snapped result: the removals and the keep intervals after the cut points were aligned to word boundaries. |
| `cut_map.json` | The frame-quantised clip placements that the FCPXML is written from. |
| `llm_run.json` | Accounting for the AI calls: provider, model, stage, latency, and whether a cached response was reused. |
| `xml_variants.zip` | The XML Pack, pre-built. |
| `debug.zip` | The Debug Bundle, pre-built. |
| `analysis.wav` | The extracted working audio. See below. |

Which of these exist depends on the job. A `Transcribe Only` job has a transcript and an SRT and stops there — no removal list, no cut plan, no FCPXML. A silence-only cut has no AI accounting. A job that never ran Second Look has no audit record.

## Export file names

RoughCut proposes a filename in the save panel based on the source clip's name without its extension. Note the **spaced em dash** in the cutting-job patterns.

| Export | Proposed name |
|---|---|
| FCPXML | `<stem> — RoughCut.fcpxml` |
| XML Pack | `<stem> — RoughCut XML Pack.zip` |
| Debug Bundle | `<stem> — debug.zip` |
| SRT | `<stem>.srt` |
| TXT | `<stem>.txt` |

You can rename the file in the save panel; the pattern is only a default. After a successful export the file is revealed in Finder.

## Reveal Job Folder in Finder

The last item in the `Export` menu, `Reveal Job Folder in Finder`, opens the folder holding the files listed above for that one job. A `Transcribe Only` job offers the same thing as `Reveal in Finder`.

The folder lives inside RoughCut's own sandboxed application container, alongside the downloaded speech model and the app's configuration. Two consequences follow:

- **Finished job folders are cleaned up automatically** after the retention window, and the whole jobs area is held under a total size budget. Anything you want to keep, export somewhere else.
- **Deleting RoughCut deletes these folders**, along with the speech model. Files you exported elsewhere are untouched.

See [Manage models, data, jobs, and storage](/docs/models-data-storage).

## The analysis audio

To analyse and transcribe, RoughCut extracts a working audio file, `analysis.wav`, at roughly 115 MB per hour of footage.

On the success path this file is **deleted when the cut completes**, because nothing afterwards needs it — the review list and the FCPXML are built from the transcript and the decision list, and even `Recompute Cuts` works without it. The `Keep analysis audio` setting, off by default, keeps it instead. Turn it on only while diagnosing an audio problem, and expect the jobs folder to grow quickly.

On a job that ended in an error the working audio is kept, deliberately, so the failure can be investigated.

## Common mistakes

- **Assuming an accepted extension guarantees a decodable file.** Acceptance happens at the drop zone; decoding happens later.
- **Sending a Debug Bundle without opening it.** It contains your transcript.
- **Treating the job folder as storage.** It is cleaned automatically. Export what you need.
- **Moving or renaming the source clip after export.** The FCPXML points at the original file in place, so Final Cut Pro reports the media offline. See [Export the FCPXML timeline](/docs/export-fcpxml).
- **Turning on `Keep analysis audio` and forgetting.** It accumulates at about 115 MB per hour of footage processed.

## Troubleshooting

| Symptom | Likely cause | What to do |
|---|---|---|
| `Unsupported file type .<ext>` on drop | Extension outside the accepted lists | Convert to `mov`, `mp4`, or `wav`. |
| Accepted, then the job fails early | macOS cannot decode the codec inside the container | Re-wrap or transcode to a mainstream codec. |
| The `Export` menu is greyed out | The job is not finished | The whole menu stays disabled until the job status is done. |
| `<name> is not ready yet.` | That artifact was never written for this job | Check the job type; transcribe-only jobs have no FCPXML. |
| `Export failed: …` | The file could not be copied to the chosen location | Choose a different destination — an external volume or synced folder may be refusing the write. |
| The job folder is empty or missing | It was cleaned up after the retention window | Re-run the job. Export deliverables as soon as a job finishes. |

Still stuck? See [Troubleshooting by symptom](/docs/troubleshooting) and [Error message reference](/docs/error-reference).
