# Export skill

Use the $glyphfield-export skill to produce stills, motion, documents, JSON and Lottie files from the right renderer and check each file before saving it.

`$glyphfield-export` covers the final file. Use it whenever the request involves downloading, rendering, dimensions, transparency, motion loops, audio, or a file that looks different from its preview.

<DocsMedia alt="Animation workspace with sequence timing and export controls" caption="Check the rendered file as well as the export action" meta="Frames · loops · text stability · audio" src="/screenshots/studio-gt-animation-dark-2026.webp" />

## Renderers [#renderers]

| Output                                                                                      | Renderer and action                                                             |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| Template or background SVG                                                                  | `POST /api/generate`                                                            |
| PNG or SVG from OpenGraph, Terminal card, Blog cover, Partnership lockup or Slide templates | `<tool>.export.png` and `<tool>.export.svg` in that tool                        |
| Slide deck PDF                                                                              | `slides.export.pdf` in Slide templates                                          |
| Design Lab PNG, JPG, GIF or MP4                                                             | `design.export` for the selected artboard. Loose canvas layers are not exported |
| Design Lab project JSON                                                                     | `design.export.project`                                                         |
| Animation GIF, MP4 with audio, or PNG poster frame                                          | `animation.export`                                                              |
| Brand book PDF                                                                              | `brand-book.print`, which opens the browser print dialog                        |
| Brand identity JSON or brand kit                                                            | `identity.export.json` or `identity.export.kit`                                 |
| Lottie PNG frame, GIF, MP4, JSON or `.lottie`                                               | `lottie.export`                                                                 |

## Browser API pattern [#browser-api-pattern]

```js
const studio = window.glyphfield.studio;
const artifact = await studio.invoke('design.export', {
  format: 'png',
  download: false,
});

if (!(artifact.blob instanceof Blob) || artifact.blob.size === 0) {
  throw new Error('Glyphfield returned an empty export.');
}
```

Call `studio.download(artifact)` only after the check, and only when the user asked to save the file.

## Motion rules [#motion-rules]

* Run GIF and MP4 exports one at a time. They share live canvases and browser encoders.
* Design Lab motion runs at 12, 15, 24, 30 or 60 FPS for 1.2, 1.6, 2.4 or 4 seconds. Animation runs at 10, 15, 20, 24 or 30 FPS. Lottie exports GIF at 25 FPS and MP4 at 30 FPS.
* Effect layers with a Shaders.com image effect need WebGPU. Without it, an export that includes such a layer stops with an error that names the layer. Shaders.com materials also use WebGPU and show a still preview without it.
* Design Lab exports render shaders at about the export resolution. The live preview quality setting does not lower it.
* Use `mode: "shader-sequence"` only with GIF or MP4.
* A GIF has no audio track. Choose MP4 when the motion needs audio.
* A loop setting does not prove a seamless loop. Compare the last and first displayed frames and watch the transition at normal speed.
* Inspect several frames for shader motion, text color stability, clipping and layout shifts.
* If MP4 encoding is unavailable, report it and keep the source. Do not substitute GIF.

## Completion check [#completion-check]

Confirm non-empty bytes, the file name, MIME type, extension, dimensions and transparency. For GIF and MP4, inspect several decoded frames and the loop seam. For MP4 with audio, check the audio stream itself instead of assuming the UI setting was encoded.

See [Download and use artifacts](/docs/artifacts/download-and-use) for format-specific handling and [Agent recipes](/docs/agents/recipes) for complete workflows.
