Abrir en Magpie

Paste a JSON document that describes each slide (what kind it is, what it says and how it looks), and Magpie creates the whole deck, laid out and ready to edit.

There are two ways in:

  • On Create presentation, choose Paste JSON as the starting point. The document builds a new deck.
  • In the editor of a deck you already have, More → Import JSON replaces every slide in the draft with the document's, when you select Replace the slides. A deck you have already published keeps showing its published version until you publish again.

Select Copy the prompt in either import box to copy this format with instructions, paste it into an AI chat you use, describe the deck you want, and paste its answer back into the box.

You describe slides, not positions. Each slide names a layout and supplies its words; Magpie places them and sizes the text to fit. The theme sets the look: a style chooses fonts, colours and the shapes that decorate each kind of slide, and any colour or font you give replaces the style's. Where the layouts do not draw what you want, a slide can place its own text, shapes and lines as elements.

Once the deck exists, every slide is an ordinary slide: move, resize, retype and delete anything on it in the editor, and change its fonts, colours, gradients, opacity and rotation with Edit selected. There, a gradient's start and end colours can be changed; any colours between them stay as imported. Background in the editor replaces a slide's gradient with the colour you choose.

The whole document is checked before anything is saved: if any part of it does not fit the format below, nothing is created or replaced, and the message names the slide and the field that caused it.

The document

{
  "title": "Q3 review",
  "theme": { "style": "creative", "accent": "#ff5a5f" },
  "slides": []
}
Field Type Notes
title string, optional Up to 150 characters. If left out, the title typed on the page is used.
theme object, optional The deck's look; see The theme. Left out, the deck is in the simple style.
slides array, required At least one slide, up to 200.

A colour is a hex colour such as #d04838 or #f60. Wherever a colour can be a gradient, the field says so; see Gradients.

The theme

Every field of the theme is optional.

Field Type Notes
style string One of the styles below. It decides every field you leave out, and adds the style's shapes and coloured slides. Left out, simple.
background colour or gradient The background of every slide.
text colour Body text.
heading colour Headings.
accent colour Eyebrows, section headings, numbers, markers, rules and a split slide's panel.
muted colour Subheadings and attributions.
surface colour The fill of cards in styles whose cards are not coloured.
palette array of colours Up to 8. Cards, large numbers, timeline markers and the style's shapes take them in turn. Left out, the style's palette, starting with your accent if you give one.
headingFont string A font from Fonts, for headings.
bodyFont string A font from Fonts, for everything else.
headingWeight number From 100 (thin) to 900 (black); 400 is regular and 700 is bold.
uppercaseHeadings boolean true sets headings in capitals.
align string left or center: where title, section, statement and quote slides set their words.
decorations boolean false leaves out the style's shapes and its coloured title and section slides.

If you choose a dark background and no text colour, the words are set in a light colour that can be read on it, and the other way round. A slide with its own background and no colors is treated the same way, and so is a style's coloured title or section slide.

Styles

style The look
simple Magpie's font on white with a red accent. No shapes.
corporate IBM Plex Sans in navy and blue. A dark band along the foot of the title slide, navy section slides, a rule under each heading and a footer line with the deck's title.
minimal Inter in a light weight on off-white, with one blue accent. A short line above the title and nothing else.
bold Oswald capitals on black, with yellow. Yellow title slides, section slides in the palette's colours, and thick bars.
creative Poppins and DM Sans on warm white, in coral, amber, teal and violet. Large circles off the corners and cards set at slight angles.
elegant Playfair Display and Raleway on cream, with gold. Centred titles in a thin frame, short gold rules and italic quotes.
playful Nunito in bright colours on cream. Blobs and a star on the title slide, rounded tilted cards, and a different shape in the corner of each slide.
tech Space Grotesk and Inter on a dark navy glow, with cyan. Thin rings, short accent rules and labels in JetBrains Mono.
editorial Merriweather and Source Serif 4 on paper white, with red. Heavy rules like a newspaper's and a large quotation mark.

Fonts

A font is written by its name: Inter, Roboto, Open Sans, Lato, Montserrat, Poppins, DM Sans, Work Sans, Nunito, Space Grotesk, IBM Plex Sans, Source Sans 3, Oswald, Raleway, Playfair Display, Merriweather, Lora, Source Serif 4, IBM Plex Mono, JetBrains Mono, Schibsted Grotesk, Arial, Helvetica, Georgia, Times New Roman or Courier New. The PDF from the mobile app sets text in a standard font of the same kind (serif, sans-serif or monospaced).

