` appearing directly in `` or ``.
+
+### InlineImage
+
+An **inline** node representing a still image that participates in inline text flow.
+
+```typescript
+interface InlineImage extends Node {
+ type: 'InlineImage';
+ url: string;
+ alt?: string;
+ encodingFormat?: string;
+}
+```
+
+**Fields** are identical to `Image`.
+
+`InlineImage` is used for small images that appear within prose — icons, inline equations rendered as images, small logos, or decorative glyphs. It corresponds to JATS `` and an HTML ` ` used within a `` or ``.
+
+The distinction between `Image` and `InlineImage` is structural, not visual: `Image` is a block-level node that occupies its own position in the document tree (a sibling of `Paragraph`, `Heading`, etc.), while `InlineImage` is an inline node that appears within the `children` array of a `Paragraph` or other inline container.
+
+:::{tip .dropdown} Why Both `Image` and `InlineImage`
+
+A single `Image` node used in both block and inline positions would be simpler, but it creates real problems for tooling and round-tripping:
+
+1. **Tree validation becomes context-dependent.** With a single type, whether an `Image` is valid depends on _where_ it appears — is it a direct child of the document body (block) or nested inside a `Paragraph` (inline)? Separate types make validity checkable locally: an `InlineImage` inside a `Paragraph` is correct by construction; an `Image` there is a type error. This is the same reason HTML has both block and inline elements rather than making all elements context-dependent.
+
+2. **JATS requires the distinction.** JATS uses `` (block) and `` (inline) as separate elements. Round-tripping through JATS without losing the block/inline distinction requires that OXA preserve it structurally. A single node with a "placement hint" would need to be inferred during JATS export — fragile and lossy.
+
+3. **Markdown parsing produces the distinction naturally.** In CommonMark, `` as the sole content of a paragraph creates a block-level image (the paragraph is typically unwrapped by renderers), while the same syntax mid-sentence is inline. Parsers already know which case they are in — encoding that knowledge in the node type is cheaper and more reliable than reconstructing it later.
+
+4. **Renderers need to know without inspecting parents.** A block image may be rendered as a standalone `` or full-width ` ` with margin handling. An inline image is rendered as an ` ` inside a `` with `vertical-align` and constrained sizing. These are different code paths. A renderer visiting an `InlineImage` knows immediately what to do; a renderer visiting a generic `Image` would need to walk up the tree to determine context.
+
+5. **Consistent with the OXA naming convention.** RFC0003 established the `Code` / `InlineCode` pattern precisely for this reason — block and inline variants are structurally different nodes even when they share the same properties. `Image` / `InlineImage` follows the same precedent.
+
+Markdown gets away with a single syntax because it delegates the block/inline distinction to context and renderer heuristics. OXA, as a structured schema, cannot afford that ambiguity — the tree must be self-describing.
+
+:::
+
+### Video
+
+A **block-level** node representing a video or animation.
+
+```typescript
+interface Video extends Node {
+ type: 'Video';
+ url: string;
+ alt?: string;
+ encodingFormat?: string;
+}
+```
+
+**Fields:**
+
+- `url` — the URL or path to the video file. Corresponds to `contentUrl` in schema.org, `@xlink:href` in JATS ``, and `src` in HTML ``.
+- `alt` — alternative text describing the video content for accessibility. For video, alt text should describe what the video shows or demonstrates. Richer video accessibility (captions, transcripts, audio descriptions) is out of scope for this RFC and may be addressed alongside a `Figure` container or dedicated accessibility RFC.
+- `encodingFormat` — the MIME type of the video file (e.g. `"video/mp4"`, `"video/webm"`, `"video/ogg"`). Corresponds to `encodingFormat` in schema.org and `@mimetype` / `@mime-subtype` in JATS.
+
+Like `Image`, `Video` is a leaf node — a pointer to external content. It corresponds to JATS `` with a video MIME type, and schema.org `VideoObject`.
+
+### InlineVideo
+
+An **inline** node representing a video or animation that participates in inline text flow.
+
+```typescript
+interface InlineVideo extends Node {
+ type: 'InlineVideo';
+ url: string;
+ alt?: string;
+ encodingFormat?: string;
+}
+```
+
+**Fields** are identical to `Video`.
+
+`InlineVideo` is used for small, inline video content — animated icons, short looping demonstrations, or GIF-like animations embedded within prose. It corresponds to JATS `` with a video MIME type.
+
+## Explicitly Deferred
+
+The following concerns are intentionally out of scope for this RFC:
+
+- **Figures** — a container node (`Figure`) that wraps media nodes with captions, labels, numbering, and positioning semantics. This is a separate structural concern and will be addressed in a dedicated RFC.
+- **Width, height, and sizing** — dimensions, aspect ratios, and responsive sizing are rendering concerns that may be addressed as optional properties in a future RFC or handled by the containing `Figure`.
+- **Alternative formats** — JATS supports `` to provide the same content in multiple formats (e.g. a PNG and an SVG of the same diagram, or AVI and MP4 of the same video). This is a valid concern but adds complexity that should be addressed alongside `Figure`.
+- **Audio** — audio content (podcasts, sound clips, narration) has distinct rendering and accessibility requirements. A future `Audio` / `InlineAudio` node pair may be introduced following the same pattern.
+- **Supplementary material** — JATS distinguishes "integral" media (``, ``) from "supplementary" material (``). This distinction is better handled at the container or document-section level.
+- **Thumbnails and poster images** — `VideoObject` in schema.org supports `thumbnail`; HTML `` supports `poster`. These are rendering hints that may be added as optional properties later.
+- **Embedding and streaming** — `embedUrl` (schema.org) and streaming protocols are out of scope; `url` points to a file, not a player.
+- **Licensing and attribution** — media objects frequently carry their own licenses (e.g. a CC-BY photograph in an otherwise CC-BY-SA document) and authorship distinct from the document's authors. JATS handles this with `` and `` children on `` and ``; schema.org uses `license`, `creator`, and `copyrightHolder` on `MediaObject`. A future RFC will define how licensing, attribution, and provenance metadata attach to nodes — these properties will be designed consistently across all node types that need them (images, videos, figures, code, tables, etc.), not as media-specific fields.
+
+## Examples
+
+### Block-Level Image
+
+> A simple image in the document flow.
+
+Markdown: ``
+
+```yaml
+{
+ type: 'Image',
+ url: 'figures/scatter.png',
+ alt: 'A scatter plot showing correlation between variables X and Y',
+}
+```
+
+### Inline Image (Icon in Prose)
+
+> Click the settings icon {icon} to configure.
+
+```yaml
+{
+ type: 'Paragraph',
+ children:
+ [
+ { type: 'Text', value: 'Click the settings icon ' },
+ {
+ type: 'InlineImage',
+ url: 'icons/settings.svg',
+ alt: 'settings icon',
+ encodingFormat: 'image/svg+xml',
+ },
+ { type: 'Text', value: ' to configure.' },
+ ],
+}
+```
+
+### Block-Level Video
+
+> A video showing the experimental procedure.
+
+```yaml
+{
+ type: 'Video',
+ url: 'supplementary/experiment-v1.mp4',
+ alt: 'Video of the droplet formation process under varying pressure conditions',
+ encodingFormat: 'video/mp4',
+}
+```
+
+### Inline Video (Animated Demonstration)
+
+> The particle follows a helical path {animation} under the applied field.
+
+```yaml
+{
+ type: 'Paragraph',
+ children:
+ [
+ { type: 'Text', value: 'The particle follows a helical path ' },
+ {
+ type: 'InlineVideo',
+ url: 'animations/helix.webm',
+ alt: 'particle tracing a helical path',
+ encodingFormat: 'video/webm',
+ },
+ { type: 'Text', value: ' under the applied field.' },
+ ],
+}
+```
+
+### Image with Encoding Format
+
+```yaml
+{
+ type: 'Image',
+ url: 'https://example.com/diagram.svg',
+ alt: 'System architecture diagram',
+ encodingFormat: 'image/svg+xml',
+}
+```
+
+## Mapping to Existing Formats
+
+| OXA Node | Markdown | HTML | JATS | schema.org |
+| ------------- | ------------------ | ------------------- | ------------------------ | ------------- |
+| `Image` | `` | ` ` | `` | `ImageObject` |
+| `InlineImage` | `` [^1] | ` ` (in flow) | `` | `ImageObject` |
+| `Video` | — | `` | `` (video) | `VideoObject` |
+| `InlineVideo` | — | `` (in flow) | `` (video) | `VideoObject` |
+
+### Property Mapping
+
+| OXA Property | Markdown | HTML | JATS | schema.org |
+| ---------------- | -------- | ------ | ----------------------------- | ----------------- |
+| `url` | `(url)` | `src` | `@xlink:href` | `contentUrl` |
+| `alt` | `[alt]` | `alt` | `` | `description`[^2] |
+| `encodingFormat` | — | `type` | `@mimetype` + `@mime-subtype` | `encodingFormat` |
+
+## Implications
+
+If accepted, this RFC:
+
+- Introduces `Image`, `InlineImage`, `Video`, and `InlineVideo` as standard OXA node types
+- Establishes the minimal property set (`url`, `alt`, `encodingFormat`) for media references
+- Provides a clear mapping path from Markdown, HTML, JATS, and schema.org
+- Creates the primitive media nodes that a future `Figure` RFC can wrap with captions, labels, and layout semantics
+- Follows the block/inline naming convention from RFC0003
+
+## Decision
+
+Acceptance of this RFC establishes the media vocabulary for OXA schemas, providing the building blocks for representing visual and video content in a structured, interoperable way.
+
+## References
+
+- **JATS ``** —
+- **JATS ``** —
+- **JATS ``** —
+- **JATS ``** —
+- **schema.org `ImageObject`** —
+- **schema.org `VideoObject`** —
+- **HTML ` `** —
+- **HTML ``** —
+- **CommonMark Images** —
+
+[^1]: Markdown does not syntactically distinguish block and inline images — the same `` syntax is used in both contexts. The block vs. inline distinction is determined by the parser based on whether the image is the sole content of a paragraph.
+
+[^2]: schema.org `ImageObject` does not have a dedicated `alt` property. The closest mapping is `description` (from `Thing`). The `caption` property on `ImageObject` serves a different purpose — it is a visible caption, not accessibility alt text.
diff --git a/content/RFC0006/myst.yml b/content/RFC0006/myst.yml
new file mode 100644
index 0000000..c85faf5
--- /dev/null
+++ b/content/RFC0006/myst.yml
@@ -0,0 +1,10 @@
+# See docs at: https://mystmd.org/guide/frontmatter
+version: 1
+extends:
+ - ../rfc.yml
+project:
+ id: 85aeebe9-1e26-4293-bfa0-b463c0ce7589
+ short_title: Images and Media
+ date: 2026-03-26
+ authors:
+ - rowanc1