खोज केवल इस्तेमाल करने पर लोड होती है। नीचे सभी श्रेणियाँ देखें।

MCP टूल

लोकल इमेज या वीडियो अपलोड करें

sosoapi_upload_asset

लोकल इमेज या वीडियो फ़ाइल Workspace एसेट लाइब्रेरी में अपलोड करें और एसेट के रूप में पंजीकृत करें। केवल वर्किंग डायरेक्टरी, टेम्प फ़ोल्डर, Pictures/Movies/Videos या SOSOAPI_UPLOAD_ROOTS से अधिकतम 500 MiB की वास्तविक PNG/JPEG/GIF/WebP/MP4/MOV/WebM/MKV/MPEG फ़ाइलें स्वीकार होती हैं; डॉट से शुरू होने वाली फ़ाइलें और फ़ोल्डर अस्वीकार होते हैं। Scheduled Post मीडिया के लिए asset id और URL लौटाता है।

Markdown में पढ़ें

प्रोफ़ाइल और ट्रांसपोर्ट

प्रोफ़ाइल: core, full · ट्रांसपोर्ट: stdio

क्लाइंट में दिखने वाले टूल के लिए core या full चुनें; इससे अनुमतियाँ नहीं बदलतीं। लोकल फ़ाइल अपलोड के लिए stdio चाहिए और HTTP पर उपलब्ध नहीं। खोज में आउटपुट स्कीमा के लिए SOSOAPI_OUTPUT_SCHEMAS=1 सेट करें। इस सेटिंग के साथ या बिना टूल संरचित परिणाम लौटाते हैं।

अनुमतियाँ और अन्य प्रभाव

एनोटेशन क्लाइंट को टूल का वर्णन करने में मदद करते हैं। हर कॉल फिर भी यूज़र का प्रमाणीकरण, भूमिका, संसाधन एक्सेस और क्षमता अधिकार जाँचती है।

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}

इनपुट फ़ील्ड

Required का अर्थ पैरेंट ऑब्जेक्ट और चुनी शाखा के भीतर अनिवार्य है। अनिवार्य चाइल्ड से वैकल्पिक पैरेंट अनिवार्य नहीं होता। नीचे के नियम और फ़ील्ड नाम कॉन्ट्रैक्ट से लिए गए हैं।

इनपुट फ़ील्ड
फ़ील्ड / शाखाप्रकार / अनिवार्यशर्तें
$objectपैरेंट में अनिवार्य—
workspace_idstringपैरेंट में अनिवार्य
  • format: "uuid"
file_pathstringपैरेंट में अनिवार्य
  • minLength: 1
idempotency_keystringपैरेंट में अनिवार्य
  • minLength: 8
  • maxLength: 160
content_typestringवैकल्पिक / आइटम
  • minLength: 1
titlestringवैकल्पिक / आइटम
  • maxLength: 200
descriptionstringवैकल्पिक / आइटम
  • maxLength: 2000
tagsarrayवैकल्पिक / आइटम
  • maxItems: 50
tags[]stringवैकल्पिक / आइटम
  • maxLength: 64
metadataobjectवैकल्पिक / आइटम
  • additionalProperties: {}
metadata.*any JSON valueवैकल्पिक / आइटम—
संपूर्ण JSON Schema
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "file_path": {
      "type": "string",
      "minLength": 1
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 160
    },
    "content_type": {
      "type": "string",
      "minLength": 1
    },
    "title": {
      "type": "string",
      "maxLength": 200
    },
    "description": {
      "type": "string",
      "maxLength": 2000
    },
    "tags": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 64
      }
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "workspace_id",
    "file_path",
    "idempotency_key"
  ]
}

संरचित आउटपुट

यह स्कीमा सफल टूल परिणाम के structuredContent का वर्णन करता है। MCP रिस्पॉन्स में content भी होता है और कॉल विफल होने पर isError सेट हो सकता है। प्रकाशन के लिए स्वीकृत अनुरोध या टेक्स्ट रिस्पॉन्स को पुष्टि मानने के बजाय पोस्ट का अंतिम परिणाम पढ़ें। लिंक किया गया API ऑपरेशन अनुमतियाँ और पुनः प्रयास के नियम समझाता है।

Required का अर्थ पैरेंट ऑब्जेक्ट और चुनी शाखा के भीतर अनिवार्य है। अनिवार्य चाइल्ड से वैकल्पिक पैरेंट अनिवार्य नहीं होता। नीचे के नियम और फ़ील्ड नाम कॉन्ट्रैक्ट से लिए गए हैं।

संरचित आउटपुट
फ़ील्ड / शाखाप्रकार / अनिवार्यशर्तें
$objectपैरेंट में अनिवार्य
  • additionalProperties: false
assetobjectपैरेंट में अनिवार्य
  • additionalProperties: false
asset.idinteger | stringपैरेंट में अनिवार्य—
asset.idanyOf 1integerपैरेंट में अनिवार्य
  • minimum: -9007199254740991
  • maximum: 9007199254740991
asset.idanyOf 2stringपैरेंट में अनिवार्य—
asset.workspace_idstringपैरेंट में अनिवार्य
  • format: "uuid"
