Pencarian hanya dimuat saat digunakan. Jelajahi semua kategori di bawah.

Alat MCP

Unggah gambar atau video lokal

sosoapi_upload_asset

Unggah file gambar atau video lokal ke pustaka aset ruang kerja dan daftarkan sebagai aset. Hanya file PNG/JPEG/GIF/WebP/MP4/MOV/WebM/MKV/MPEG asli berukuran maksimal 500 MiB dari direktori kerja, folder sementara, Pictures/Movies/Videos, atau SOSOAPI_UPLOAD_ROOTS yang diterima; file dan folder berawalan titik ditolak. Mengembalikan ID dan URL aset untuk media Scheduled Post.

Baca sebagai Markdown

Profil dan transport

Profil: core, full · Transport: stdio

Pilih core atau full untuk mengatur alat yang terlihat oleh klien; ini tidak mengubah izinnya. Unggahan file lokal memerlukan stdio dan tidak tersedia melalui HTTP. Atur SOSOAPI_OUTPUT_SCHEMAS=1 untuk menyertakan skema output saat penemuan. Alat mengembalikan hasil terstruktur dengan atau tanpa pengaturan itu.

Izin dan efek samping

Anotasi membantu klien menjelaskan alat. Setiap panggilan tetap memeriksa autentikasi pengguna, peran, akses sumber daya, dan izin kemampuan.

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

Kolom input

Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.

Kolom input
Kolom / cabangJenis / wajibBatasan
$objectWajib dalam induk—
workspace_idstringWajib dalam induk
  • format: "uuid"
file_pathstringWajib dalam induk
  • minLength: 1
idempotency_keystringWajib dalam induk
  • minLength: 8
  • maxLength: 160
content_typestringOpsional / item
  • minLength: 1
titlestringOpsional / item
  • maxLength: 200
descriptionstringOpsional / item
  • maxLength: 2000
tagsarrayOpsional / item
  • maxItems: 50
tags[]stringOpsional / item
  • maxLength: 64
metadataobjectOpsional / item
  • additionalProperties: {}
metadata.*any JSON valueOpsional / item—
JSON Schema lengkap
{
  "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"
  ]
}

Output terstruktur

Skema ini menjelaskan structuredContent dalam hasil alat yang berhasil. Respons MCP juga menyertakan content dan dapat menetapkan isError saat panggilan gagal. Untuk publikasi, baca hasil akhir postingan alih-alih menganggap permintaan diterima atau respons teks sebagai konfirmasi. Operasi API yang ditautkan menjelaskan izin dan aturan percobaan ulang.

Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.

Output terstruktur
Kolom / cabangJenis / wajibBatasan
$objectWajib dalam induk
  • additionalProperties: false
assetobjectWajib dalam induk
  • additionalProperties: false
asset.idinteger | stringWajib dalam induk—
asset.idanyOf 1integerWajib dalam induk
  • minimum: -9007199254740991
  • maximum: 9007199254740991
asset.idanyOf 2stringWajib dalam induk—
asset.workspace_idstringWajib dalam induk
  • format: "uuid"
asset.user_idstringWajib dalam induk
  • format: "uuid"
asset.asset_typestringWajib dalam induk
  • enum: ["text","image","video","audio"]
asset.asset_urlstring | nullWajib dalam induk—
asset.asset_urlanyOf 1stringWajib dalam induk—
asset.asset_urlanyOf 2nullWajib dalam induk—
asset.preview_urlstring | nullOpsional / item

URL baca sementara sesuai kewenangan ruang kerja. Perbarui melalui pembacaan/daftar Aset setelah preview_expires_at; pertahankan asset_url sebagai identitas media persisten.

—
asset.preview_urlanyOf 1stringOpsional / item
  • format: "uri"
asset.preview_urlanyOf 2nullOpsional / item—
asset.preview_expires_atstring | nullOpsional / item—
asset.preview_expires_atanyOf 1stringOpsional / item
  • 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 2nullOpsional / item—
asset.titlestring | nullWajib dalam induk—
asset.titleanyOf 1stringWajib dalam induk—
asset.titleanyOf 2nullWajib dalam induk—
asset.descriptionstring | nullWajib dalam induk—
asset.descriptionanyOf 1stringWajib dalam induk—
asset.descriptionanyOf 2nullWajib dalam induk—
asset.tagsarray | nullWajib dalam induk—
asset.tagsanyOf 1arrayWajib dalam induk—
asset.tags[]anyOf 1stringOpsional / item—
asset.tagsanyOf 2nullWajib dalam induk—
asset.metadataobject | nullWajib dalam induk—
asset.metadataanyOf 1objectWajib dalam induk
  • additionalProperties: {}
asset.metadata.*anyOf 1any JSON valueOpsional / item—
asset.metadataanyOf 2nullWajib dalam induk—
asset.sourcestring | nullOpsional / item—
asset.sourceanyOf 1stringOpsional / item—
asset.sourceanyOf 2nullOpsional / item—
asset.source_metadataobject | nullOpsional / item—
asset.source_metadataanyOf 1objectOpsional / item
  • additionalProperties: {}
asset.source_metadata.*anyOf 1any JSON valueOpsional / item—
asset.source_metadataanyOf 2nullOpsional / item—
asset.created_atstringWajib dalam induk—
asset.versionintegerOpsional / item
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
dedupedbooleanWajib dalam induk—
JSON Schema lengkap
{
  "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
}

Contoh panggilan alat

Contoh ini menggunakan nilai fiktif yang diperiksa terhadap skema. Ganti ID dengan yang diizinkan bagi Anda, media dengan aset siap, dan tanggal dengan waktu publikasi yang dikonfirmasi. Periksa kelayakan akun sebelum mengirim penulisan. Halaman ini tidak mengirim permintaan 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
}
Instal atau hubungkan MCP