> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sia.vision/llms.txt
> Use this file to discover all available pages before exploring further.

# Save an Artifact draft

> artifact_draft_create: permissions and generated input/output contracts.

`artifact_draft_create` · Gateway release **0.8.3**

Create one reusable prop, clothing or accessory from a concise brief and optional saved reference images. Search first. Choose useful details from the brief; do not interview the user for every field. Same operationId returns the original draft. Generated files remain Media, and Character identity is unchanged.

Required scopes: `account:read`, `studio:write`. Changes saved state or requests work; review the operation’s effects.

Availability depends on runtime configuration and the permissions granted to this connection. Use live MCP discovery as the authority.

## Input

```json theme={null}
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "storyworldId": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{24}$",
      "description": "ID of an accessible saved Storyworld returned by discovery. Keep this destination fixed for the operation."
    },
    "operationId": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9-]{16,64}$",
      "description": "Persist a client-generated UUID before this mutation. Repeat identical inputs and this same ID after interruption; a new ID is a new request."
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "details": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "schemaVersion": {
          "const": 1
        },
        "category": {
          "enum": [
            "prop",
            "clothing",
            "accessory"
          ]
        },
        "description": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "materials": {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        "scale": {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        "placement": {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        "continuityNotes": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000
        }
      },
      "required": [
        "schemaVersion",
        "category",
        "description"
      ]
    },
    "sourceAssetIds": {
      "type": "array",
      "maxItems": 16,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "pattern": "^[a-fA-F0-9]{24}$"
      },
      "description": "Ordered IDs of saved source images to preserve as generation inputs. Never silently omit an intended source."
    }
  },
  "required": [
    "storyworldId",
    "operationId",
    "title",
    "details"
  ]
}
```

## Declared output

This is the declared success schema. Error results and binary media blocks are separate MCP protocol results.

```json theme={null}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "schemaVersion": {
      "type": "string",
      "const": "1"
    },
    "artifactId": {
      "type": "string",
      "pattern": "^[a-f0-9]{24}$"
    },
    "storyworldId": {
      "type": "string",
      "pattern": "^[a-f0-9]{24}$"
    },
    "title": {
      "type": "string"
    },
    "studioUrl": {
      "type": "string"
    }
  },
  "required": [
    "schemaVersion",
    "artifactId",
    "storyworldId",
    "title"
  ],
  "additionalProperties": {}
}
```

[All tools](https://docs.sia.vision/mcp-reference.md) · [Permissions](https://docs.sia.vision/authentication.md) · [Media and recovery](https://docs.sia.vision/media-and-recovery.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.