SynthVision
initialising scene…
Controlled simulation · synthetic training data

Models don't fail on architecture.
They fail on data.

We build your problem inside a controlled 3D environment and generate photorealistic training images with pixel-perfect annotations — including the rare conditions that real-world collection almost never delivers in sufficient quantity.

You focus on the model. We handle the data.

0manual labels
10+annotation formats supported
100%reproducible, parameter-traceable
500k+images generated to date

Not a video — a real 3D scene. Every label you see (bounding box, confidence, segmentation) is generated automatically from the scene itself — the same way we generate labels for your training data.

scroll
The data gap

What does your model fail to see?

Most computer vision projects don't stall on model architecture. They stall on the examples that were never captured — because the condition is rare, seasonal, dangerous, or simply hasn't happened yet. No amount of faster labelling fixes a photo that doesn't exist.

In a controlled simulation, every one of those gaps is a parameter you set — and reproduce exactly. See exactly when that helps.

// controlled_simulation · interactive

See what you can control.

Pick a domain, then a variation. Each scene is generated from parameters — objects, materials, lighting, camera and the annotation schema all follow from them.

AGRO / BASE

Aerial field, morning

Annotation overlay
🌱

Agro

AGRO
AGRO
READY
agro-base
COCO
ANNOTATIONS ON
detected defect / alert absent (dashed) segmentation mask

Parametric, not sampled. Every variation is defined by the parameters listed on the left. Change one, regenerate the dataset.

The pipeline

From your problem to a training-ready dataset.

The image is the visible part. What you actually receive is structured, annotated data — generated from the scene itself.

Input

Problem spec

"My model fails on wet shelves at night."

Build

Controlled 3D scene

Objects, materials, lighting, cameras and physics rebuilt in simulation.

Control

Deliberate variations

Occlusion, scale, rare states, defects, distractors — set as parameters, not left to chance.

Render

Synthetic images

Batch generation at the volume your training plan requires.

Deliver

Structured annotation

Labels derived from the scene graph — exact by construction, traceable to their parameters.

Deliverable formats COCO COCO RLE YOLO Pascal VOC semantic masks instance masks polygons depth maps ego-motion hyperspectral bands custom schema
Why simulation

Design-controlled data, not generated images.

Generative models produce images that look plausible. Simulation produces images whose contents you specified — and whose labels you can prove.

Images generated by AI
  • A distribution you don't control and can't fully describe
  • No scene behind the pixels, so ground truth has to be guessed or re-labelled by hand
  • Visual artifacts and detail that changes between samples
  • Per-sample cost and latency that are hard to predict
  • A specific scene cannot be reproduced on demand
  • Class balance is approximate — you get what you get
Controlled simulation
  • Every parameter is declared — you know exactly what is in the dataset
  • Annotations are derived from the scene graph, so they are exact by construction
  • Physically consistent lighting, materials and geometry
  • Deterministic and reproducible — the same scene renders the same way twice
  • Need a new class, camera, physical behaviour or annotation schema? It's a change, not a retrain
  • Class balance is an input, not an outcome

Where simulation wins is not realism. It's that you can state, precisely, what the dataset contains and why. We chase realism only as far as the model needs it to — the goal was never "look how realistic this render is," it's "this scene contains the exact training signal the model needs." A less photorealistic scene that gets the physics, scale and label right is worth more than a beautiful one that doesn't.

How we work

A tool built around your problem, not a problem fitted to a tool.

There are powerful platforms out there. But any fixed product has a boundary: if what you need sits outside the roadmap, your options narrow quickly.

We build the pipeline. When your problem needs a different camera distribution, a new physical behaviour, a different class definition or an annotation schema that doesn't exist yet — we change the system, because we wrote it.

Off-the-shelf tools adapt your problem to the tool.
We adapt the tool to your problem.

And you deal with the person building it. No support tier, no product backlog, no waiting on a release cycle to find out whether your requirement is possible.

We also won't oversell it. Synthetic data is a tool, not a magic solution. If your own real dataset already covers the case well, we'll tell you that a smaller synthetic pass — or none at all — is the right call, even when it means less work for us.
01
Direct access to the engineer Your requirement goes to the person who builds the pipeline. Customer requirement → engineering change → new dataset.
02
We start from your failure modes Not from a data request. Which cases is the model getting wrong, under what conditions, and what does your validation set actually cover?
03
You never touch the rendering side You get images and annotations in whatever format your training pipeline already expects — PyTorch, TensorFlow, your own scripts. Which engine generated them is our decision, not an integration you have to manage.
04
We stay through training and validation The right next batch depends on what your model is still getting wrong. Handing over a zip file and leaving isn't the job.
05
Confidentiality by default Scenes are built from visual references and specifications. No collection of personal data, no GDPR/LGPD exposure, client names confidential unless you say otherwise.
// how_we_think
Synthetic training → real validation → targeted refinement.

