š¤ Agentic Ready
This page is for AI agents, scripts, and advanced workflows that generate Spaced. decks and collections. Build a portable .spdeck or .spcollection file, share it directly with the user, and let the app import it. SXP Studio does not host user-generated content.
Package layout
A .spdeck is a single shareable ZIP file for one deck:
my-deck.spdeck
āāā deck.json
āāā assets
āāā mitochondria.jpg
āāā mitochondria-summary.m4aA .spcollection is a single shareable ZIP file for one collection with one or more decks:
my-collection.spcollection
āāā manifest.json
āāā decks
āāā organelles
āāā deck.json
āāā assets
āāā mitochondria.jpg
āāā mitochondria-summary.m4aThe app also reads the same folder layout during development. For sharing through Discord, AirDrop, Files, or social workflows, produce one physical file with the .spdeck or .spcollection extension.
manifest.json
Collections need a manifest. It names the collection and lists decks in display order. Keep id values stable, lowercase, and filename-safe. Deck packages do not use a manifest.
Use format for the package/spec version and version for the content revision.
{
"format": 1,
"version": 1,
"id": "biology-cells",
"name": "Biology: Cells",
"emoji": "BC",
"description": "Core cell biology terms and concepts.",
"author": "Your Name",
"createdAt": "2026-04-26T00:00:00Z",
"license": "CC BY 4.0",
"attributions": [
{
"title": "OpenStax Biology 2e",
"source": "OpenStax",
"url": "https://openstax.org/details/books/biology-2e",
"license": "CC BY 4.0"
}
],
"decks": [
{ "id": "organelles" }
]
}deck.json
A deck contains cards. Text-only cards are valid, and media can be added per side by referencing files in the deck's assets folder.
Use format for the package/spec version and version for the deck content revision.
{
"format": 1,
"version": 1,
"name": "Organelles",
"emoji": "OR",
"author": "Your Name",
"description": "Cell structures and their functions.",
"cards": [
{
"id": "mitochondria",
"front": "Mitochondria",
"back": "Produce ATP through cellular respiration.",
"category": "organelles",
"frontImage": "mitochondria.jpg",
"backAudio": "mitochondria-summary.m4a",
"frontSlotOrder": ["image", "text", "audio"],
"backSlotOrder": ["text", "audio", "image"]
}
]
}Text-only quick start
If no media is needed, generate just the manifest and a deck file:
{
"format": 1,
"version": 1,
"name": "French Greetings",
"emoji": "FR",
"author": "Your Name",
"description": "Everyday greetings.",
"cards": [
{ "front": "bonjour", "back": "hello", "category": "greetings" },
{ "front": "merci", "back": "thank you", "category": "greetings" }
]
}Card rules
- Each card side must have at least one of text, image, or audio.
- Supported slot kinds are
image,text, andaudio. - Images should be normal web images such as JPEG, PNG, HEIC, WebP, GIF, TIFF, or BMP. The app compresses imported images for storage.
- Audio should be playable by iOS, such as M4A, MP3, WAV, or AIFF. Keep clips short.
- Include
categorywhen it helps future filtering or review.
Suggested agent prompt
You are creating a Spaced. flashcard collection.
Return either:
- a .spdeck package for one deck
- a .spcollection package for multiple decks or a named collection
For .spdeck:
- deck.json at the root
- optional media under assets/
For .spcollection:
- manifest.json at the root
- one deck.json per deck under decks/<deck-id>/
- optional media under decks/<deck-id>/assets/
Every card side must contain at least one of text, image, or audio.
Use format 1 for the package spec. Use version 1 for new content, and bump
version when you revise the same deck or collection content later.
Prefer short prompts and durable answers. Include source attributions and
license metadata. Do not include copyrighted media unless the user supplied it
or the source license allows redistribution.Quality bar
- Prefer atomic facts and direct prompts over long paragraphs.
- Avoid duplicate cards and near-duplicates inside a deck.
- Keep answers stable across regions, or call out regional variants in the card text.
- Cite sources in
attributionswhen facts, images, or audio come from external material. - Do not package copyrighted media unless the user provided it or the license allows redistribution.