Gradients

A slide's or the theme's background, and a shape's fill, can be a gradient in place of a colour:

{ "type": "linear", "angle": 135, "stops": ["#ff5f6d", "#ffc371"] }
Field Type Notes
type string linear (the default) or radial.
angle number Linear only, in degrees: 0 runs from the bottom up, 90 from left to right, 180 (the default) from the top down, and 135 from the top left corner to the bottom right.
position string Radial only: where it starts, spreading out to the farthest corner. center (the default), top, bottom, left, right, top-left, top-right, bottom-left or bottom-right.
stops array, required From 2 to 5 colours in order. Each is a colour, or { "color": "#ff5f6d", "position": 0.4 } with a position from 0 to 1. Colours without a position are spread evenly.

Slides

Every slide takes a layout and the fields that layout shows; a slide without a layout is a text slide. Every layout takes eyebrow, heading and subheading. A field that belongs to another layout is refused, and so is a field that is not listed below.

layout Use it for Required Its own fields
title The opening slide heading none
section A divider between parts of the deck heading none
statement One sentence set large heading none
bullets A point with its supporting points bullets none
text A point that is a paragraph, not a list body none
split A heading on a coloured panel down one side, with words beside it heading, and body or bullets side
columns Two to four columns side by side, such as before and after columns none
cards Two to six cards, up to three to a row cards none
stats One to four large numbers with what they count stats none
timeline Two to six steps along a line steps none
agenda A numbered list items none
quote Something said by someone quote attribution
blank A slide made of your own elements none none
Field Type Notes
eyebrow string A short label set above the heading, up to 60 characters.
heading string Up to 150 characters.
subheading string A line under the heading, up to 300 characters.
body string Up to 2,000 characters. Newlines are kept.
bullets array of strings Up to 12, each up to 300 characters. Written without a bullet character, because Magpie adds it.
quote string Up to 1,000 characters. Quotation marks are added around it.
attribution string Up to 150 characters. Written without a dash, because Magpie adds it.
side string A split slide's panel: left (the default) or right.
columns array From 2 to 4 columns, each { "heading", "body", "bullets" } with at least one of them: a heading up to 100 characters, a body up to 800, and up to 8 bullets of up to 200 characters.
cards array From 2 to 6 cards, each { "eyebrow", "heading", "body", "color" }. heading is required, up to 100 characters; eyebrow up to 40; body up to 400. color gives one card its own colour.
stats array Up to 4, each { "value", "label", "color" }. value is the number as it is shown, such as 48%, £2.1m or 3×, up to 12 characters; label says what it counts, up to 120. Both are required.
steps array From 2 to 6 steps, each { "label", "heading", "body" }. heading is required, up to 80 characters; label (a date or a number, set above the line) up to 30; body up to 240.
items array of strings From 2 to 8, each up to 120 characters. Numbered in order.
notes string Speaker notes, up to 10,000 characters. Never shown to an audience. Any layout can have them.
hidden boolean true to keep the slide in the deck but skip it when presenting.
background colour or gradient This slide's background, in place of the theme's.
colors object This slide's own text, heading, accent, muted and surface colours, each optional.
align string left or center for this slide's heading and words.
decorations boolean false leaves out the style's shapes on this slide; true adds them to one slide when the theme leaves them out.
elements array Text, shapes and lines this slide places itself; see Elements.

Magpie sets each layout's words at the size that fits: long headings and long lists are set smaller.

Elements

elements places text, shapes and lines where you choose, on top of what the slide's layout draws, or behind it with "behind": true. A blank slide is made of elements alone. Use a layout for a slide's words where one fits, because a layout sizes its words to fit and an element keeps the size you give it.

A slide is 1,600 wide and 900 high. Positions are measured from its top left corner in the same units, and so are sizes and text sizes. An element may start off the slide or run past its edge, and the part outside is cut off, which is how a circle bleeds off a corner. A slide can have up to 60 elements in elements, and up to 100 in all, counting what its layout and style draw.

