# What you can extract

Every run starts from a single video URL. You decide which inputs we gather and whether our AI engine turns them into structured JSON, or whether you just want the raw files.

## The inputs

- **Metadata** *(always included)*. The video's identity card: title, author, duration, upload date, view / like / comment counts, description and thumbnail. The base fee covers it, and it's the spine the AI uses to understand what it's looking at.
- **Transcript.** Built from the video's captions, in the video's original language. It's the cheapest way to give the AI the full spoken content, and you also get it as a downloadable file.
- **Comments.** The video's public comments, fetched as structured data. Good for sentiment, audience questions, corrections and crowd-sourced details the creator never said out loud.
- **Audio analysis.** The AI *listens* to the audio track itself. Use it when captions are missing or unreliable, or when tone, music and delivery matter as much as the words.
- **Full video analysis.** The AI *watches* the video. Anything that's only on screen becomes extractable: text overlays, on-screen ingredients, product shots, visual steps. The audio track is part of the video, so video analysis hears everything audio analysis would.

## Two ways to run

- **Downloads only (no AI).** We fetch the video and its artifacts (metadata, thumbnail, transcript, comments, audio) and hand you the files. No schema and no AI charge: you pay the base fee and the download rates for the artifacts you pick.
- **AI extraction.** You pick the inputs and a schema (one of ours, or your own: see [custom schemas](/docs/schemas)). Our AI engine reads everything you selected and returns one JSON object that conforms to the schema. You still get all the downloaded files alongside the extraction.

## What you get back

Every completed run gives you a results page with two things:

- **Files.** The video, audio track, transcript, comments, thumbnail and metadata, each individually downloadable.
- **Structured JSON.** For AI runs, the extraction result: a single object matching your schema, viewable in the browser and downloadable as a file.

Not every video has every artifact: some have no captions, some have comments disabled. We extract whatever exists and tell you what was skipped; missing extras never fail your run.

## When the video doesn't match

Sometimes a video isn't about what your schema describes: a robotics clip run against a recipe schema, say. Rather than invent hollow data, the AI returns a **content-match verdict**:

- **ok.** The content matched, so you get the structured extraction.
- **no_match.** The video is clearly about something else. The extraction is null and a short `verdictReason` explains it.
- **uncertain.** There wasn't enough in the inputs you chose to decide (a silent visual demo when you only asked for the transcript, say). Null extraction, with a reason. Try richer inputs like audio or full video.

On the API this is the `outcome` field on the extraction and its result/webhook payloads. Always check it before treating a null extraction as an empty result.
