ei-build-custom-transformation-blocks
Help the user author an Edge Impulse custom transformation block. A transformation block is a Docker container that Studio runs as a transformation job to pre-process organization data (resample, split, merge, augment, relabel, extract metadata), to fetch external data, or to run any generic cloud job. Any language works — the contract is only the arguments, environment variables, and mounted directories the container receives. Custom transformation blocks are an Enterprise-only feature.
Before writing a block, check whether a pre-built transformation block (organization → Custom blocks → Transformation → Public blocks) or one of the examples in edgeimpulse/transformation-blocks already does the job. Synthetic data and AI labeling blocks are transformation blocks in standalone mode with their own type (synthetic-data, ai-action) in parameters.json. For those, use the ei-build-custom-synthetic-data-blocks and ei-build-custom-ai-labeling-blocks skills.
Choose an operating mode
| Mode | Input | Runs | Shown in Studio |
|---|---|---|---|
file |
One file per run, via --in-file |
Many runs, in parallel | Transformation jobs only |
directory |
One directory per run (a clinical data item), via --in-directory |
Many runs, in parallel | Transformation jobs only |
standalone |
Nothing is passed in | One run | Transformation jobs if showInCreateTransformationJob: true; project data sources if showInDataSources: true |
Use file to convert or modify single files, directory when the output depends on several files of one data item (merging, existence checks), and standalone for fetching or generating data, or for jobs that call APIs. A standalone block that needs existing data must mount a storage bucket or read through the API.