StillMade developer documentation
Build reusable production Blocks and ordered Project Types with the StillMade SDK.
Build for StillMade
A Block is a reusable production capability. Place it in a Project Type and it becomes a Step, with its own configuration and pinned version. StillMade handles the production workspace, typed connections, and persistent project context.
Build an original Block
Give your coding agent the SDK authoring contract and your idea. Build on the SDK contracts from the first iteration, then select the finished source folder in StillMade. The implementation and interface import unchanged; no adaptation phase is needed. See original SDK folders.
Adapt an existing repository
This public SDK contains the contracts, examples and tooling needed to adapt a GitHub repository outside StillMade. Coding agents can inspect the repository, retain licensing and return one installable .stillmade-block file. Portable packages and repository adaptation.
Choose what to build
- Build your first Block: create, test, preview, and package a working capability.
- Block builder contract: the rules every Block follows, however it is made, and how readiness is judged.
- Tutorial: a React Block in 30 minutes: build, preview with hot reload, test offline, import and publish.
- What you can build: templates and complete examples across video, images, music, data, documents, integrations, education and e-commerce.
- Preview with hot reload: start from a template for any runtime, preview the interface in StillMade's own view host, and test offline with stand-ins for every hosted operation.
- Generate images: create a reviewed prompt-to-image Block with quality and payment chosen in StillMade.
- Generate speech from a script: declare typed audio, suggest a catalog voice, review cost, and listen before accepting.
- Frame views: interfaces written with React or another framework, SVG, canvas and drag, with theming and shared editing.
- Outside APIs: call any API with the person's own key or OAuth sign-in, through declared origins and published OpenAPI adapters; keys never reach Block code.
- Project storage, reads and assets: keep values and files of up to 64 MiB per project in the Block's cloud storage, read the project, add media assets and propose edits people review and undo.
- Triggers and unattended runs: run on new media, a schedule, a webhook, another project's completion or a provider event, once the owner turns it on; hosted Blocks stay inside an approved budget.
- Data types: files (PDF, text, CSV, JSON, ZIP), documents, tables, links, dates and colors, with their controls, result layouts and conversions.
- Module Blocks: modern JavaScript with npm libraries and WebAssembly (OpenCV and other C/C++ builds), sandboxed in the browser, with on-device media processing (decode, cut, join, extract and normalise audio and video).
- Analyze media: ask about a saved video (optionally one time range) or up to four images and get timestamped evidence.
- Read the web: read a public page or research a topic with cited sources, paid with StillMade credits.
- Generate music and sound effects: create music or a sound effect with the app's generators, paid with StillMade credits.
- Transcribe stored audio: return reviewed text and word timings through the host-owned BYOK boundary.
- Add speech to the Editor: place an accepted project recording on the audio lane at the playhead.
- Build a Project Type: assemble an ordered workflow from compatible Blocks.
- Build with your own AI coding tool: take the complete authoring guide to Claude, Codex, Gemini, or another coding assistant.
SDK and documentation
The SDK is the code, validators, isolated runtime, TypeScript declarations, examples, and command-line tools you download and run. This documentation explains their contracts, workflows, and integration boundaries. Both are versioned for SDK 0.1.0.
Download the SDK or explore the API reference.
Development lifecycle
- Describe the capability and declare its typed inputs and outputs.
- Implement a recipe, standalone JavaScript function body, or supported declarative host request.
- Test realistic synthetic examples, including edge cases.
- Preview the interface with
stillmade-block dev(hot reload, stand-ins for hosted calls), package the tested source, and import it into StillMade. - Place the Block into a Project Type and rehearse its connections.
- Release an immutable version when you are ready to share.
Production model
Normal users work through ordered Steps. They add a capability at a position in the workflow; compatible primary ports connect automatically. Secondary values can come from scoped project context. A technical graph is not required to build a Project Type.
Read Blocks, Steps, and Project Types before designing a package.