> ## Documentation Index
> Fetch the complete documentation index at: https://docs.steerai.autos/llms.txt
> Use this file to discover all available pages before exploring further.

# API für visuelle Inspektion

> KI-gestützte visuelle Schadenserkennung und Zustandsbewertung

## POST /v1/inspections/visual

Übermitteln Sie Fahrzeugbilder für eine umfassende visuelle Inspektion mit fortschrittlicher Computer-Vision-KI. Erkennt Kratzer, Dellen, Lackschäden, Glasschäden und mehr mit 94% Genauigkeit.

### Anfrage

```bash theme={null}
curl -X POST "https://api.steerai.autos/v1/inspections/visual" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "vehicle_id": "veh_1234567890abcdef",
    "images": [
      {
        "url": "https://storage.example.com/front.jpg",
        "angle": "front",
        "type": "exterior"
      },
      {
        "url": "https://storage.example.com/rear.jpg",
        "angle": "rear",
        "type": "exterior"
      },
      {
        "url": "https://storage.example.com/left-side.jpg",
        "angle": "left_side",
        "type": "exterior"
      },
      {
        "url": "https://storage.example.com/right-side.jpg",
        "angle": "right_side",
        "type": "exterior"
      }
    ],
    "options": {
      "detailed_analysis": true,
      "generate_report": true,
      "detect_hidden_damage": false
    }
  }'
```

### Anfrage-Body

| Feld                           | Typ     | Erforderlich | Beschreibung                                                                                                                                                           |
| ------------------------------ | ------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `vehicle_id`                   | string  | Ja           | Fahrzeugkennung                                                                                                                                                        |
| `images`                       | array   | Ja           | Array von Bildobjekten (min. 4, max. 50)                                                                                                                               |
| `images[].url`                 | string  | Ja           | Öffentliche URL zum Bild                                                                                                                                               |
| `images[].angle`               | string  | Ja           | `front`, `rear`, `left_side`, `right_side`, `front_left`, `front_right`, `rear_left`, `rear_right`, `top`, `interior`, `dashboard`, `engine`, `trunk`, `undercarriage` |
| `images[].type`                | string  | Ja           | `exterior`, `interior`, `mechanical`                                                                                                                                   |
| `options.detailed_analysis`    | boolean | Nein         | Detaillierte Schadensmessungen einschließen (Standard: false)                                                                                                          |
| `options.generate_report`      | boolean | Nein         | PDF-Bericht generieren (Standard: true)                                                                                                                                |
| `options.detect_hidden_damage` | boolean | Nein         | Erweiterte Analyse für verdeckte Schäden (Standard: false)                                                                                                             |

### Antwort

