Medien

Medien

Die Media API ermöglicht das Hochladen, Verwalten und Organisieren von Bildern, Videos und Dokumenten.

Endpunkte

MethodeEndpunktBeschreibung
GET/api/v1/mediaAlle Medien auflisten
POST/api/v1/mediaNeue Datei hochladen
GET/api/v1/media/{id}Einzelnes Medium abrufen
PUT/api/v1/media/{id}Medium-Metadaten aktualisieren
DELETE/api/v1/media/{id}Medium löschen
GET/api/v1/media/{id}/statusUpload-Status prüfen
DELETE/api/v1/media/batchMehrere Medien löschen

Das Media-Objekt

{ "id": "med_abc123", "organizationId": "org_xyz789", "projectId": "proj_def456", "filename": "hero-image.jpg", "originalFilename": "IMG_20260122_143022.jpg", "mimeType": "image/jpeg", "size": 245760, "width": 1920, "height": 1080, "url": "https://cdn.codefluss.com/media/org_xyz789/hero-image.jpg", "thumbnailUrl": "https://cdn.codefluss.com/media/org_xyz789/hero-image_thumb.jpg", "alt": "Modernes Bürogebäude bei Sonnenuntergang", "caption": "Unser Hauptsitz in Frankfurt", "folder": "bilder/hero", "tags": ["hero", "büro", "header"], "status": "ready", "createdAt": "2026-01-22T14:30:00Z", "updatedAt": "2026-01-22T14:30:00Z" }

Attribute

AttributTypBeschreibung
idstringEindeutige Media-ID
organizationIdstringZugehörige Organisation
projectIdstringOptionales Projekt
filenamestringGespeicherter Dateiname
originalFilenamestringUrsprünglicher Dateiname
mimeTypestringMIME-Typ der Datei
sizeintegerDateigröße in Bytes
widthintegerBreite (bei Bildern/Videos)
heightintegerHöhe (bei Bildern/Videos)
urlstringÖffentliche URL
thumbnailUrlstringThumbnail-URL (bei Bildern)
altstringAlt-Text für Barrierefreiheit
captionstringBildunterschrift
folderstringOrdnerpfad
tagsarrayTags für Suche/Filter
statusstringuploading, processing, ready, error
createdAtstringErstellungszeitpunkt
updatedAtstringLetzte Aktualisierung

Unterstützte Formate

Bilder

FormatMIME-TypeMax. Größe
JPEGimage/jpeg10 MB
PNGimage/png10 MB
GIFimage/gif5 MB
WebPimage/webp10 MB
SVGimage/svg+xml2 MB
AVIFimage/avif10 MB

Videos

FormatMIME-TypeMax. Größe
MP4video/mp4100 MB
WebMvideo/webm100 MB

Dokumente

FormatMIME-TypeMax. Größe
PDFapplication/pdf20 MB

Medien auflisten

GET /api/v1/media

Query-Parameter

ParameterTypDefaultBeschreibung
organizationIdstringPflichtOrganisations-ID
projectIdstringFilter nach Projekt
folderstringFilter nach Ordner
mimeTypestringFilter nach MIME-Typ (Präfix)
tagsstringKomma-separierte Tags
searchstringSuche in Dateiname/Alt/Caption
pageinteger1Seitennummer
pageSizeinteger20Einträge pro Seite
sortBystringcreatedAtcreatedAt, filename, size
sortOrderstringdescasc, desc

Beispiel-Request

curl -X GET "https://api.codefluss.com/v1/media?organizationId=org_xyz789&mimeType=image&pageSize=10" \ -H "Authorization: Bearer cf_live_abc123..."

Beispiel-Response

{ "success": true, "data": [ { "id": "med_abc123", "filename": "hero-image.jpg", "mimeType": "image/jpeg", "size": 245760, "url": "https://cdn.codefluss.com/media/org_xyz789/hero-image.jpg", "thumbnailUrl": "https://cdn.codefluss.com/media/org_xyz789/hero-image_thumb.jpg", "status": "ready" } ], "pagination": { "currentPage": 1, "pageSize": 10, "totalItems": 1, "totalPages": 1 } }

Datei hochladen

POST /api/v1/media Content-Type: multipart/form-data

Request

curl -X POST "https://api.codefluss.com/v1/media" \ -H "Authorization: Bearer cf_live_abc123..." \ -F "file=@/path/to/image.jpg" \ -F "organizationId=org_xyz789" \ -F "projectId=proj_def456" \ -F "folder=bilder/hero" \ -F "alt=Beschreibung des Bildes" \ -F "tags=hero,header"

Form-Felder

FeldTypPflichtBeschreibung
filefileJaDie hochzuladende Datei
organizationIdstringJaZiel-Organisation
projectIdstringNeinOptionales Projekt
folderstringNeinZielordner
altstringNeinAlt-Text
captionstringNeinBildunterschrift
tagsstringNeinKomma-separierte Tags

Response

{ "success": true, "data": { "id": "med_ghi789", "filename": "image.jpg", "url": "https://cdn.codefluss.com/media/org_xyz789/image.jpg", "status": "processing" } }

Upload-Status prüfen

Bei großen Dateien ist der Upload asynchron. Prüfen Sie den Status:

GET /api/v1/media/{id}/status

Response

{ "success": true, "data": { "id": "med_ghi789", "status": "ready", "progress": 100, "url": "https://cdn.codefluss.com/media/org_xyz789/image.jpg", "thumbnailUrl": "https://cdn.codefluss.com/media/org_xyz789/image_thumb.jpg" } }

Status-Werte

StatusBeschreibung
uploadingDatei wird hochgeladen
processingThumbnail/Optimierung wird erstellt
readyBereit zur Verwendung
errorFehler bei der Verarbeitung

Medium aktualisieren

PUT /api/v1/media/{id}

Request-Body

{ "alt": "Aktualisierter Alt-Text", "caption": "Neue Bildunterschrift", "folder": "bilder/archiv", "tags": ["archiv", "2026"] }

Medium löschen

DELETE /api/v1/media/{id}

Response

{ "success": true, "data": { "deleted": true, "id": "med_abc123" } }

Batch-Löschung

DELETE /api/v1/media/batch

Request-Body

{ "ids": ["med_abc123", "med_def456", "med_ghi789"] }

Response

{ "success": true, "data": { "deleted": 3, "failed": 0, "results": [ { "id": "med_abc123", "deleted": true }, { "id": "med_def456", "deleted": true }, { "id": "med_ghi789", "deleted": true } ] } }

Bildoptimierung

Hochgeladene Bilder werden automatisch optimiert:

  • Thumbnail: 200x200px (Crop)
  • Medium: 800px Breite
  • Large: 1600px Breite
  • Original: Unverändert

Optimierte URLs

Original: https://cdn.codefluss.com/media/.../image.jpg Thumbnail: https://cdn.codefluss.com/media/.../image_thumb.jpg Medium: https://cdn.codefluss.com/media/.../image_medium.jpg Large: https://cdn.codefluss.com/media/.../image_large.jpg

Speicherlimits

PlanSpeicherMax. Dateien
Free100 MB100
Starter5 GB1.000
Professional50 GB10.000
EnterpriseUnbegrenztUnbegrenzt

Fehler

CodeBeschreibung
400Ungültiges Dateiformat oder zu große Datei
401Nicht authentifiziert
402Speicherlimit erreicht
403Keine Berechtigung
404Medium nicht gefunden

Nächste Schritte

  • Sections – Medien in Sections verwenden
  • Blog – Medien in Blog-Einträgen