Edge Impulse Jobs API
The Jobs API from Edge Impulse — 42 operation(s) for jobs.
Operations 44
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Ask an LLM
“How do I tune the post-processing of my model's output with a search algorithm?”
“Can I limit how many generations a post-processing search runs for?”
Tell an agent
Start post-processing in project {projectId} for variant {variant} on dataset {dataset} with algorithm {algorithm} and evaluation {evaluation}.
Run post-processing tuning on {dataset} with {algorithm}, capped at {maxGenerations} generations.
POST
/api/{projectId}/jobs/data-explorer-features
Generate features for the data explorer · Generate data explorer features
#
Ask an LLM
“How do I populate the data explorer so I can see my samples clustered visually?”
“What job builds the features behind the data explorer view?”
Tell an agent
Generate data explorer features for project {projectId}.
Build the data explorer visualization for project {projectId}.
POST
/api/{projectId}/jobs/data-quality-metrics
Calculate data quality metrics for a dataset · Calculate data quality metrics. Only available for EI staff
#
Ask an LLM
“Is there a staff-only job that scores the quality of a project's dataset?”
“Can data quality metrics be computed on a particular data representation?”
Tell an agent
Calculate data quality metrics for project {projectId}.
Compute dataset quality metrics for project {projectId} using representation {representation}.
POST
/api/{projectId}/jobs/retry-migrate-impulse
Retry a failed impulse migration · Retry impulse migration
#
Ask an LLM
“My multi-impulse migration failed — how do I try it again?”
“Can I rerun an impulse migration job that errored out?”
Tell an agent
Retry the impulse migration for project {projectId}.
Kick off the failed impulse migration again in project {projectId}.
POST
/api/{projectId}/jobs/synthetic-data
Generate synthetic training data · Create synthetic data
#
Ask an LLM
“How do I generate synthetic samples to grow a small dataset?”
“Which transformation block produces synthetic data, and what parameters does it take?”
Tell an agent
Generate synthetic data in project {projectId} with transformation block {transformationBlockId} and parameters {parameters}.
Create synthetic samples using block {transformationBlockId}.
POST
/api/{projectId}/jobs/ai-actions/{actionId}/preview
Dry-run an AI Action on sample data · Create preview AI Actions job
#
Ask an LLM
“Can I preview what an AI Action would change on a few samples before applying it?”
“How do I see proposed label changes from an AI Action without touching my dataset?”
Tell an agent
Preview AI Action {actionId} in project {projectId} on samples {sampleIds} with steps {steps}, caching unchanged steps: {cacheUnchangedSteps}.
Do a dry run of AI Action {actionId} on samples {sampleIds} and only propose changes.
POST
/api/{projectId}/jobs/ai-actions/{actionId}
Run an AI Action and apply its changes · Create AI Actions job
#
Ask an LLM
“How do I run an AI Action so it actually updates my dataset?”
“Does running an AI Action apply changes directly rather than proposing them?”
Tell an agent
Run AI Action {actionId} in project {projectId} and apply the changes.
Execute AI Action {actionId} for real on my data.
Ask an LLM
“How do I let the EON Tuner search for the optimal model architecture for my data?”
“Can I continue a previous tuner run instead of starting fresh?”
Tell an agent
Start the EON Tuner on project {projectId}.
Continue optimizing project {projectId} from tuner job {continuationJobId}.
POST
/api/{projectId}/jobs/set-tuner-primary-job
Make an EON Tuner trial the primary model · Sets EON tuner primary model
#
Ask an LLM
“How do I pick one EON Tuner result as the model my project uses?”
“Can I name the impulse when promoting a tuner trial to primary?”
Tell an agent
Set EON Tuner trial {trialId} as the primary model for project {projectId}.
Promote tuner trial {trialId} to primary and call it {name}.
Ask an LLM
“What jobs are running right now in my Edge Impulse project?”
“Can I see only top-level running jobs and hide their child jobs?”
Tell an agent
List the active jobs in project {projectId}.
Show only running root jobs in project {projectId}.
Ask an LLM
“Which jobs finished in my project last week?”
“How do I page through a project's job history between two dates?”
Tell an agent
List finished jobs in project {projectId}.
Show jobs that completed in project {projectId} between {startDate} and {endDate}.
Ask an LLM
“Can I get running and finished jobs together in one list?”
“Is it possible to filter a project's jobs by category or job key?”
Tell an agent
List every job, active or finished, in project {projectId}.
Show all jobs in project {projectId} in category {category}.
Ask an LLM
“How much compute time did my project's jobs use this month?”
“Can I see job usage grouped by type for a date range?”
Tell an agent
Summarize job compute usage in project {projectId} from {startDate} to {endDate}.
Give me a per-job-type compute total for project {projectId} between {startDate} and {endDate}.
GET
/api/{projectId}/jobs/impulse-migration/status
Check the status of an impulse migration · Get impulse migration status
#
Ask an LLM
“Has the multi-impulse migration for my project finished?”
“Can visitors to a public project see whether its impulse migration is done?”
Tell an agent
Check the impulse migration status of project {projectId}.
Tell me whether project {projectId} has finished migrating to multiple impulses.
GET
/api/{projectId}/jobs/impulse-migration/stdout
Read the logs of an impulse migration · Get impulse migration logs
#
Ask an LLM
“Where can I read the output of the multi-impulse migration to see why it failed?”
“Can I filter impulse migration logs by log level?”
Tell an agent
Show the impulse migration logs for project {projectId}.
Get the last {limit} impulse migration log lines at level {logLevel}.
Ask an LLM
“How do I get notified when a long-running job completes?”
“Can I add teammates to the notification list of a running job?”
Tell an agent
Notify users {jobNotificationUids} when job {jobId} in project {projectId} finishes.
Update job {jobId} to send its completion notice to {jobNotificationUids}.
Ask an LLM
“Is my training job still running or has it finished?”
“Did a specific job succeed or fail?”
Tell an agent
Get the status of job {jobId} in project {projectId}.
Tell me if job {jobId} has completed successfully.
Ask an LLM
“How can I see the console output of a job while it runs?”
“Can I show only warning and error lines from a job's logs?”
Tell an agent
Show the logs of job {jobId} in project {projectId}.
Get the last {limit} log lines of job {jobId} at level {logLevel}.
GET
/api/{projectId}/jobs/{jobId}/stdout/download
Download a job's logs as a text file · Download logs
#
Ask an LLM
“Can I save a job's full log output to a text file?”
“How do I download job logs to attach to a support ticket?”
Tell an agent
Download the logs of job {jobId} in project {projectId} as a text file.
Save job {jobId}'s log output to a file.
Ask an LLM
“How do I stop a training job that's taking too long?”
“Can I force-cancel a job that won't stop on its own?”
Tell an agent destructive · confirm first
Cancel job {jobId} in project {projectId}.
Force-cancel stuck job {jobId}.
POST
/api/{projectId}/jobs/generate-features
Generate features from the raw training set · Generate features
#
Ask an LLM
“How do I run a processing block over my raw training data to produce features?”
“Can I calculate feature importance while generating features?”
Tell an agent
Generate features in project {projectId} with DSP block {dspId}.
Generate features for DSP block {dspId} and compute feature importance too.
POST
/api/{projectId}/jobs/autotune-dsp
Autotune a DSP block's parameters · Autotune DSP parameters
#
Ask an LLM
“Can Edge Impulse pick good signal processing parameters for me automatically?”
“How do I autotune the settings of a processing block?”
Tell an agent
Autotune the parameters of DSP block {dspId} in project {projectId}.
Find the best processing parameters for block {dspId}.
POST
/api/{projectId}/jobs/train/keras/{learnId}
Train a neural network with Keras · Train model (Keras)
#
Ask an LLM
“How do I train the neural network classifier in my impulse?”
“Can I set training cycles, learning rate and batch size for a Keras training run?”
Tell an agent
Train Keras learn block {learnId} in project {projectId}.
Train neural network block {learnId} for {trainingCycles} cycles at learning rate {learningRate} with batch size {batchSize}.
POST
/api/{projectId}/jobs/train/anomaly/{learnId}
Train an anomaly detection model · Train model (Anomaly)
#
Ask an LLM
“How do I train a K-means or GMM anomaly detector on my features?”
“Can I choose which axes and how many clusters the anomaly model uses?”
Tell an agent
Train anomaly block {learnId} in project {projectId} on axes {axes} with minimum confidence {minimumConfidenceRating}.
Train anomaly detection block {learnId} with {clusterCount} clusters.
POST
/api/{projectId}/jobs/train/keras/{learnId}/export
Export a Keras block's training pipeline · Export Keras block
#
Ask an LLM
“Can I export the training code of my Keras block to run it locally?”
“How do I get the training pipeline behind a learn block?”
Tell an agent
Export the training pipeline of Keras block {learnId} in project {projectId}.
Package the Keras training code for block {learnId}.
POST
/api/{projectId}/jobs/train/keras/{learnId}/data
Export a Keras block's train/validation data · Export Keras block data
#
Ask an LLM
“How do I download the exact train and validation split a Keras block used?”
“Can I override image input scaling when exporting a block's data?”
Tell an agent
Export the split training data of Keras block {learnId} in project {projectId}.
Export block {learnId} data with image input scaling {overrideImageInputScaling}.
POST
/api/{projectId}/jobs/build-ondevice-model
Build an on-device deployment of the impulse · Build on-device model
#
Ask an LLM
“How do I generate a C++ library or firmware to run my model on a microcontroller?”
“Can I choose between an int8 and float32 model when building for a device?”
Tell an agent
Build deployment type {type} for project {projectId} with engine {engine}.
Build a {type} on-device model of impulse {impulseId} using engine {engine} and model type {modelType}.
POST
/api/{projectId}/jobs/build-ondevice-model/organization
Build a deployment with an organization deploy block · Build organizational on-device model
#
Ask an LLM
“How do I build my model using my organization's custom deployment block?”
“Can I deploy an impulse through a custom deploy block we created?”
Tell an agent
Build project {projectId} with organization deploy block {deployBlockId} and engine {engine}.
Deploy impulse {impulseId} via our custom deploy block {deployBlockId}.
POST
/api/{projectId}/jobs/export/original
Export project data in its original upload form · Export original data
#
Ask an LLM
“How do I export all my data exactly as it was uploaded?”
“Can I keep friendly uploader filenames and crops in a data export?”
Tell an agent
Export all original data in project {projectId}, friendly filenames {uploaderFriendlyFilenames}, keep crops {retainCrops}.
Start an export of the raw uploaded files of project {projectId}.
Ask an LLM
“Can I export my project's audio samples as WAV files?”
“Does exporting to WAV keep my cropped sample regions?”
Tell an agent
Export all data in project {projectId} as WAV, retaining crops: {retainCrops}.
Convert and export project {projectId}'s dataset to WAV.
Ask an LLM
“I added new data — how do I retrain my model with the same settings as before?”
“Can I retrain one specific impulse instead of the default?”
Tell an agent
Retrain the impulse in project {projectId} with the last known parameters.
Retrain impulse {impulseId} on the current data.
Ask an LLM
“How do I run model testing on my whole test dataset?”
“Can I classify test data with only certain model variants, like int8?”
Tell an agent
Classify all test data in project {projectId} against the current impulse.
Run model testing for impulse {impulseId} with variants {modelVariants}.
POST
/api/{projectId}/jobs/performance-calibration
Simulate real-world performance of a model · Performance Calibration
#
Ask an LLM
“How will my keyword spotting model perform on continuous real-world audio?”
“Which label should count as background noise when calibrating performance?”
Tell an agent
Run performance calibration in project {projectId} with background noise label {backgroundNoiseLabel}.
Calibrate impulse {impulseId} over {sampleLengthMinutes} minutes of simulated audio using noise label {backgroundNoiseLabel}.
Ask an LLM
“How do I compare accuracy of the quantized and float versions of my model?”
“Can I evaluate all variants of one particular impulse?”
Tell an agent
Evaluate all variants of the impulse in project {projectId}.
Run an evaluation across every model variant of impulse {impulseId}.
Ask an LLM
“How do I snapshot my project's data and configuration as a version?”
“Can I store a project version in my own storage bucket and make it public?”
Tell an agent
Version project {projectId} with description {description}, public: {makePublic}.
Create a project version in bucket {bucketId} described as {description}.
POST
/api/{projectId}/jobs/restore
Restore a project from a saved version · Restore project to version
#
Ask an LLM
“How do I restore an empty project to one of my saved versions?”
“Will restoring a version overwrite my impulse and settings?”
Tell an agent destructive · confirm first
Restore project {targetProjectId} to version {versionId} of project {sourceProjectId} using API key {projectApiKey}.
Roll empty project {targetProjectId} back to private version {versionId}.
POST
/api/{projectId}/jobs/restore/from-public
Restore a project from a public version · Restore project to public version
#
Ask an LLM
“Can I fill an empty project with a public project's version?”
“How do I clone a public Edge Impulse project into my own empty project?”
Tell an agent destructive · confirm first
Restore project {targetProjectId} from public project version {publicProjectId}.
Load public version {publicProjectId} into my empty project.
POST
/api/{projectId}/jobs/versions/{versionId}/make-public
Make a project version public · Make a version public
#
Ask an LLM
“How do I publish a version of my project so others can view and clone it?”
“What happens to data when I make a project version public?”
Tell an agent
Make version {versionId} of project {projectId} public.
Publish version {versionId} so anyone can clone it.
POST
/api/{projectId}/jobs/keywords-noise
Add sample keywords and noise data · Add keywords and noise
#
Ask an LLM
“How do I load the getting-started keyword and noise samples into a project?”
“Is there a quick way to seed a project with example audio for the tutorial?”
Tell an agent
Add the keywords and noise starter data to project {projectId}.
Seed project {projectId} with the getting-started audio dataset.
POST
/api/{projectId}/jobs/profile-tflite
Profile a TFLite model's latency and memory · Profile TFLite model
#
Ask an LLM
“How much RAM, ROM and latency would my TFLite model need on a target device?”
“Can I profile a model I trained elsewhere for a particular microcontroller?”
Tell an agent
Profile TFLite model {tfliteFileBase64} on device {device} in project {projectId}.
Estimate latency and memory of my TFLite model on {device}.
POST
/api/{projectId}/jobs/deploy-pretrained-model
Build an SDK from a pretrained model · Deploy pretrained model
#
Ask an LLM
“Can I bring my own pretrained model and get a deployable library from it?”
“Which model file types can I upload to deploy a pretrained model?”
Tell an agent
Deploy pretrained model {modelFileBase64} of type {modelFileType} as {deploymentType} in project {projectId} with model info {modelInfo}.
Build a {deploymentType} deployment from my uploaded {modelFileType} model using engine {engine}.
GET
/api/{projectId}/jobs/profile-tflite/{jobId}/result
Get TFLite profiling results · Get TFLite profile result (GET)
#
Ask an LLM
“Where do I read the latency and memory numbers after profiling my TFLite model?”
“Is my TFLite profiling job's result ready to fetch with a simple GET?”
Tell an agent
Get the TFLite profiling results of job {jobId} in project {projectId}.
Fetch the RAM, ROM and latency profile from job {jobId}.
POST
/api/{projectId}/jobs/profile-tflite/{jobId}/result
Get TFLite profiling results via POST · Get TFLite profile result (POST)
#
Ask an LLM
“Is there a POST variant for retrieving TFLite profiling results when GET isn't an option?”
“Can a client that only sends POST requests read a profile job's output?”
Tell an agent
Retrieve the profiling result of TFLite job {jobId} in project {projectId} using the POST variant.
Use a POST request to read the TFLite profile output of job {jobId}.
POST
/api/{projectId}/jobs/import-data-from-project
Import all data from another project · Import data from another project
#
Ask an LLM
“How do I copy all the samples from one of my projects into another?”
“Can I merge data from a project I collaborate on into this one?”
Tell an agent
Import all data from project {sourceProjectId} into project {projectId}.
Copy the dataset of project {sourceProjectId} into this project.