```json theme={null}
{
  "status": "success",
  "data": {
    "inspection_id": "vis_1234567890abcdef",
    "vehicle_id": "veh_1234567890abcdef",
    "status": "completed",
    "created_at": "2024-01-15T10:30:00Z",
    "completed_at": "2024-01-15T10:30:45Z",
    "processing_time": 45.2,
    "results": {
      "overall_condition": "fair",
      "condition_score": 7.2,
      "confidence": 0.94,
      "damages": [
        {
          "damage_id": "dmg_front_bumper_001",
          "type": "scratch",
          "severity": "minor",
          "location": {
            "part": "front_bumper",
            "side": "front",
            "coordinates": {
              "x": 245,
              "y": 180,
              "width": 85,
              "height": 12
            }
          },
          "measurements": {
            "length": 8.5,
            "width": 1.2,
            "depth": 0.3,
            "unit": "cm"
          },
          "confidence": 0.96,
          "image_url": "https://storage.example.com/front.jpg",
          "annotated_url": "https://results.steerai.autos/dmg_front_bumper_001_annotated.jpg",
          "estimated_repair": {
            "min": 150,
            "max": 300,
            "currency": "USD",
            "repair_type": "paint_touch_up"
          }
        },
        {
          "damage_id": "dmg_rear_door_left_002",
          "type": "dent",
          "severity": "moderate",
          "location": {
            "part": "rear_door_left",
            "side": "left",
            "coordinates": {
              "x": 320,
              "y": 240,
              "width": 120,
              "height": 95
            }
          },
          "measurements": {
            "diameter": 11.5,
            "depth": 2.8,
            "unit": "cm"
          },
          "confidence": 0.89,
          "image_url": "https://storage.example.com/left-side.jpg",
          "annotated_url": "https://results.steerai.autos/dmg_rear_door_left_002_annotated.jpg",
          "estimated_repair": {
            "min": 500,
            "max": 850,
            "currency": "USD",
            "repair_type": "pdr_and_paint"
          }
        }
      ],
      "damage_summary": {
        "total_damages": 2,
        "by_severity": {
          "minor": 1,
          "moderate": 1,
          "severe": 0,
          "critical": 0
        },
        "by_type": {
          "scratch": 1,
          "dent": 1,
          "rust": 0,
          "crack": 0,
          "paint_damage": 0
        },
        "total_estimated_repair": {
          "min": 650,
          "max": 1150,
          "currency": "USD"
        }
      },
      "parts_affected": [
        {
          "part": "front_bumper",
          "condition": "good",
          "damage_count": 1
        },
        {
          "part": "rear_door_left",
          "condition": "fair",
          "damage_count": 1
        }
      ]
    },
    "reports": {
      "pdf_url": "https://reports.steerai.autos/vis_1234567890abcdef.pdf",
      "json_url": "https://api.steerai.autos/v1/inspections/visual/vis_1234567890abcdef/report"
    }
  },
  "meta": {
    "request_id": "req_visual_abc123",
    "processing_time": 45.234,
    "images_processed": 4,
    "ai_model_version": "v3.2.1"
  }
}
```

### Antwortfelder

| Feld                        | Typ    | Beschreibung                                                                       |
| --------------------------- | ------ | ---------------------------------------------------------------------------------- |
| `inspection_id`             | string | Eindeutige Kennung der visuellen Inspektion                                        |
| `status`                    | string | `processing`, `completed`, `failed`                                                |
| `results.overall_condition` | string | `excellent`, `good`, `fair`, `poor`, `critical`                                    |
| `results.condition_score`   | float  | Score von 0–10 (10 = perfekter Zustand)                                            |
| `results.confidence`        | float  | KI-Vertrauensscore (0–1)                                                           |
| `damages[].type`            | string | `scratch`, `dent`, `rust`, `crack`, `paint_damage`, `glass_damage`, `panel_damage` |
| `damages[].severity`        | string | `minor`, `moderate`, `severe`, `critical`                                          |
| `damages[].measurements`    | object | Physische Abmessungen des Schadens                                                 |
| `damages[].annotated_url`   | string | Bild mit markiertem Schaden                                                        |

### Schadenstypen

<AccordionGroup>
  <Accordion icon="brush" title="Lack- und Oberflächenschäden">
    • **Kratzer:** Oberflächlicher Lackschaden
    • **Lackschaden:** Abgeplatzter, abblätternder oder ausgeblichener Lack
    • **Rost:** Korrosion auf Metalloberflächen
    • **Oxidation:** Oberflächenoxidation und Verwitterung
  </Accordion>

  <Accordion icon="car-burst" title="Strukturelle Schäden">
    • **Delle:** Aufprallschaden mit Delle
    • **Karosserieschaden:** Verbogene oder falsch ausgerichtete Karosserieteile
    • **Riss:** Risse in Karosserieteilen
    • **Rahmenschaden:** Strukturelle Rahmenschäden
  </Accordion>

  <Accordion icon="window-restore" title="Glas & Zierleisten">
    • **Glasschaden:** Risse oder Absplitterungen in Scheiben
    • **Scheinwerferschaden:** Trübe, rissige oder beschädigte Scheinwerfer
    • **Zierleistenschaden:** Fehlende oder beschädigte Zierleisten
    • **Spiegelschaden:** Beschädigte oder gebrochene Spiegel
  </Accordion>
