Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/joshuaKnauber/serpens_addon_market/llms.txt

Use this file to discover all available pages before exploring further.

This page documents the full structure of a snippet entry in snippets.json. Entries are JSON objects stored in the snippets array, each representing a reusable node group or scripting pattern that community members have exported from Serpens and shared through the marketplace. Snippets can be distributed as .json exports (Serpens’ native snippet format) or as .zip archives for more complex multi-file bundles.

Root Structure

{
  "snippets": [ ...SnippetEntry ]
}

Fields

title
string
required
The display name of the snippet as it appears in the marketplace. Used by the bot to identify the entry for updates and removals. Example: "Vector Split Combine".
description
string
required
A description of what the snippet does, how to use it, or any relevant notes for the person importing it into Serpens. Example: "Program Snippet for Creating New Linked Collections".
price
string
required
A free-form price string set by the submitter. The vast majority of marketplace snippets are free, so this is almost always "Free".
url
string
required
The download URL for the snippet file. For direct uploads this is a Discord CDN attachment URL pointing to either a .json or .zip file. For externally hosted snippets this is the submitter-provided URL (e.g. a Gumroad page). The bot accepts both .zip and .json file uploads.
blend_url
string
required
URL of an optional example .blend file, hosted on Discord CDN. Stored as an empty string "" when no blend example was provided. When present, the .blend file typically demonstrates how the snippet is used inside Serpens.
author
string
required
The display name of the snippet’s author. Set by the submitter during the upload flow and does not need to match their Discord username.
user
integer
required
The Discord user ID (snowflake) of the member who submitted the snippet. Used by the bot to gate update and removal operations so only the original submitter can change their entries.
serpens_version
integer
Indicates which major version of Serpens this snippet targets. Valid values are 2 (Serpens 2.x) and 3 (Serpens 3.x). The bot defaults new snippet uploads to 3. Older entries that predate this field are implicitly Serpens 2-compatible.

Supported File Formats

The Discord bot accepts two file formats when a snippet is uploaded directly:
  • .json — The native Serpens snippet export format. Single-node-group snippets are typically exported and shared this way. The file can be imported directly via Serpens’ snippet import UI.
  • .zip — Used for snippet packs or snippets that include supporting files (e.g. SQLite libraries, icon assets). The archive is uploaded to Discord CDN and distributed as a zip download.
When url points to an external page (e.g. Gumroad), the hosted file format is determined by the external host.

Example Entry

The following is a real entry from snippets.json for New Linked Collection, an externally hosted snippet with an associated .blend example file:
{
    "title": "New Linked Collection",
    "description": "Program Snippet for Creating New Linked Collections",
    "price": "Free",
    "url": "https://blanchsb.gumroad.com/l/Snippet_New_Linked_Collection",
    "blend_url": "https://cdn.discordapp.com/attachments/785132940278366260/872681131143745556/New_Linked_Collection_Snippet.blend",
    "author": "blanchsb",
    "user": 445245317789515776
}
And here is Vector Split Combine, a Serpens 3 snippet uploaded as a .json file with no blend example:
{
    "title": "Vector Split Combine",
    "description": "Use this Snippet to do some tedious vector split and combine ops. Combine unique XYZ(W) values to get a vector 3 or 4. Or you can place a unique X/Y/Z/W into a Vector 3 or Vector 4, or you can Make a Vec 3 from Vec 4 and vice versa! It's a big node but you can hide sockets not in use with Ctrl + H after connecting it up.",
    "price": "Free",
    "url": "https://cdn.discordapp.com/attachments/785132940278366260/975610042466328576/SN_Vector_Split_Combine.json",
    "blend_url": "",
    "author": "blanchsb",
    "user": 445245317789515776,
    "serpens_version": 3
}
The first entry in the snippets array is a placeholder record with "title": "placeholder" and "user": 0. This entry exists to pre-initialize the data file and should be ignored when reading or displaying marketplace listings. Any consumer of snippets.json should filter out entries where user equals 0.

Build docs developers (and LLMs) love