We don't sell synthetic data as a religion. It's a tool for coverage, edge cases and speed; real data stays in your validation set, where it belongs. Sometimes the right answer is a mix — and we'll say so, even when it means less data for us to generate.

The same logic holds as general-purpose vision models get better at zero-shot tasks, and as AI-assisted tools get better at labelling footage that already exists. Both narrow the labelling problem — and we expect them to keep doing that. Neither touches the capture problem: they still haven't seen your specific SKU, your specific defect, your specific disease, and no model can label a photo of a condition nobody has recorded yet. That's the half of this that we expect to still matter in five years, and it's where we increasingly focus.

How we operate

We don't publish client names, data, or project-specific numbers.

Not because we don't have them. If we're careful enough with a client's data to promise confidentiality, the same care applies to their results — publishing one client's numbers to win the next client's trust would say the opposite of what we're claiming. What we can show is exactly how we approach a project and how we measure whether it worked.

How we measure

The validation set is the one thing we don't simulate.

01

Validation stays real

Where real labelled data exists, that is what we report against. Measuring F1 on synthetic images would tell you nothing about production behaviour, so we don't do it.

02

The same set for every strategy

When we compare real-only, synthetic-only and mixed training, they are evaluated on an identical real validation set. Otherwise the comparison is decoration.

03

We'd rather undersell than oversell

If your own real data already gets you most of the way there, we'll say so — even when a bigger synthetic engagement would be the easier sell. The right amount of synthetic data is sometimes none.

04

The method doesn't care which model you use

Same-set validation and controlled test conditions work the same whether the model behind the number is one we helped train from scratch or a fine-tuned foundation model. The measurement approach isn't tied to any one way of building the model.

See the kinds of problems we work on.

Quick answers

Common questions.

What exactly is synthetic training data?

Images generated by rendering a 3D scene rather than photographing the real world — together with the annotations that describe that scene. Because the content is constructed rather than sampled, the labels don't have to be inferred from the pixels: they're a property of the scene itself.

So the product isn't really "images". It's a structured dataset with a known distribution, ready for training.

Does it replace real data?

Often not, and we'll tell you when. Real data remains the ground truth for validation, and in some projects it is simply the better training signal. Synthetic data expands coverage and manufactures the edge cases real collection can't supply reliably.

In practice: if your own real dataset already covers the case well, adding synthetic pretraining may not move F1 much on its own — the value shows up more in the coverage you're missing than in beating a baseline you've already got right. We'll tell you when that's the situation rather than sell you a dataset that won't move the needle. The engineering question is when a mix is worth it, not whether it always wins.

How is this different from generative AI (Stable Diffusion, GANs)?

Generative models learn a distribution and sample from it, so you get an image you didn't specify and can't fully describe. Simulation lets you declare the contents: this object, this material, this light, this camera, this occlusion, this many of each class.

That difference matters most for the two things a training dataset needs — reproducible conditions and provable labels.

What formats do you deliver?

COCO and COCO RLE, YOLO, Pascal VOC, semantic and instance segmentation masks, polygons, depth maps, ego-motion trajectories and hyperspectral bands — depending on the task. Custom schemas are common; we define the output against your training pipeline before generation starts.

Why not just use a big synthetic-data platform or open-source tools?

Use them if they cover your case — we mean that. They solve the standard 80% well, and free tools plus a capable team are a legitimate answer.

Where we come in is the other 20%: the scene, variation or annotation logic that no fixed product offers, and that is exactly the part your model is failing on. We can build that part because we build the pipeline itself.

What about zero-shot models (SAM, VLMs) and AI-assisted labelling tools?

Split this into two separate claims, because they hold up differently. "A general model can label your existing real photos faster" — true, and getting truer every quarter. If you already have footage of the condition you care about, an AI-assisted labelling tool is often the faster and cheaper path, and we'll say so rather than sell you a dataset for something you can already label.

"A general model can run in production instead of a trained one" — true for prototyping and common objects, weaker as you scale: cost and latency per inference at real-time or high volume is a different infrastructure bill than a small trained model, and generalisation still lags on your specific SKU, defect or disease.

Neither claim touches the case where the photo was never captured in the first place — a condition too rare, too seasonal, or too dangerous to have shown up in anyone's footage yet. No labelling tool, however good, can annotate an image that doesn't exist. That gap is what we generate for, and it's the reason this doesn't get smaller as labelling models improve.

How do we actually start?

With a diagnosis call about your model, not a data brief. We look at where it fails, what your validation set covers and where the coverage gap is. If simulation is the right answer we scope a small validation batch first, so you can judge the quality before committing to a full dataset. If it isn't the right answer, we'll say so.

If data is still the thing limiting your model, we can work on that.

Tell us what your model gets wrong. We'll map whether simulation is the right path — and what it would take.