A new part enters the range and has no image. A listing without an image sells badly, a third-party manufacturer image is legally delicate, and an own photo studio only pays off at volume. For used parts this does not apply — there the part lies on the bench and can be photographed.
An explicit exception to the house rule that only evidenced content is emitted applies here: generation without a reference image is a service that is ordered. Precisely for that reason the result must be labelled as generated and must not appear as a photo of the stocked piece.
| Surface | Roles |
|---|---|
| Hub | Parts trading, Platform and marketplace, Vehicle trading |
What this case requires
- A reliable OE number. Generation follows the number you give. A wrong number generates a wrong part, and that only surfaces at the buyer.
- The explicit decision to generate. If you have a photo of your own, cutting it out is the right route.
- A label in your own system. A generated image has to stay recognisable as such, even after passing through three systems.
- Patience for a job. Generation runs asynchronously; the call returns a
jobIdand does not wait.
The sequence
The table names the responsible call per stage and what exists afterwards. The reasoning for why a stage cannot be skipped follows below it.
| Stage | Call | What exists afterwards |
|---|---|---|
| Order the images | POST /vision/part/generate | A job with a jobId; generation runs on, the call does not wait |
| Collect the job | GET /vision/part/generation-jobs/{jobId} | Finished views under their own addresses once the job completes |
| Place the new part | POST /vision/part/composite | The part against a background that suits the channel |
| Remove identifiers | POST /vision/identifiers/redact | Instance-bound numbers vanish before the image goes public |
Why each stage is needed
- Order the images.
POST /vision/part/generatetakes the OE number and starts the job. The default forsourceModeisreferences_required; generation without a reference is ordered explicitly withknowledge_only. The response is ajobId, not an image — generation takes time, and a blocking call would be useless in a catalogue import. - Collect the job.
GET /vision/part/generation-jobs/{jobId}returns the finished views under retrievable addresses. Only here is it settled which perspectives actually came out. - Place the part on a background.
POST /vision/part/compositeplaces a new part into a background image. Marketplaces and your own shop demand different image worlds; this step serves them. - Remove identifiers.
POST /vision/identifiers/redactanonymises instance-bound identifiers in part images. A serial number or a printed device identifier does not belong in a public listing — it identifies one individual piece.
curl -X POST \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: bilder-8k0959455k' \
-d '{"oeNumber":"8K0959455K","sourceMode":"knowledge_only","angles":["front","left_45","right_45"]}' \
'https://api.tapinomahub.com/vision/part/generate'What you end up with
What remains is an image set usable in the catalogue, still labelled as generated and carrying no identifier of somebody else’s individual piece. For new parts that is the workable route; for used parts your own photo stays the right starting point.
Where to find this in the documentation
The binding field lists, error codes and sample responses live in this surface’s OpenAPI contract at docs.tapinomahub.com (tapinoma-hub). All use cases arranged by surface and role: overview of the use cases.
Sources and legal references
Frequently asked
Does generation not contradict the principle of inventing nothing?
No, because it is explicitly ordered. What is forbidden is filling a gap so that it looks like a measurement. A view labelled as generated does not claim to be a photograph.
When do I cut out instead?
Whenever you have a photo of your own. That is what POST /vision/part/remove/bg is for; it takes the retrievable address of your photo as imageUrl.
Do I have to make the label visible in the listing?
How you declare a symbolic image follows from the channel and from competition law. Technically the origin stays recognisable; declaring it to the buyer is up to you.
