ei-build-custom-synthetic-data-blocks

Installation
SKILL.md

Help the user author an Edge Impulse custom synthetic data block. A synthetic data block is a Docker container that Studio runs from a project's Data acquisition → Synthetic data tab to generate samples (images, audio, time series) with a generative model or a custom generator, and upload them to the project through the Ingestion API. Any language works. Custom synthetic data blocks are an Enterprise-only feature.

Before writing a block, check whether a built-in block (DALL-E image generation, FLUX Pro image generation, Whisper keyword generation, time-series data augmentation) or an official example already does the job (see Reference repositories). Built-in blocks that call a provider need the user's own provider API key.

How synthetic data blocks work

A synthetic data block is a transformation block in standalone mode with type: "synthetic-data" in parameters.json. It receives no input file or directory. It generates data, then uploads each sample to the project with the project API key. There are no required outputs; the pattern is upload through the Ingestion API.

Studio passes --synthetic-data-job-id <job-id>. Send it as the x-synthetic-data-job-id header on every upload so Studio can show a live preview of the generated samples on the Synthetic data tab while the job runs.

Required files

  • Dockerfile — builds the container. ENTRYPOINT runs the script.
  • parameters.json — block metadata (type: "synthetic-data") + user-facing parameters.
  • Generation script — transform.py in the official examples; any language that can call the Ingestion API works.
  • Optional requirements.txt and .dockerignore.
  • .ei-block-config — written by edge-impulse-blocks init; it binds the directory to one organization and block ID. Gitignore it in public or shared repos, commit it in a private team repo.

Block I/O contract

Installs
3
GitHub Stars
7
First Seen
4 days ago