{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/getsocialclaw-com/json-schema/getsocialclaw-com-asset-upload-request-schema.json",
  "title": "AssetUploadRequest",
  "description": "Base64 upload request for small media files.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/getsocialclaw-com-assets-and-media-delivery-api-openapi.yml#/components/schemas/AssetUploadRequest",
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "filename": {
      "type": "string",
      "description": "Original file name."
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Alias for filename."
    },
    "mime": {
      "type": [
        "string",
        "null"
      ],
      "description": "MIME type. Inferred from filename when omitted."
    },
    "contentBase64": {
      "type": "string",
      "description": "Base64-encoded file content."
    },
    "content_base64": {
      "type": [
        "string",
        "null"
      ],
      "description": "Snake-case alias for contentBase64."
    },
    "duration": {
      "type": [
        "number",
        "null"
      ]
    },
    "width": {
      "type": [
        "integer",
        "null"
      ]
    },
    "height": {
      "type": [
        "integer",
        "null"
      ]
    },
    "deleteAfter": {
      "type": [
        "string",
        "null"
      ],
      "description": "Optional retention timestamp.",
      "format": "date-time"
    }
  },
  "required": [
    "filename",
    "contentBase64"
  ]
}