StillMade Blocks and the SDK
What StillMade's own Blocks do, and how a creator Block does the same with the public SDK.
StillMade's own Blocks run on host services. Each one is listed here with the public SDK features that give a creator Block the same capability, so nothing StillMade builds for itself stays out of reach without a stated reason. A test fails when one of StillMade's Blocks starts using a service that is not on this list.
| What StillMade's Blocks do | How a creator Block does it | Notes |
|---|---|---|
| Animated scene assets: generated props and backgrounds, scene video slicing, sprite sheets. | hosted image.generate, hosted video.generate, action media.generate, stillmade.media.transform, stillmade.files.write, stillmade.assets.create, permission context.shots.read, permission workspace.animation.propose | Same capability |
| Browses other projects' scripts the person can open. | stillmade.project.read | Gap: Blocks read only the current project; reading another project the person can open is first-party only. |
| Canvas generation: images, videos, variations, stock and recording the asset. | hosted image.generate, hosted video.generate, action media.generate, action stock.search, stillmade.assets.create | Same capability |
| Canvas media: stock search, uploads and generation with prices. | hosted image.generate, hosted video.generate, action media.generate, action stock.search, stillmade.files.write, control file | Same capability |
| Canvas node placement for shipped workflow nodes. | permission context.canvas.read, permission workspace.canvas.propose | Same capability |
| Canvas workspace chrome (low-balance ribbon, default model). | IMAGE_GENERATION_MODELS from the SDK | The credit balance ribbon is account UI; creator Blocks see prices in StillMade's own approval dialog before any paid run. |
| Collaborative script editing. | StillMade.getShared, StillMade.updateShared, StillMade.connectDocument | Same capability |
| Composes the Canvas workspace from its native parts. | permission workspace.canvas.propose | StillMade React components and hooks only render inside the app; creator interfaces are frame views (any framework) or standard views with generated controls, styled with the same theme variables. |
| Connects a YouTube channel. | stillmade.connections.call, stillmade.net.fetch | Same capability |
| Creates a visual style with generated samples. | hosted image.generate, permission context.styles.read | Same capability |
| Credits or the person's own key for image, video, chat, voice, music and effects. | hosted text.generate, hosted image.generate, hosted video.generate, hosted audio.speech, hosted audio.music, hosted audio.sfx | Same capability |
| Crops panel images. | stillmade.files.read, stillmade.files.write, stillmade.media.transform | Same capability |
| Describes images and media for prompts and context. | hosted image.describe, hosted media.analyze | Same capability |
| Downloads the media a controller selected, under the export policy. | control download, port type file-bundle, action final.render | Same capability |
| Editor asset generation with a model, prompt, aspect, quality and reference images. | hosted image.generate, hosted video.generate, action media.generate | Same capability |
| Edits panel settings with local runs and confirmations. | StillMade.run, StillMade.updateShared | Same capability |
| Embeds the score, vibe and rough-cut panels in the Editor. | port type timeline-edit, permission timeline.propose, permission context.timeline.read | Same capability |
| Final renders of the timeline on the device, under the export policy. | action final.render, stillmade.media.transform | Same capability |
| Finds, loads and tags pipeline assets. | permission context.assets.read, stillmade.project.read, stillmade.assets.appendVersion | Gap: Clearing a generation watermark is tied to the account's plan and is not offered to Blocks. |
| Generates panel images with model, quality and references. | hosted image.generate, hosted video.generate, action media.generate | Same capability |
| Lists and applies saved visual styles. | permission context.styles.read, stillmade.storage.get | Same capability |
| Live collaborative timeline editing with permitted updates. | StillMade.getShared, StillMade.updateShared, StillMade.connectDocument, permission workspace.editor.propose | Same capability |
| Model lists and price labels for generation settings. | IMAGE_GENERATION_MODELS from the SDK, VIDEO_GENERATION_MODELS from the SDK, AUDIO_GENERATION from the SDK | Same capability |
| Model, resolution, quality and voice options for pipeline settings. | IMAGE_GENERATION_MODELS from the SDK, VIDEO_GENERATION_MODELS from the SDK, AUDIO_GENERATION from the SDK | Same capability |
| Notices, StillMade AI's presenter and upgrade prompts. | Not needed | Notices and plan upgrade prompts are account UI; a Block cannot raise them, so it cannot imitate billing or account messages. |
| Opens and closes StillMade AI's presentation of a Step. | Not needed | This is StillMade AI's own presentation of Steps; creator Blocks are presented the same way automatically and need no API. |
| Phone or desktop layout detection in the Editor. | StillMade.render | Device layout in a creator interface is ordinary responsive CSS inside the frame; StillMade checks it at 320 to 1280 pixels before import. |
| Places StillMade AI's generated elements on a board or canvas. | permission workspace.board.propose, permission workspace.canvas.propose | Same capability |
| Plans a panel strip from the script with a model. | hosted text.generate, permission context.script.read, permission workspace.panels.propose | Same capability |
| Provisions StillMade AI's paid generation for a presentation. | action presenter.generate, action media.generate | Same capability |
| Remembers a person's default image model and quality. | stillmade.storage.get, stillmade.storage.set | Same capability |
| Rewrites panel prompts with a model. | hosted text.generate | Same capability |
| Rough cut: frames, local footage, analysis, refinement, transcription and voiceover. | stillmade.media.transform, hosted media.analyze, hosted audio.transcribe, hosted audio.speech, hosted text.generate, stillmade.files.write, permission timeline.propose | Gap: Reading footage straight from the person's disk (without uploading it) is a desktop-only first-party path. |
| Runs a draft recipe or JavaScript Block locally while it is edited. | StillMade.run | Same capability |
| Runs Editor operations: renders, previews and timeline edits. | stillmade.media.transform, action final.render, permission timeline.propose | Same capability |
| Runs the production pipeline: assembly, generation, budgets, references and deliveries. | hosted image.generate, hosted video.generate, action media.generate, hosted text.generate, stillmade.files.write, permission workspace.canvas.propose, trigger media.saved | Same capability |
| Runs the shot planning workspace in its sandbox. | StillMade.run, permission workspace.shotPlan.propose | Same capability |
| Score and sound effect lanes: generated music and effects placed in the Editor. | hosted audio.music, hosted audio.sfx, action media.generate, action stock.search, permission timeline.propose | Same capability |
| Script services: drafts, models and project context. | hosted text.generate, permission context.script.read, stillmade.project.read | Same capability |
| Shot planning services: shots, versions and planning with a model. | hosted text.generate, permission context.shots.read, permission workspace.shotPlan.propose, port type shot-plan | Same capability |
| Shows a panel image large with its narration and text. | StillMade.previewImage | Same capability |
| Shows the script in its workspace layout. | port type script, control document | StillMade React components and hooks only render inside the app; creator interfaces are frame views (any framework) or standard views with generated controls, styled with the same theme variables. |
| StillMade AI presents a workspace and adds board elements. | action presenter.generate, permission workspace.board.propose | Same capability |
| StillMade dialogs and notices for Image Panels. | StillMade.render | StillMade's own dialogs stay host-owned so a Block cannot imitate account, payment or permission prompts; creator interfaces show their own confirmations inside their frame. |
| Story bible editing with collaboration and the bible graph hash. | StillMade.getShared, StillMade.updateShared, StillMade.connectDocument, permission context.blueprint.read, permission workspace.blueprint.propose, hosted text.generate | Same capability |
| Story bible workspace UI (selects, step header, bottom sheet, help). | StillMade.render, StillMade.schemaFields | StillMade React components and hooks only render inside the app; creator interfaces are frame views (any framework) or standard views with generated controls, styled with the same theme variables. |
| Text, story segments and voiceover inside pipeline nodes. | hosted text.generate, hosted audio.speech | Same capability |
| The Canvas preview shown for a Step. | StillMade.render, permission context.canvas.read | StillMade React components and hooks only render inside the app; creator interfaces are frame views (any framework) or standard views with generated controls, styled with the same theme variables. |
| The Editor media library: project assets and uploads. | permission context.assets.read, stillmade.project.read, stillmade.assets.create, stillmade.assets.appendVersion | Same capability |
| The Editor preview shown for a Step. | StillMade.previewMedia, permission context.timeline.read | StillMade React components and hooks only render inside the app; creator interfaces are frame views (any framework) or standard views with generated controls, styled with the same theme variables. |
| The host side of the shot planning sandbox. | StillMade.run, permission workspace.shotPlan.propose | Same capability |
| The voiceover preview shown for a Step. | StillMade.previewMedia | StillMade React components and hooks only render inside the app; creator interfaces are frame views (any framework) or standard views with generated controls, styled with the same theme variables. |
| Uploads a stored export to YouTube. | action youtube.upload | Same capability |
| Uploads and checks media files, thumbnails and downloads. | control file, stillmade.files.write, stillmade.assets.create | Same capability |
| Vectorizes and upscales panel images. | stillmade.asset, stillmade.files.read, stillmade.files.write | Gap: Upscaling with a hosted model is not a hosted operation yet; module Blocks can only upscale with a model they ship in WebAssembly. |
| Video assets workspace: model limits, durations, voices, prices and batch generation. | hosted image.generate, hosted video.generate, action media.generate, hosted audio.speech, VIDEO_GENERATION_MODELS from the SDK | Same capability |
| Voiceover services: voices, takes and transcripts. | hosted audio.speech, hosted audio.transcribe, permission context.transcript.read | Same capability |
| Voiceover workspace UI with live collaboration. | StillMade.getShared, StillMade.updateShared, StillMade.connectDocument, StillMade.previewMedia | StillMade React components and hooks only render inside the app; creator interfaces are frame views (any framework) or standard views with generated controls, styled with the same theme variables. |
| White Board Motion: live collaborative board edits, elements and assets. | StillMade.getShared, StillMade.updateShared, StillMade.connectDocument, permission context.board.read, permission workspace.board.propose, permission context.assets.read | Same capability |
| Who may change Image Panels right now. | StillMade.getShared | Same capability |
Missing something? Request a primitive.