npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

sanity-plugin-cincopa-uploader

v0.0.23

Published

A Sanity Studio v3 plugin for uploading and managing video assets with [Cincopa Video Platform](https://www.cincopa.com).

Readme

🎞️ Sanity Plugin: Cincopa Uploader

A Sanity Studio v3 plugin for uploading and managing video assets with Cincopa Video Platform.

This plugin enables editors to seamlessly upload and manage videos directly within the Sanity Studio interface.


✨ Features

  • 📤 Upload videos to Cincopa from within Sanity
  • 🎥 Use our customizable, video players (mobile and desktop) - available in multiple styles such as playlists, Netflix-like galleries, academy and course layouts with multiple playlists, and more
  • ⚡ Deliver content through a top-tier global CDN for maximum speed and reliability
  • 🔒 Enterprise-grade security - protect your videos with AES encryption, domain and IP restrictions, and expiring embed tokens.
  • 📊 Analytics: Dive into layered insights with our three-level analytics
  • 📝 Create, upload, or generate subtitles/CC with AI
  • 🎬 Create or auto-generate chapters to divide a long video
  • 🎯 Add on-video features like annotations, calls to action, lead capture forms
  • 🔍 Search your video library by title, description, ID, or even within the transcript
  • 🧠 Set or auto-generate title and description with AI
  • 🖼️ Pick or upload a thumbnail, or define a video clip as your preview
  • 🌐 Automatic Video SEO with structured JSON-LD markup
  • ✂️ Cut, trim, and refine your video content
  • 🧩 API access - integrate Cincopa with your apps, automate workflows, or build fully custom video experiences.

🛠 Installation

npm install sanity-plugin-cincopa-uploader@latest

This plugin is built for Sanity Studio v3.

🔑 Requirements

  • A Cincopa account
  • A Cincopa API Token with Full Access permissions

🛠 Token Configuration

Create a .env file in the root of your Sanity Studio (if you don't already have one) and add the following:

SANITY_STUDIO_CINCOPA_API_TOKEN=YOUR_CINCOPA_FULL_ACCESS_TOKEN
SANITY_STUDIO_CINCOPA_API_TOKEN_EDITOR=YOUR_CINCOPA_VIEWER_ACCESS_TOKEN
  • SANITY_STUDIO_CINCOPA_API_TOKEN is required for uploading and managing assets (Full Access).

  • SANITY_STUDIO_CINCOPA_API_TOKEN_EDITOR is an optional token used for read-only access (Viewer).

Restart the server after saving changes:

npm run dev

🚀 Usage

1. Configure the plugin in sanity.config.ts (or .js):

import { defineConfig } from 'sanity'
import { cincopaUploader } from 'sanity-plugin-cincopa-uploader'

export default defineConfig({
  plugins: [cincopaUploader({
    token: process.env.SANITY_STUDIO_CINCOPA_API_TOKEN,
    token_viewer: process.env.SANITY_STUDIO_CINCOPA_API_TOKEN_EDITOR,
  })],
})

🧱 Extending the Asset Schema

You can optionally extend the Cincopa Asset (cincopa.asset) document schema with your own custom fields (e.g., tags, categories, or internal notes).

1. Create a file at:

/schemaTypes/cincopaAssetCustomFields.ts

2. Export an object like this:

export const cincopaAssetCustomFields = {
  fields: [
    {
      name: 'customField',
      title: 'Custom Field',
      type: 'string',
    },
    {
      name: 'customFieldBoolean',
      title: 'Custom Field Boolean',
      type: 'boolean',
    },
  ]
};

3. Update your sanity.config.ts to include the Cincopa plugin with custom fields:

import { defineConfig } from 'sanity'
import { cincopaUploader } from 'sanity-plugin-cincopa-uploader'
import { cincopaAssetCustomFields } from './schemaTypes/cincopaAssetCustomFields'

export default defineConfig({
  plugins: [
    cincopaUploader({
      token: process.env.SANITY_STUDIO_CINCOPA_API_TOKEN,
      token_viewer: process.env.SANITY_STUDIO_CINCOPA_API_TOKEN_EDITOR,
      cincopaAssetCustomFields,
    }),
  ],
})

🧩 Optional: Use Cincopa Assets in the Portable Text Editor

This enables editors to insert and manage Cincopa assets inline within Portable Text editors.

  import { defineField } from 'sanity'

  defineField({
    name: 'body',
    type: 'array',
    of: [
      { type: 'block' },
      { type: 'cincopa_asset' }
    ]
  })

🧩 Optional: Use Sanity Cincopa Assets in the Portable Text Editor

This enables editors to insert and manage Cincopa assets inline within Portable Text editors.

  import { defineField } from 'sanity'

  defineField({
    name: 'body',
    type: 'array',
    of: [
      { type: 'block' },
      { type: 'sanity_cincopa_asset' }
    ]
  })

🧪 Develop & Test

This plugin uses @sanity/plugin-kit for development tooling.

To test it in your studio with hot reload:

npm run dev

See: Testing a plugin in Sanity Studio


💬 Support

Need help? Reach out to [email protected]


📄 License

MIT