@sealpixel/server
v1.0.0-rc.11
Published
Render Sealpixel edit logs on the server with the same WASM core: fetch-style handler, AWS Lambda adapter, S3 and URL sources, idempotent jobs.
Downloads
280
Readme
@sealpixel/server
Renders Sealpixel edit logs on the server with the same WebAssembly core the browser uses, so the bytes match. The primitive is a fetch-style handler (req: Request) => Promise<Response>; @sealpixel/server/lambda adapts it to AWS Lambda, @sealpixel/server/aws provides an S3 object store.
import { createSealpixelHandler, inlineSource, s3Destination, s3Source, urlSource } from '@sealpixel/server';
import { awsObjectStore } from '@sealpixel/server/aws';
const store = awsObjectStore(new S3Client({}));
export const handler = createSealpixelHandler({
plugins: defaultPlugins,
sources: [s3Source({ store, bucket: 'uploads' }), urlSource({ allowHosts: ['cdn.example.com'] }), inlineSource()],
destinations: [s3Destination({ store, bucket: 'renders' })],
limits: { maxMegapixels: 80, maxBytes: 100e6, timeoutMs: 25_000 },
});POST /render with { source, editLog, output, mode, destination }. Jobs are keyed by a hash of source, log, output and core version; a repeated request returns the existing object with cached: true.
