List tool tags
The tool-tag vocabulary behind every tool, so you can render labels instead of IDs.
On this page
Tools carry tool tags, and a tool tag is an object with an id, a type, and a
label. This endpoint is the whole vocabulary: fetch it once, cache it, and use
it to build a filter UI or to group tools the way the product does.
GET
https://api2.rundiffusion.com/api/v2/tool-tagsAcceptsOAuth device flowPersonal API Access TokenCompany API Access Token
Request
Headers
AuthorizationstringRequired- Bearer token. This endpoint accepts an OAuth device flow token, a Personal API Access Token, or a Company API Access Token. See Authentication.
Authorization: Bearer eyJhbGciOi…
Query
typestringoptional- Narrow to one taxonomy. An unknown type is not an error, it simply matches nothing, so a client can pass a type it read from a tool without checking it first.
https://api2.rundiffusion.com/api/v2/tool-tags?type=MODEL_FAMILY
curl https://api2.rundiffusion.com/api/v2/tool-tags \
-H "Authorization: Bearer $RUNDIFFUSION_TOKEN"const { data, types } = await fetch(
'https://api2.rundiffusion.com/api/v2/tool-tags',
{ headers: { Authorization: `Bearer ${process.env.RUNDIFFUSION_TOKEN}` } },
).then(r => r.json());page = requests.get(
"https://api2.rundiffusion.com/api/v2/tool-tags",
headers={"Authorization": f"Bearer {os.environ['RUNDIFFUSION_TOKEN']}"},
).json()Response
200 OK. Unpaged: the vocabulary is small and callers almost always want all of
it, so there is no cursor to follow.
{
"data": [
{ "id": "9QmTz4…", "type": "MEDIA", "label": "Video" },
{ "id": "7wtwjM…", "type": "MODEL_FAMILY", "label": "Kling AI" },
{ "id": "RkS8eR…", "type": "USE_CASE", "label": "Text to Video" }
],
"types": ["HOME_PAGE", "INDUSTRY", "MEDIA", "MODEL_FAMILY", "TRAINING_QUALITY", "TRAINING_TYPE", "USE_CASE"]
}Top level
dataarray- The tool tags, grouped by type and then by the order the product itself displays them in. Rendering them in order gives you the same grouping the app uses.
typesarray- Every type in the whole vocabulary, not just this response. It stays complete when you filter, so a grouped picker can render all its sections after narrowing to one.
Tool tag object
idstring- A 20-character opaque string. This is the value that appears in a tool's tags array, and what you pass to the tool-tag filters on the library.
typestring | null- Which taxonomy the tool tag belongs to. Group by this. The set can grow, so treat an unfamiliar value as a new group rather than an error.
labelstring | null- The human-readable name. Display this, never the id.
Errors
401UNAUTHENTICATED- Missing, malformed, or expired token.
429RATE_LIMITED- Too many requests. Back off and retry per the Retry-After header. See Rate limits.
See Errors for the full envelope and the code list.