</AccordionGroup>

### Fehlerantworten

#### 400 Bad Request

```json theme={null}
{
  "status": "error",
  "error": {
    "code": "INSUFFICIENT_IMAGES",
    "message": "Minimum 4 images required for visual inspection",
    "type": "validation_error",
    "field": "images"
  }
}
```

#### 422 Unprocessable Entity

```json theme={null}
{
  "status": "error",
  "error": {
    "code": "IMAGE_QUALITY_TOO_LOW",
    "message": "Image quality insufficient for analysis. Please provide higher resolution images (min 1280x720)",
    "type": "validation_error",
    "field": "images[2].url",
    "details": {
      "image_index": 2,
      "current_resolution": "640x480",
      "minimum_resolution": "1280x720"
    }
  }
}
```

### Bildanforderungen

<Warning>
  **Standards für Bildqualität**

  * **Minimale Auflösung:** 1280x720 Pixel
  * **Empfohlene Auflösung:** 1920x1080 Pixel oder höher
  * **Dateiformat:** JPG, PNG, HEIC
  * **Maximale Dateigröße:** 10MB pro Bild
  * **Beleuchtung:** Gutes natürliches oder künstliches Licht
  * **Fokus:** Scharfe, klare Bilder ohne Bewegungsunschärfe
</Warning>

### Bewährte Praktiken

<CardGroup cols={2}>
  <Card title="Bildaufnahme" icon="camera">
    **Optimale Foto-Richtlinien**

    • Erforderliche Blickwinkel vollständig erfassen
    • Gute Beleuchtung nutzen (Schatten vermeiden)
    • Kamera 2–3 Meter vom Fahrzeug entfernt halten
    • Sicherstellen, dass das gesamte Panel im Bild ist
    • Reflexionen und Blendung vermeiden
  </Card>

  <Card title="Schadenserkennung" icon="magnifying-glass">
    **Genauigkeit maximieren**

    • Fahrzeug vor dem Fotografieren reinigen
    • Nahaufnahmen von Schäden machen
    • Mehrere Blickwinkel je Schaden aufnehmen
    • Referenzobjekte für Maßstab beilegen
    • Konsistente Beleuchtung über alle Bilder
  </Card>
</CardGroup>

### Webhooks

Konfigurieren Sie Webhooks, um Echtzeit-Updates nach Abschluss der Inspektion zu erhalten:

```json theme={null}
{
  "event": "visual_inspection.completed",
  "timestamp": "2024-01-15T10:30:45Z",
  "data": {
    "inspection_id": "vis_1234567890abcdef",
    "vehicle_id": "veh_1234567890abcdef",
    "status": "completed",
    "damages_detected": 2,
    "overall_condition": "fair",
    "condition_score": 7.2,
    "report_url": "https://reports.steerai.autos/vis_1234567890abcdef.pdf"
  }
}
```

### Beispiel: Ergebnisse der visuellen Inspektion abrufen

```bash theme={null}
curl -X GET "https://api.steerai.autos/v1/inspections/visual/vis_1234567890abcdef" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Beispiel: Fahrzeuginspektionen auflisten

```bash theme={null}
curl -X GET "https://api.steerai.autos/v1/inspections/visual?vehicle_id=veh_1234567890abcdef&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Abfrageparameter:

* `vehicle_id` (string): Nach Fahrzeug filtern
* `status` (string): Nach Status filtern (`processing`, `completed`, `failed`)
* `created_after` (string): ISO-8601-Datumsfilter
* `created_before` (string): ISO-8601-Datumsfilter
* `limit` (integer): Ergebnisse pro Seite (Standard: 20, max: 100)
* `offset` (integer): Paginierungs-Offset

<Tip>
  **Performance-Tipp:** Für schnellere Verarbeitung Bilder vor dem Upload auf die empfohlene Auflösung (1920x1080) skalieren. Größere Bilder erhöhen die Genauigkeit nicht und verlängern die Verarbeitung.
</Tip>