asset.user_idstringपैरेंट में अनिवार्य
  • format: "uuid"
asset.asset_typestringपैरेंट में अनिवार्य
  • enum: ["text","image","video","audio"]
asset.asset_urlstring | nullपैरेंट में अनिवार्य—
asset.asset_urlanyOf 1stringपैरेंट में अनिवार्य—
asset.asset_urlanyOf 2nullपैरेंट में अनिवार्य—
asset.preview_urlstring | nullवैकल्पिक / आइटम

Workspace-अधिकृत अस्थायी रीड URL। preview_expires_at के बाद Asset read/list से रिफ़्रेश करें; स्थायी मीडिया पहचान के रूप में asset_url रखें।

—
asset.preview_urlanyOf 1stringवैकल्पिक / आइटम
  • format: "uri"
asset.preview_urlanyOf 2nullवैकल्पिक / आइटम—
asset.preview_expires_atstring | nullवैकल्पिक / आइटम—
asset.preview_expires_atanyOf 1stringवैकल्पिक / आइटम
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
asset.preview_expires_atanyOf 2nullवैकल्पिक / आइटम—
asset.titlestring | nullपैरेंट में अनिवार्य—
asset.titleanyOf 1stringपैरेंट में अनिवार्य—
asset.titleanyOf 2nullपैरेंट में अनिवार्य—
asset.descriptionstring | nullपैरेंट में अनिवार्य—
asset.descriptionanyOf 1stringपैरेंट में अनिवार्य—
asset.descriptionanyOf 2nullपैरेंट में अनिवार्य—
asset.tagsarray | nullपैरेंट में अनिवार्य—
asset.tagsanyOf 1arrayपैरेंट में अनिवार्य—
asset.tags[]anyOf 1stringवैकल्पिक / आइटम—
asset.tagsanyOf 2nullपैरेंट में अनिवार्य—
asset.metadataobject | nullपैरेंट में अनिवार्य—
asset.metadataanyOf 1objectपैरेंट में अनिवार्य
  • additionalProperties: {}
asset.metadata.*anyOf 1any JSON valueवैकल्पिक / आइटम—
asset.metadataanyOf 2nullपैरेंट में अनिवार्य—
asset.sourcestring | nullवैकल्पिक / आइटम—
asset.sourceanyOf 1stringवैकल्पिक / आइटम—
asset.sourceanyOf 2nullवैकल्पिक / आइटम—
asset.source_metadataobject | nullवैकल्पिक / आइटम—
asset.source_metadataanyOf 1objectवैकल्पिक / आइटम
  • additionalProperties: {}
asset.source_metadata.*anyOf 1any JSON valueवैकल्पिक / आइटम—
asset.source_metadataanyOf 2nullवैकल्पिक / आइटम—
asset.created_atstringपैरेंट में अनिवार्य—
asset.versionintegerवैकल्पिक / आइटम
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dedupedbooleanपैरेंट में अनिवार्य—
संपूर्ण JSON Schema
{
  "type": "object",
  "properties": {
    "asset": {
      "type": "object",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string"
            }
          ]
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "user_id": {
          "type": "string",
          "format": "uuid"
        },
        "asset_type": {
          "type": "string",
          "enum": [
            "text",
            "image",
            "video",
            "audio"
          ]
        },
        "asset_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "preview_url": {
          "description": "Workspace-authorized temporary read URL. Refresh through Asset read/list after preview_expires_at; keep asset_url as persisted media identity.",
          "anyOf": [
            {
              "type": "string",
              "format": "uri"
            },
            {
              "type": "null"
            }
          ]
        },
        "preview_expires_at": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
            },
            {
              "type": "null"
            }
          ]
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "tags": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "type": "null"
            }
          ]
        },
        "metadata": {
          "anyOf": [
            {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "source_metadata": {
          "anyOf": [
            {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "created_at": {
          "type": "string"
        },
        "version": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "id",
        "workspace_id",
        "user_id",
        "asset_type",
        "asset_url",
        "title",
        "description",
        "tags",
        "metadata",
        "created_at"
      ],
      "additionalProperties": false
    },
    "deduped": {
      "type": "boolean"
    }
  },
  "required": [
    "asset",
    "deduped"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

टूल कॉल का उदाहरण

उदाहरणों में स्कीमा से जाँचे काल्पनिक मान हैं। IDs को अधिकृत IDs, मीडिया को तैयार एसेट और तारीखों को पुष्ट प्रकाशन समय से बदलें। राइट सबमिट करने से पहले खाते की पात्रता जाँचें। यह पेज API अनुरोध नहीं भेजता।

{
  "name": "sosoapi_upload_asset",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "file_path": "./example.png",
    "idempotency_key": "example-upload-001"
  }
}

structuredContent

{
  "asset": {
    "id": 0,
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "user_id": "11111111-1111-4111-8111-111111111111",
    "asset_type": "text",
    "asset_url": null,
    "title": null,
    "description": null,
    "tags": null,
    "metadata": null,
    "created_at": "example"
  },
  "deduped": false
}
MCP इंस्टॉल या कनेक्ट करें