> ## Documentation Index
> Fetch the complete documentation index at: https://docs.refmatter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What Refmatter is

> Reference memory for AI creative agents: a public video URL in, a durable reference with verified media and provenance out.

Refmatter turns public social video into **references** your agents and tools can rely on: structured metadata as observed at the source, verified media bytes with a poster frame, and provenance that says exactly how and when the reference was acquired. References live in a workspace, can be annotated by people, and stay addressable long after the media bytes have expired.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    First reference in five minutes with curl or the TypeScript SDK.
  </Card>

  <Card title="References" icon="layer-group" href="/concepts/references">
    The reference model: observed, derived, and human-authored fields.
  </Card>

  <Card title="Transcripts" icon="closed-captioning" href="/guides/transcripts">
    Timed text from the source captions, kept with the reference.
  </Card>

  <Card title="MCP" icon="plug" href="/mcp/overview">
    Give Claude, Cursor, or your own agent the same tools.
  </Card>
</CardGroup>

## How it works

<Steps>
  <Step title="Submit a URL">
    `POST /v1/ingestions` with a public video URL and an idempotency key. You get an
    ingestion id back immediately.
  </Step>

  <Step title="We acquire and verify">
    A worker resolves the source, transfers the media through our own pipeline, verifies
    it decodes, captures a poster frame, and records provenance. Every step is durable
    and observable through `GET /v1/ingestions/{id}`.
  </Step>

  <Step title="Read the reference">
    When the ingestion succeeds it points at a reference. Read it, list it, annotate it,
    and fetch a short-lived download URL for the bytes while a media hold is active.
  </Step>
</Steps>

## What we do not do

Refmatter is deliberately narrow. There are no cookies, accounts, or client emulation on the acquisition side, no rotating proxy pools, and no permanent media library: bytes exist only under an explicit, time-boxed hold. What a source cannot deliver publicly is reported as a truthful failure code instead of an empty result. See [Sources](/concepts/sources) for what is supported today.
