Skip to content

🎨 Adobe Express API

Portal: developer.adobe.com/express Auth: OAuth 2.0 / API Key Status: 🟡 Adobe Developer Account erforderlich


Übersicht

Adobe Express API ermöglicht: - Templates für Fahrzeug-Exposés erstellen - Automatische Bildbearbeitung - Social Media Content generieren - Brand Kits verwalten (MORELO Corporate Design)


Use Cases für MORELO

Use Case Beschreibung
Fahrzeug-Exposé Automatische Exposé-Erstellung für Neufahrzeuge
Social Media Instagram/Facebook Posts für Fahrzeugmodelle
Bildoptimierung Fahrzeugfotos professionell verbessern
Watermarks MORELO-Logo auf Bilder
Konfigurator-Output Konfiguration als PDF-Angebot

Endpunkte

Templates

Methode Endpunkt Beschreibung Cache TTL
GET /api/adobe/templates Alle Templates 1h
GET /api/adobe/templates/:id Template Details 1h
POST /api/adobe/templates/:id/render Template rendern -

Images

Methode Endpunkt Beschreibung Cache TTL
POST /api/adobe/images/remove-background Hintergrund entfernen -
POST /api/adobe/images/enhance Bild verbessern -
POST /api/adobe/images/resize Größe anpassen -
POST /api/adobe/images/watermark Wasserzeichen hinzufügen -

Quick Actions

Methode Endpunkt Beschreibung Cache TTL
POST /api/adobe/actions/crop Bild zuschneiden -
POST /api/adobe/actions/convert Format konvertieren -
POST /api/adobe/actions/compress Komprimieren -

Export

Methode Endpunkt Beschreibung Cache TTL
POST /api/adobe/export/pdf Als PDF exportieren -
POST /api/adobe/export/image Als Bild exportieren -

Request-Beispiel

// Fahrzeug-Exposé aus Template generieren
const response = await fetch('/api/adobe/templates/morelo-expose-a4/render', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${token}`
  },
  body: JSON.stringify({
    variables: {
      vehicle_model: 'MORELO Palace 90G',
      vehicle_price: '€ 389.500',
      vehicle_length: '8,99 m',
      vehicle_layout: '4 Schlafplätze',
      vehicle_features: 'Vollausstattung, Garage, Solar',
      main_image: 'https://cdn.morelo.de/palace90g-hero.jpg',
      gallery: [
        'https://cdn.morelo.de/palace90g-interior1.jpg',
        'https://cdn.morelo.de/palace90g-interior2.jpg',
        'https://cdn.morelo.de/palace90g-garage.jpg'
      ],
      dealer_name: 'MORELO Werk Schlüsselfeld',
      dealer_phone: '+49 9552 9220-0',
      company_logo: 'https://cdn.morelo.de/logo.png'
    },
    output: {
      format: 'pdf',
      quality: 'print', // 300dpi
      colorMode: 'cmyk'
    }
  })
});
      property_rooms: '6 Zimmer',
      property_location: 'Starnberg',
      main_image: 'https://example.com/villa.jpg',
      gallery: [
        'https://example.com/img1.jpg',
        'https://example.com/img2.jpg'
      ],
      agent_name: 'Max Mustermann',
      agent_phone: '+49 89 12345678',
      company_logo: 'https://example.com/logo.png'
    },
    output: {
      format: 'pdf',
      quality: 'print', // 300dpi
      colorMode: 'cmyk'
    }
  })
});

// Response
{
  "jobId": "job-12345",
  "status": "PROCESSING",
  "estimatedTime": 30,
  "resultUrl": null
}

// Poll for result
// GET /api/adobe/jobs/job-12345
{
  "jobId": "job-12345",
  "status": "COMPLETED",
  "resultUrl": "https://cdn.adobe.com/result/expose.pdf",
  "expiresAt": "2024-12-31T12:00:00Z"
}

TypeScript Types

interface AdobeTemplate {
  id: string;
  name: string;
  category: 'expose' | 'flyer' | 'social' | 'banner';
  dimensions: { width: number; height: number; unit: 'px' | 'mm' };
  variables: AdobeTemplateVariable[];
  thumbnail: string;
}

interface AdobeTemplateVariable {
  name: string;
  type: 'text' | 'image' | 'color' | 'number';
  required: boolean;
  default?: string;
  constraints?: {
    maxLength?: number;
    minWidth?: number;
    minHeight?: number;
  };
}

interface AdobeRenderJob {
  jobId: string;
  status: 'PENDING' | 'PROCESSING' | 'COMPLETED' | 'FAILED';
  progress?: number;
  resultUrl?: string;
  error?: string;
  createdAt: string;
  completedAt?: string;
}

interface AdobeImageAction {
  action: 'remove-background' | 'enhance' | 'resize' | 'watermark' | 'crop';
  inputUrl: string;
  options?: Record<string, unknown>;
}

Rate Limits

Plan Renders/Monat Actions/Tag
Free 25 100
Pro 500 2000
Enterprise Unlimited Unlimited

Adobe Developer Account erforderlich: developer.adobe.com