Every element takes type (text, shape or line, required), opacity (from 0, invisible, to 1, solid, the default) and behind. Text and shapes also take x, y, w and h (required: the top left corner, the width and the height) and rotation (degrees clockwise about the element's centre).

Text field Type Notes
text string Required, up to 2,000 characters. Newlines are kept.
fontSize number From 10 to 400; 36 if left out. A layout's headings are about 60 to 100.
font string A font from Fonts. Left out, the theme's body font.
weight number From 100 to 900; 400 if left out, 700 is bold.
italic boolean true for italics.
uppercase boolean true sets the text in capitals.
color colour Left out, the slide's text colour.
align string left (the default), center or right.
valign string top (the default), middle or bottom: where the text sits in its box.
letterSpacing number Space between letters, as a share of the text size, from -0.2 to 1. For example 0.12 for spaced capitals.
lineHeight number The height of each line as a multiple of the text size, from 0.8 to 3.
Shape field Type Notes
shape string rectangle (the default), rounded, ellipse, triangle, diamond, hexagon, star or arrow (pointing right; turn it with rotation). An ellipse with an equal width and height is a circle.
fill colour, gradient or none Left out, the slide's accent. none draws the outline alone.
stroke colour The outline's colour.
strokeWidth number The outline's width, from 0 to 40. 2 when a stroke is given without one.
radius number The corners of a rectangle or rounded shape. Half the height makes a pill.

A line is drawn from one point to another, so it can run at any angle. It takes no x, y, w, h or rotation.

Line field Type Notes
x1, y1, x2, y2 numbers Required: where the line starts and ends.
color colour Left out, the slide's accent.
strokeWidth number From 1 to 40; 4 if left out.
arrow boolean true puts an arrowhead at the end.
dash string solid (the default), dashed or dotted.

A complete example

{
  "title": "Q3 at Ridgeway Cycles",
  "theme": {
    "style": "creative",
    "accent": "#ff5a5f",
    "palette": ["#ff5a5f", "#ffb400", "#00a699", "#7b61ff"]
  },
  "slides": [
    { "layout": "title", "eyebrow": "Quarterly review", "heading": "Q3 at Ridgeway Cycles", "subheading": "Sales, the workshop and what comes next" },
    { "layout": "agenda", "heading": "Today", "items": ["Where we got to", "What shipped", "The plan for Q4"] },
    {
      "layout": "stats",
      "heading": "The quarter in numbers",
      "stats": [
        { "value": "£412k", "label": "revenue, up 18% on Q2" },
        { "value": "1,240", "label": "bikes serviced" },
        { "value": "4.8", "label": "average review" }
      ]
    },
    {
      "layout": "cards",
      "heading": "What shipped",
      "cards": [
        { "eyebrow": "Workshop", "heading": "Book a repair online", "body": "Bookings now fill the workshop four days a week." },
        { "heading": "Next-day parts", "body": "Two new suppliers deliver the next working day." },
        { "heading": "Gift cards", "body": "Sold online and in the shop since August." }
      ],
      "notes": "Spend the most time on online booking: it is the one they asked about last quarter."
    },
    { "layout": "section", "eyebrow": "Part two", "heading": "What comes next" },
    {
      "layout": "timeline",
      "heading": "The plan for Q4",
      "steps": [
        { "label": "October", "heading": "Calendar sync" },
        { "label": "November", "heading": "App beta", "body": "Twenty customers test it." },
        { "label": "December", "heading": "Launch" }
      ]
    },
    { "layout": "split", "side": "right", "heading": "What moved to Q4", "bullets": ["The mobile app", "Loyalty points"] },
    { "layout": "quote", "quote": "Booking a service took me a minute.", "attribution": "A customer, September" },
    {
      "layout": "blank",
      "background": { "type": "linear", "angle": 135, "stops": ["#ff5a5f", "#ffb400"] },
      "elements": [
        { "type": "shape", "shape": "ellipse", "x": 1050, "y": -200, "w": 700, "h": 700, "fill": "#ffffff", "opacity": 0.2, "behind": true },
        { "type": "text", "x": 130, "y": 320, "w": 1000, "h": 200, "text": "Thank you", "fontSize": 150, "font": "Playfair Display", "weight": 700, "italic": true, "color": "#ffffff" },
        { "type": "line", "x1": 136, "y1": 560, "x2": 700, "y2": 560, "color": "#ffffff", "strokeWidth": 6, "dash": "dotted" }
      ]
    }
  ]
}

If an import is rejected for a reason you can't work out, Contact support.

Preguntar al soporte de Magpie

Envía al equipo de Magpie una pregunta sobre cualquier cosa que este artículo no responda.