{
"make": "Audi",
"model": "A7",
"year": null,
"generation": "C8 (4K)",
"body_type": "4-door sedan",
"note": null,
"source": "ai_candidate_unmapped"
}
{
"primary_model": "gpt-4.1-mini",
"fallback_model": "gpt-4.1",
"used_model": "gpt-4.1-mini",
"attempt_label": "primary",
"is_fallback_attempt": false,
"fallback_reason": null,
"duration_ms": 21640,
"http_status": 200,
"response": {
"id": "resp_0a23fe5eafd7db5e006a042f5c64288193935617a5478c0425",
"object": "response",
"created_at": 1778659164,
"status": "completed",
"background": false,
"billing": {
"payer": "developer"
},
"completed_at": 1778659184,
"error": null,
"frequency_penalty": 0,
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"max_tool_calls": null,
"model": "gpt-4.1-mini-2025-04-14",
"moderation": null,
"output": [
{
"id": "msg_0a23fe5eafd7db5e006a042f67e4d08193b771c98dd3b4312b",
"type": "message",
"status": "completed",
"content": [
{
"type": "output_text",
"annotations": [],
"logprobs": [],
"text": "{\"vehicle\":{\"top_candidate\":{\"make\":\"Audi\",\"model\":\"A7\",\"generation\":\"C8 (4K)\",\"year_from\":2018,\"year_to\":null,\"body_type\":\"4-door sedan\",\"confidence\":0.85},\"candidates\":[{\"make\":\"Audi\",\"model\":\"A7\",\"generation\":\"C8 (4K)\",\"year_from\":2018,\"year_to\":null,\"body_type\":\"4-door sedan\",\"confidence\":0.85},{\"make\":\"Audi\",\"model\":\"A8\",\"generation\":\"D5\",\"year_from\":2018,\"year_to\":null,\"body_type\":\"4-door sedan\",\"confidence\":0.3}],\"needs_user_confirmation\":true},\"detected_parts\":[{\"raw_part_name\":\"front left fender\",\"normalized_part_name\":\"fender\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"front\",\"image_role\":\"front\",\"damage_type\":\"deformation\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"left front door\",\"normalized_part_name\":\"door\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"side\",\"image_role\":\"left\",\"damage_type\":\"dent\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"left rear door\",\"normalized_part_name\":\"door\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"side\",\"image_role\":\"left\",\"damage_type\":\"dent\",\"damage_severity\":\"severe\",\"confidence\":0.85},{\"raw_part_name\":\"left rear quarter panel\",\"normalized_part_name\":\"quarter panel\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"rear\",\"image_role\":\"left\",\"damage_type\":\"dent\",\"damage_severity\":\"severe\",\"confidence\":0.85},{\"raw_part_name\":\"front bumper\",\"normalized_part_name\":\"bumper\",\"category_key\":\"body\",\"side\":\"center\",\"position\":\"front\",\"image_role\":\"front\",\"damage_type\":\"cracks and deformation\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"left front wheel/tire\",\"normalized_part_name\":\"wheel/tire\",\"category_key\":\"wheel_tire\",\"side\":\"left\",\"position\":\"front\",\"image_role\":\"front\",\"damage_type\":\"damage\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"front hood\",\"normalized_part_name\":\"hood\",\"category_key\":\"body\",\"side\":\"center\",\"position\":\"front\",\"image_role\":\"front\",\"damage_type\":\"deformation\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"left side skirt\",\"normalized_part_name\":\"side skirt\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"side\",\"image_role\":\"left\",\"damage_type\":\"scratches and dents\",\"damage_severity\":\"moderate\",\"confidence\":0.85}],\"image_quality\":{\"front\":\"good\",\"rear\":\"good\",\"left\":\"good\",\"right\":\"good\"},\"warnings\":[\"Postoji značajna oštećenja na lijevoj strani vozila, molimo potvrdite jesu li svi dijelovi ispravno identificirani.\"],\"questions_for_user\":[\"Je li vozilo pravilno identificirano kao Audi A7 C8 generacija (od 2018.)?\",\"Jesu li zabilježena sva oštećenja na lijevoj strani i prednjem dijelu vozila?\"],\"overall_confidence\":0.85,\"needs_user_confirmation\":true}"
}
],
"role": "assistant"
}
],
"parallel_tool_calls": true,
"presence_penalty": 0,
"previous_response_id": null,
"prompt_cache_key": null,
"prompt_cache_retention": "in_memory",
"reasoning": {
"effort": null,
"summary": null
},
"safety_identifier": null,
"service_tier": "default",
"store": true,
"temperature": 1,
"text": {
"format": {
"type": "json_schema",
"description": null,
"name": "ai_vehicle_analysis",
"schema": {
"type": "object",
"additionalProperties": false,
"required": [
"vehicle",
"detected_parts",
"image_quality",
"warnings",
"questions_for_user",
"overall_confidence",
"needs_user_confirmation"
],
"properties": {
"vehicle": {
"type": "object",
"additionalProperties": false,
"required": [
"top_candidate",
"candidates",
"needs_user_confirmation"
],
"properties": {
"top_candidate": {
"type": "object",
"additionalProperties": false,
"required": [
"make",
"model",
"generation",
"year_from",
"year_to",
"body_type",
"confidence"
],
"properties": {
"make": {
"type": "string"
},
"model": {
"type": "string"
},
"generation": {
"type": "string"
},
"year_from": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"year_to": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"body_type": {
"type": "string"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"make",
"model",
"generation",
"year_from",
"year_to",
"body_type",
"confidence"
],
"properties": {
"make": {
"type": "string"
},
"model": {
"type": "string"
},
"generation": {
"type": "string"
},
"year_from": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"year_to": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"body_type": {
"type": "string"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"needs_user_confirmation": {
"type": "boolean"
}
}
},
"detected_parts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"raw_part_name",
"normalized_part_name",
"category_key",
"side",
"position",
"image_role",
"damage_type",
"damage_severity",
"confidence"
],
"properties": {
"raw_part_name": {
"type": "string"
},
"normalized_part_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"category_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"side": {
"type": "string",
"enum": [
"left",
"right",
"center",
"both",
"unknown",
"not_applicable"
]
},
"position": {
"type": "string",
"enum": [
"front",
"rear",
"side",
"upper",
"lower",
"interior",
"unknown"
]
},
"image_role": {
"type": "string",
"enum": [
"front",
"rear",
"left",
"right",
"extra",
"damage_detail",
"unknown"
]
},
"damage_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"damage_severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"image_quality": {
"type": "object",
"additionalProperties": false,
"required": [
"front",
"rear",
"left",
"right"
],
"properties": {
"front": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
},
"rear": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
},
"left": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
},
"right": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
}
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"questions_for_user": {
"type": "array",
"items": {
"type": "string"
}
},
"overall_confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"needs_user_confirmation": {
"type": "boolean"
}
}
},
"strict": true
},
"verbosity": "medium"
},
"tool_choice": "auto",
"tools": [],
"top_logprobs": 0,
"top_p": 1,
"truncation": "disabled",
"usage": {
"input_tokens": 19490,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 688,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 20178
},
"user": null,
"metadata": []
},
"ai_response": {
"vehicle": {
"top_candidate": {
"make": "Audi",
"model": "A7",
"generation": "C8 (4K)",
"year_from": 2018,
"year_to": null,
"body_type": "4-door sedan",
"confidence": 0.84999999999999997779553950749686919152736663818359375
},
"candidates": [
{
"make": "Audi",
"model": "A7",
"generation": "C8 (4K)",
"year_from": 2018,
"year_to": null,
"body_type": "4-door sedan",
"confidence": 0.84999999999999997779553950749686919152736663818359375
},
{
"make": "Audi",
"model": "A8",
"generation": "D5",
"year_from": 2018,
"year_to": null,
"body_type": "4-door sedan",
"confidence": 0.299999999999999988897769753748434595763683319091796875
}
],
"needs_user_confirmation": true
},
"detected_parts": [
{
"raw_part_name": "front left fender",
"normalized_part_name": "fender",
"category_key": "body",
"side": "left",
"position": "front",
"image_role": "front",
"damage_type": "deformation",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "left front door",
"normalized_part_name": "door",
"category_key": "body",
"side": "left",
"position": "side",
"image_role": "left",
"damage_type": "dent",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "left rear door",
"normalized_part_name": "door",
"category_key": "body",
"side": "left",
"position": "side",
"image_role": "left",
"damage_type": "dent",
"damage_severity": "severe",
"confidence": 0.84999999999999997779553950749686919152736663818359375
},
{
"raw_part_name": "left rear quarter panel",
"normalized_part_name": "quarter panel",
"category_key": "body",
"side": "left",
"position": "rear",
"image_role": "left",
"damage_type": "dent",
"damage_severity": "severe",
"confidence": 0.84999999999999997779553950749686919152736663818359375
},
{
"raw_part_name": "front bumper",
"normalized_part_name": "bumper",
"category_key": "body",
"side": "center",
"position": "front",
"image_role": "front",
"damage_type": "cracks and deformation",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "left front wheel/tire",
"normalized_part_name": "wheel/tire",
"category_key": "wheel_tire",
"side": "left",
"position": "front",
"image_role": "front",
"damage_type": "damage",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "front hood",
"normalized_part_name": "hood",
"category_key": "body",
"side": "center",
"position": "front",
"image_role": "front",
"damage_type": "deformation",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "left side skirt",
"normalized_part_name": "side skirt",
"category_key": "body",
"side": "left",
"position": "side",
"image_role": "left",
"damage_type": "scratches and dents",
"damage_severity": "moderate",
"confidence": 0.84999999999999997779553950749686919152736663818359375
}
],
"image_quality": {
"front": "good",
"rear": "good",
"left": "good",
"right": "good"
},
"warnings": [
"Postoji značajna oštećenja na lijevoj strani vozila, molimo potvrdite jesu li svi dijelovi ispravno identificirani."
],
"questions_for_user": [
"Je li vozilo pravilno identificirano kao Audi A7 C8 generacija (od 2018.)?",
"Jesu li zabilježena sva oštećenja na lijevoj strani i prednjem dijelu vozila?"
],
"overall_confidence": 0.84999999999999997779553950749686919152736663818359375,
"needs_user_confirmation": true
},
"parse_error": null
}
ai_candidate_unmapped,
ready_for_search=true,
product_search_ready=false,
search_mode=disabled/inquiry_only
| analysis_id | 38 |
|---|---|
| public_token | 6c47e9f9a94100bf0186893cabde3e45 |
| status | confirmed |
| image_count | 8 |
| OPENAI_API_KEY_CONFIGURED | true |
| OPENAI_VISION_MODEL | gpt-4.1-mini |
| OPENAI_VISION_FALLBACK_MODEL | gpt-4.1 |
| last_ai_raw_log_id | 111 |
| last_ai_status | vision_response |
| last_model_used | gpt-4.1-mini |
| raw_vehicle_candidates_count | 3 |
|---|---|
| saved_vehicle_candidates_count | 2 |
| raw_part_candidates_count | 8 |
| saved_part_candidates_count | 8 |
| mapped_vehicle_candidates_count | 0 |
| mapped_part_candidates_count | 0 |
| selected_vehicle_candidate_id | 53 |
| selected_part_candidate_ids | [197,198,199,200,201,203,204] |
| Rank | Naziv | Godiste | Sigurnost | Mapirano | Status | Akcija |
|---|---|---|---|---|---|---|
| 1 | Audi A7 C8 (4K) | 2018 - | 0.8500 (Srednja sigurnost) |
make: 4 model: null gen: null Nije mapirano na internu bazu vozila. |
top odabrano (korisnik/admin) nije mapirano | Dodaj vehicle alias |
| 2 | Audi A8 D5 | 2018 - | 0.3000 (Vrlo niska sigurnost) |
make: 4 model: null gen: null Nije mapirano na internu bazu vozila. |
nije mapirano | Dodaj vehicle alias |
| Rank | Dio | Strana/Pozicija | Image | Kategorija | Sigurnost | Status | Akcija |
|---|---|---|---|---|---|---|---|
| 1 |
front left fender front left blatobran |
left / front | front |
id: null key: body Nije mapirano na internu kategoriju. |
0.9000 (Visoka sigurnost) | odabrano needs confirm | Dodaj part alias |
| 2 |
left front door left front vrata |
left / side | left |
id: null key: body Nije mapirano na internu kategoriju. |
0.9000 (Visoka sigurnost) | odabrano needs confirm | Dodaj part alias |
| 3 |
left rear door left rear vrata |
left / side | left |
id: null key: body Nije mapirano na internu kategoriju. |
0.8500 (Visoka sigurnost) | odabrano needs confirm | Dodaj part alias |
| 4 |
left rear quarter panel left rear quarter panel |
left / rear | left |
id: null key: body Nije mapirano na internu kategoriju. |
0.8500 (Visoka sigurnost) | odabrano needs confirm | Dodaj part alias |
| 5 |
front bumper front branik |
center / front | front |
id: null key: body Nije mapirano na internu kategoriju. |
0.9000 (Visoka sigurnost) | odabrano needs confirm | Dodaj part alias |
| 6 |
left front wheel/tire left front wheel tire |
left / front | front |
id: null key: wheel_tire Nije mapirano na internu kategoriju. |
0.9000 (Visoka sigurnost) | needs confirm | Dodaj part alias |
| 7 |
front hood front hauba |
center / front | front |
id: null key: body Nije mapirano na internu kategoriju. |
0.9000 (Visoka sigurnost) | odabrano needs confirm | Dodaj part alias |
| 8 |
left side skirt left side skirt |
left / side | left |
id: null key: body Nije mapirano na internu kategoriju. |
0.8500 (Visoka sigurnost) | odabrano needs confirm | Dodaj part alias |
{
"selected_part_candidate_ids": [
197,
198,
199,
201,
200,
203,
204
]
}
{
"unmapped_part_candidate_ids": [
197,
198,
199,
201,
200,
203,
204
]
}
{
"vehicle_source": "ai_candidate_unmapped",
"make_id": 4,
"model_id": null,
"generation_id": null,
"year_from": 2018,
"year_to": 2018,
"confirmed_vehicle_label": "AUDI",
"manual_make": "Audi",
"manual_model": "A7",
"manual_year": null,
"manual_generation": "C8 (4K)",
"manual_body_type": "4-door sedan",
"manual_note": null,
"parts": [
{
"category_id": null,
"category_key": "body",
"side": "left",
"position": "front",
"raw_part_name": "front left fender",
"manual_note": null
},
{
"category_id": null,
"category_key": "body",
"side": "left",
"position": "side",
"raw_part_name": "left front door",
"manual_note": null
},
{
"category_id": null,
"category_key": "body",
"side": "left",
"position": "side",
"raw_part_name": "left rear door",
"manual_note": null
},
{
"category_id": null,
"category_key": "body",
"side": "center",
"position": "front",
"raw_part_name": "front bumper",
"manual_note": null
},
{
"category_id": null,
"category_key": "body",
"side": "left",
"position": "rear",
"raw_part_name": "left rear quarter panel",
"manual_note": null
},
{
"category_id": null,
"category_key": "body",
"side": "center",
"position": "front",
"raw_part_name": "front hood",
"manual_note": null
},
{
"category_id": null,
"category_key": "body",
"side": "left",
"position": "side",
"raw_part_name": "left side skirt",
"manual_note": null
}
],
"needs_manual_category_mapping": true,
"product_search_ready": false,
"ready_for_search": true
}
| ID | Vrijeme | broj_rezultata | kliknuti_proizvod_id | Filter JSON |
|---|---|---|---|---|
| Nema search logova. | ||||
{
"event": "inquiry_created",
"analysis_id": 38,
"inquiry_id": 12,
"has_phone": true,
"has_email": false,
"preferred_contact": "phone",
"selected_products_input_count": 0,
"selected_products_snapshot_count": 0,
"selected_products_saved_count": 0,
"selected_b2b_items_input_count": 0,
"selected_b2b_items_saved_count": 0
}
{
"ok": true,
"inquiry_id": 12,
"selected_products_snapshot_count": 0,
"selected_products_saved_count": 0,
"selected_b2b_items_saved_count": 0
}
{
"primary_model": "gpt-4.1-mini",
"fallback_model": "gpt-4.1",
"used_model": "gpt-4.1-mini",
"attempt_label": "primary",
"is_fallback_attempt": false,
"fallback_reason": null,
"duration_ms": 21640,
"http_status": 200,
"request": {
"model": "gpt-4.1-mini",
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "You analyze vehicle photos for an inquiry-only auto parts workflow.\nReturn only JSON that matches the provided schema.\nDo not suggest product IDs, OEM numbers, prices, or compatibility claims.\nAlways provide realistic confidence 0..1 values.\nVehicle candidates must describe make/model/generation when visible.\nDetected parts should only include visible parts likely related to the damage.\nIf uncertain, lower confidence and add warnings/questions_for_user.\nBusiness rule: always treat result as needs user confirmation.\nDamage detail photos are included; detected_parts should not be empty when visible damage exists.\nUI language for warnings/questions: hr."
},
{
"type": "input_text",
"text": "Image role: front"
},
{
"type": "input_image",
"image_url": "[image data redacted, length=47]",
"detail": "auto"
},
{
"type": "input_text",
"text": "Image role: rear"
},
{
"type": "input_image",
"image_url": "[image data redacted, length=47]",
"detail": "auto"
},
{
"type": "input_text",
"text": "Image role: left"
},
{
"type": "input_image",
"image_url": "[image data redacted, length=47]",
"detail": "auto"
},
{
"type": "input_text",
"text": "Image role: right"
},
{
"type": "input_image",
"image_url": "[image data redacted, length=47]",
"detail": "auto"
},
{
"type": "input_text",
"text": "Image role: damage_detail"
},
{
"type": "input_image",
"image_url": "[image data redacted, length=47]",
"detail": "auto"
},
{
"type": "input_text",
"text": "Image role: damage_detail"
},
{
"type": "input_image",
"image_url": "[image data redacted, length=47]",
"detail": "auto"
},
{
"type": "input_text",
"text": "Image role: damage_detail"
},
{
"type": "input_image",
"image_url": "[image data redacted, length=47]",
"detail": "auto"
},
{
"type": "input_text",
"text": "Image role: damage_detail"
},
{
"type": "input_image",
"image_url": "[image data redacted, length=47]",
"detail": "auto"
}
]
}
],
"text": {
"format": {
"type": "json_schema",
"name": "ai_vehicle_analysis",
"strict": true,
"schema": {
"type": "object",
"additionalProperties": false,
"required": [
"vehicle",
"detected_parts",
"image_quality",
"warnings",
"questions_for_user",
"overall_confidence",
"needs_user_confirmation"
],
"properties": {
"vehicle": {
"type": "object",
"additionalProperties": false,
"required": [
"top_candidate",
"candidates",
"needs_user_confirmation"
],
"properties": {
"top_candidate": {
"type": "object",
"additionalProperties": false,
"required": [
"make",
"model",
"generation",
"year_from",
"year_to",
"body_type",
"confidence"
],
"properties": {
"make": {
"type": "string"
},
"model": {
"type": "string"
},
"generation": {
"type": "string"
},
"year_from": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"year_to": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"body_type": {
"type": "string"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"make",
"model",
"generation",
"year_from",
"year_to",
"body_type",
"confidence"
],
"properties": {
"make": {
"type": "string"
},
"model": {
"type": "string"
},
"generation": {
"type": "string"
},
"year_from": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"year_to": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"body_type": {
"type": "string"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"needs_user_confirmation": {
"type": "boolean"
}
}
},
"detected_parts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"raw_part_name",
"normalized_part_name",
"category_key",
"side",
"position",
"image_role",
"damage_type",
"damage_severity",
"confidence"
],
"properties": {
"raw_part_name": {
"type": "string"
},
"normalized_part_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"category_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"side": {
"type": "string",
"enum": [
"left",
"right",
"center",
"both",
"unknown",
"not_applicable"
]
},
"position": {
"type": "string",
"enum": [
"front",
"rear",
"side",
"upper",
"lower",
"interior",
"unknown"
]
},
"image_role": {
"type": "string",
"enum": [
"front",
"rear",
"left",
"right",
"extra",
"damage_detail",
"unknown"
]
},
"damage_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"damage_severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"image_quality": {
"type": "object",
"additionalProperties": false,
"required": [
"front",
"rear",
"left",
"right"
],
"properties": {
"front": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
},
"rear": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
},
"left": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
},
"right": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
}
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"questions_for_user": {
"type": "array",
"items": {
"type": "string"
}
},
"overall_confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"needs_user_confirmation": {
"type": "boolean"
}
}
}
}
}
}
}
{
"primary_model": "gpt-4.1-mini",
"fallback_model": "gpt-4.1",
"used_model": "gpt-4.1-mini",
"attempt_label": "primary",
"is_fallback_attempt": false,
"fallback_reason": null,
"duration_ms": 21640,
"http_status": 200,
"response": {
"id": "resp_0a23fe5eafd7db5e006a042f5c64288193935617a5478c0425",
"object": "response",
"created_at": 1778659164,
"status": "completed",
"background": false,
"billing": {
"payer": "developer"
},
"completed_at": 1778659184,
"error": null,
"frequency_penalty": 0,
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"max_tool_calls": null,
"model": "gpt-4.1-mini-2025-04-14",
"moderation": null,
"output": [
{
"id": "msg_0a23fe5eafd7db5e006a042f67e4d08193b771c98dd3b4312b",
"type": "message",
"status": "completed",
"content": [
{
"type": "output_text",
"annotations": [],
"logprobs": [],
"text": "{\"vehicle\":{\"top_candidate\":{\"make\":\"Audi\",\"model\":\"A7\",\"generation\":\"C8 (4K)\",\"year_from\":2018,\"year_to\":null,\"body_type\":\"4-door sedan\",\"confidence\":0.85},\"candidates\":[{\"make\":\"Audi\",\"model\":\"A7\",\"generation\":\"C8 (4K)\",\"year_from\":2018,\"year_to\":null,\"body_type\":\"4-door sedan\",\"confidence\":0.85},{\"make\":\"Audi\",\"model\":\"A8\",\"generation\":\"D5\",\"year_from\":2018,\"year_to\":null,\"body_type\":\"4-door sedan\",\"confidence\":0.3}],\"needs_user_confirmation\":true},\"detected_parts\":[{\"raw_part_name\":\"front left fender\",\"normalized_part_name\":\"fender\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"front\",\"image_role\":\"front\",\"damage_type\":\"deformation\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"left front door\",\"normalized_part_name\":\"door\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"side\",\"image_role\":\"left\",\"damage_type\":\"dent\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"left rear door\",\"normalized_part_name\":\"door\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"side\",\"image_role\":\"left\",\"damage_type\":\"dent\",\"damage_severity\":\"severe\",\"confidence\":0.85},{\"raw_part_name\":\"left rear quarter panel\",\"normalized_part_name\":\"quarter panel\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"rear\",\"image_role\":\"left\",\"damage_type\":\"dent\",\"damage_severity\":\"severe\",\"confidence\":0.85},{\"raw_part_name\":\"front bumper\",\"normalized_part_name\":\"bumper\",\"category_key\":\"body\",\"side\":\"center\",\"position\":\"front\",\"image_role\":\"front\",\"damage_type\":\"cracks and deformation\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"left front wheel/tire\",\"normalized_part_name\":\"wheel/tire\",\"category_key\":\"wheel_tire\",\"side\":\"left\",\"position\":\"front\",\"image_role\":\"front\",\"damage_type\":\"damage\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"front hood\",\"normalized_part_name\":\"hood\",\"category_key\":\"body\",\"side\":\"center\",\"position\":\"front\",\"image_role\":\"front\",\"damage_type\":\"deformation\",\"damage_severity\":\"severe\",\"confidence\":0.9},{\"raw_part_name\":\"left side skirt\",\"normalized_part_name\":\"side skirt\",\"category_key\":\"body\",\"side\":\"left\",\"position\":\"side\",\"image_role\":\"left\",\"damage_type\":\"scratches and dents\",\"damage_severity\":\"moderate\",\"confidence\":0.85}],\"image_quality\":{\"front\":\"good\",\"rear\":\"good\",\"left\":\"good\",\"right\":\"good\"},\"warnings\":[\"Postoji značajna oštećenja na lijevoj strani vozila, molimo potvrdite jesu li svi dijelovi ispravno identificirani.\"],\"questions_for_user\":[\"Je li vozilo pravilno identificirano kao Audi A7 C8 generacija (od 2018.)?\",\"Jesu li zabilježena sva oštećenja na lijevoj strani i prednjem dijelu vozila?\"],\"overall_confidence\":0.85,\"needs_user_confirmation\":true}"
}
],
"role": "assistant"
}
],
"parallel_tool_calls": true,
"presence_penalty": 0,
"previous_response_id": null,
"prompt_cache_key": null,
"prompt_cache_retention": "in_memory",
"reasoning": {
"effort": null,
"summary": null
},
"safety_identifier": null,
"service_tier": "default",
"store": true,
"temperature": 1,
"text": {
"format": {
"type": "json_schema",
"description": null,
"name": "ai_vehicle_analysis",
"schema": {
"type": "object",
"additionalProperties": false,
"required": [
"vehicle",
"detected_parts",
"image_quality",
"warnings",
"questions_for_user",
"overall_confidence",
"needs_user_confirmation"
],
"properties": {
"vehicle": {
"type": "object",
"additionalProperties": false,
"required": [
"top_candidate",
"candidates",
"needs_user_confirmation"
],
"properties": {
"top_candidate": {
"type": "object",
"additionalProperties": false,
"required": [
"make",
"model",
"generation",
"year_from",
"year_to",
"body_type",
"confidence"
],
"properties": {
"make": {
"type": "string"
},
"model": {
"type": "string"
},
"generation": {
"type": "string"
},
"year_from": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"year_to": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"body_type": {
"type": "string"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"make",
"model",
"generation",
"year_from",
"year_to",
"body_type",
"confidence"
],
"properties": {
"make": {
"type": "string"
},
"model": {
"type": "string"
},
"generation": {
"type": "string"
},
"year_from": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"year_to": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"body_type": {
"type": "string"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"needs_user_confirmation": {
"type": "boolean"
}
}
},
"detected_parts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"raw_part_name",
"normalized_part_name",
"category_key",
"side",
"position",
"image_role",
"damage_type",
"damage_severity",
"confidence"
],
"properties": {
"raw_part_name": {
"type": "string"
},
"normalized_part_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"category_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"side": {
"type": "string",
"enum": [
"left",
"right",
"center",
"both",
"unknown",
"not_applicable"
]
},
"position": {
"type": "string",
"enum": [
"front",
"rear",
"side",
"upper",
"lower",
"interior",
"unknown"
]
},
"image_role": {
"type": "string",
"enum": [
"front",
"rear",
"left",
"right",
"extra",
"damage_detail",
"unknown"
]
},
"damage_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"damage_severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"image_quality": {
"type": "object",
"additionalProperties": false,
"required": [
"front",
"rear",
"left",
"right"
],
"properties": {
"front": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
},
"rear": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
},
"left": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
},
"right": {
"type": "string",
"enum": [
"good",
"medium",
"poor",
"unknown"
]
}
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"questions_for_user": {
"type": "array",
"items": {
"type": "string"
}
},
"overall_confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"needs_user_confirmation": {
"type": "boolean"
}
}
},
"strict": true
},
"verbosity": "medium"
},
"tool_choice": "auto",
"tools": [],
"top_logprobs": 0,
"top_p": 1,
"truncation": "disabled",
"usage": {
"input_tokens": 19490,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 688,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 20178
},
"user": null,
"metadata": []
},
"ai_response": {
"vehicle": {
"top_candidate": {
"make": "Audi",
"model": "A7",
"generation": "C8 (4K)",
"year_from": 2018,
"year_to": null,
"body_type": "4-door sedan",
"confidence": 0.84999999999999997779553950749686919152736663818359375
},
"candidates": [
{
"make": "Audi",
"model": "A7",
"generation": "C8 (4K)",
"year_from": 2018,
"year_to": null,
"body_type": "4-door sedan",
"confidence": 0.84999999999999997779553950749686919152736663818359375
},
{
"make": "Audi",
"model": "A8",
"generation": "D5",
"year_from": 2018,
"year_to": null,
"body_type": "4-door sedan",
"confidence": 0.299999999999999988897769753748434595763683319091796875
}
],
"needs_user_confirmation": true
},
"detected_parts": [
{
"raw_part_name": "front left fender",
"normalized_part_name": "fender",
"category_key": "body",
"side": "left",
"position": "front",
"image_role": "front",
"damage_type": "deformation",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "left front door",
"normalized_part_name": "door",
"category_key": "body",
"side": "left",
"position": "side",
"image_role": "left",
"damage_type": "dent",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "left rear door",
"normalized_part_name": "door",
"category_key": "body",
"side": "left",
"position": "side",
"image_role": "left",
"damage_type": "dent",
"damage_severity": "severe",
"confidence": 0.84999999999999997779553950749686919152736663818359375
},
{
"raw_part_name": "left rear quarter panel",
"normalized_part_name": "quarter panel",
"category_key": "body",
"side": "left",
"position": "rear",
"image_role": "left",
"damage_type": "dent",
"damage_severity": "severe",
"confidence": 0.84999999999999997779553950749686919152736663818359375
},
{
"raw_part_name": "front bumper",
"normalized_part_name": "bumper",
"category_key": "body",
"side": "center",
"position": "front",
"image_role": "front",
"damage_type": "cracks and deformation",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "left front wheel/tire",
"normalized_part_name": "wheel/tire",
"category_key": "wheel_tire",
"side": "left",
"position": "front",
"image_role": "front",
"damage_type": "damage",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "front hood",
"normalized_part_name": "hood",
"category_key": "body",
"side": "center",
"position": "front",
"image_role": "front",
"damage_type": "deformation",
"damage_severity": "severe",
"confidence": 0.90000000000000002220446049250313080847263336181640625
},
{
"raw_part_name": "left side skirt",
"normalized_part_name": "side skirt",
"category_key": "body",
"side": "left",
"position": "side",
"image_role": "left",
"damage_type": "scratches and dents",
"damage_severity": "moderate",
"confidence": 0.84999999999999997779553950749686919152736663818359375
}
],
"image_quality": {
"front": "good",
"rear": "good",
"left": "good",
"right": "good"
},
"warnings": [
"Postoji značajna oštećenja na lijevoj strani vozila, molimo potvrdite jesu li svi dijelovi ispravno identificirani."
],
"questions_for_user": [
"Je li vozilo pravilno identificirano kao Audi A7 C8 generacija (od 2018.)?",
"Jesu li zabilježena sva oštećenja na lijevoj strani i prednjem dijelu vozila?"
],
"overall_confidence": 0.84999999999999997779553950749686919152736663818359375,
"needs_user_confirmation": true
},
"parse_error": null
}
{
"session_id": "anon_d1b51d57c1327922404792ea",
"language_code": "hr",
"client_ip": "86.33.71.113",
"uploaded_image_roles": [
"front",
"rear",
"left",
"right",
"damage_detail",
"damage_detail",
"damage_detail",
"damage_detail"
],
"missing_image_roles": [],
"uploaded_count": 8,
"max_total_images": 10
}