Download and use artifacts
Export files from the Studio or the HTTP API, check that each file is complete, and use SVG, image, motion, JSON and Lottie output in your own projects.
Export from the Studio
Set up the artifact, inspect the preview, then use the tool's export control.
| Tool | Exports |
|---|---|
| Design Lab | PNG, JPG, GIF, MP4, project file |
| Animation | GIF, MP4, PNG poster, project file |
| Lottie | PNG frame, GIF, MP4, the edited JSON or the original .lottie |
| OpenGraph, Terminal card, Partnership lockup, Blog cover | PNG, SVG |
| Slide templates | PNG, SVG, PDF deck |
| Moodboard | PNG, SVG, identity JSON |
| Brand elements | PNG, HTML email, JSON brief |
| Brand book | PDF through the browser print dialog |
| Brand identity | Identity JSON and the brand kit |
Capability matrix lists the same exports with their Browser API actions.
To export from Design Lab, the layered composition tool, with the Browser API (window.glyphfield.studio):
const studio = window.glyphfield.studio;
if (studio.activeTool() !== 'material') throw new Error('Open Design Lab first.');
const artifact = await studio.invoke('design.export', {
format: 'gif',
mode: 'standard',
download: false,
});
if (!(artifact.blob instanceof Blob) || artifact.blob.size === 0) {
throw new Error('Empty GIF export.');
}
studio.download(artifact);Run one browser export at a time. Exports share the renderer and encoder, and Design Lab rejects a new export or capture while one is running. Check each file before starting the next export.
Design Lab exports the active artboard. PNG and JPG freeze the shader frame that is visible when the export starts. GIF and MP4 sample motion from the current frame and restore that paused pose afterward. These exports do not add captured-frame assets to IndexedDB or restart playback. Use design.frame.pause to pause without storing anything, and design.frame.capture when the editable source should include a lasting PNG of the shader's appearance. When a resource is missing, or a motion export of Fluid Energy is requested, the export fails with an error and nothing is substituted.
Download raw SVG from the API
BASE_URL=http://localhost:3012
curl -fsS -X POST "$BASE_URL/api/generate" \
-H 'Content-Type: application/json' \
-d '{
"kind": "template",
"template": "slides",
"slideLayout": "statement",
"texture": "white",
"title": "One identity. Every surface.",
"identity": { "preset": "gt" },
"output": "raw"
}' \
-o gt-statement-slide.svg
test -s gt-statement-slide.svgSet BASE_URL to your deployment. http://localhost:3012 is the local development server. A raw response is image/svg+xml with a Content-Disposition header that names the file.
Extract SVG from a JSON envelope
Without output: "raw", template and background requests return a JSON envelope: { artifact: { content, filename, height, mimeType, width }, schemaVersion: 1 }.
curl -fsS -X POST "$BASE_URL/api/generate" \
-H 'Content-Type: application/json' \
-d @request.json \
-o response.json
jq -r '.artifact.content' response.json > artifact.svg
jq '.artifact | { filename, mimeType, width, height }' response.json
test -s artifact.svgUse SVG
The commands above write the file into the current directory. Copy it into your application's public asset directory before referencing it from HTML or CSS. The example file is generated output and does not ship with Glyphfield.
mkdir -p public/brand
cp gt-statement-slide.svg public/brand/gt-statement-slide.svg<img src="/brand/gt-statement-slide.svg" alt="General Translation statement slide" />.launch-hero {
background: center / cover no-repeat url('/brand/launch-background.svg');
}Inline an SVG in a page only when you trust it and need its internal styling or scripting.
Use stills and motion
- Use PNG for transparency and crisp flat graphics.
- Use JPG for smaller opaque images.
- Use GIF when the destination requires it. Check the dimensions, palette banding, file size and the point where it loops.
- Use MP4 for longer or higher-fidelity motion. Add captions or a transcript where needed, and check the audio.
- Respect
prefers-reduced-motionand the platform's autoplay rules.
Use JSON and briefs
An element brief is a production specification in JSON, and it contains no image. Store it next to the implementation when you need to trace the work back to its source. Treat a CanvasDocument or other tool source as editable state. Open or apply it in a compatible Studio version instead of rendering it from guessed fields.
Handoff bundle
A complete handoff contains:
- The rendered artifacts.
- The exact editable source or the named Design Lab save.
- The identity ID and revision.
- Authorized asset and font files that the source does not embed.
- The output settings and the expected loop and audio behavior.
- License and attribution notes where required.
With this bundle, a person or an agent can regenerate the work without layers shifting or shader timing changing.
Artifacts overview
Choose the right Glyphfield output format, produce it over HTTP or in the browser, verify the file, and keep the editable source beside it.
Formats and portability
Learn how each Glyphfield output format behaves, including SVG, PNG, JPG, GIF, MP4, PDF, JSON and Lottie, and what a file needs to stay portable.