@cgwire/kitsu-client is the JavaScript counterpart of
gazu: a client for the API of
Kitsu, the collaboration platform for animation
and VFX studios. It targets plugin and app authors: browsers, webviews
(Tauri, Electron) and Node 22 or later.
- Every client is isolated: its own session, requests and event socket.
- Same function names as gazu, in camelCase:
all*,get*,new*,update*,remove*. - Typed: declarations are generated from the JSDoc of the sources.
- No runtime dependency
npm i @cgwire/kitsu-client
# only if you listen to real-time events:
npm i socket.io-clientWith a bot token, the recommended mode for integrations:
import { createClient } from '@cgwire/kitsu-client'
const kitsu = createClient({ host: 'https://kitsu.mystudio.com/api' })
kitsu.setToken(process.env.KITSU_TOKEN)
const projects = await kitsu.project.allOpenProjects()
const shots = await kitsu.shot.allShotsForProject(projects[0])
const tasks = await kitsu.task.allTasksForShot(shots[0])User credentials, two-factor authentication and cookie mode are covered in Authentication and sessions.
- Authentication and sessions
- Conventions and errors
- Working files, uploads and downloads
- Real-time events
- Utilities and smaller bundles
- Development
Bug reports go to the issue page of this repository, feature requests to our Canny page. Pull requests follow the C4 contract.
Kitsu is written by CGWire, a company based in France. We help animation and VFX studios to collaborate better through efficient tooling. Visit cg-wire.com for more information.

