api: Bildupload v1 unter Formular v2 (Pflichtfelder, Kennung des Wortlauts, Bestätigung mit Token), Legacy-Bildupload abgeschaltet, API-Doku (Bildkennzeichnung Block C)
- StorePressReleaseImageRequest: copyright, rights_confirmed, confirm_text_version Pflicht; 422 mit aktueller Kennung; 16 MiB
- PressReleaseImageController über den gemeinsamen Uploader, Löschen über den Remover; Resource mit Portalkennzeichnung, Kundenangabe, Herkunft, Bestätigung und warnings[]
- POST /service/pressreleases/{id}/images antwortet 410 mit Hinweis auf v1 (E-B4)
- API-Seite und Sprachdateien: Felder und Rechtehinweis mit aktiver Textkennung; Paritätsdokument ergänzt
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
40953d6c65
commit
65ac72ce05
9 changed files with 411 additions and 30 deletions
|
|
@ -666,10 +666,17 @@ return [
|
|||
'field_keywords' => 'Schlagworte, kommagetrennt, max. 255 Zeichen.',
|
||||
'field_teaser' => 'Zeichen-Offsets für den Teaser-Ausschnitt.',
|
||||
'field_no_export' => 'Mitteilung von Feeds/Exporten ausnehmen.',
|
||||
'field_image' => 'JPG, PNG oder WebP, max. 8 MB.',
|
||||
'field_image' => 'JPG, PNG oder WebP, max. :mb MB, höchstens 8.000 Pixel je Seite. Ein Titelbild je Mitteilung.',
|
||||
'field_image_ai_declaration' => 'KI-Kennzeichnung des Bildes: original (ohne generative KI), ai_generated, ai_edited. Enthält die Datei geprüfte Herkunftsdaten, gilt deren Kennzeichnung; eine Abschwächung ist nicht möglich.',
|
||||
'field_image_title' => 'Bildtitel, max. 120 Zeichen.',
|
||||
'field_image_description' => 'Beschreibung, max. 500 Zeichen.',
|
||||
'field_image_copyright' => 'Urheberangabe, max. 255 Zeichen.',
|
||||
'field_image_description' => 'Bildunterschrift, max. 500 Zeichen.',
|
||||
'field_image_copyright' => 'Bildnachweis, wie er unter dem Bild erscheint („Foto: …“), max. 255 Zeichen.',
|
||||
'field_image_rights_confirmed' => 'Muss true sein: Bestätigung, dass Sie zur Veröffentlichung berechtigt sind und die Angaben zutreffen (Wortlaut siehe Hinweis unten).',
|
||||
'field_image_confirm_text_version' => 'Kennung des bestätigten Wortlauts, derzeit :version. Eine veraltete Kennung wird mit 422 und der aktuellen Kennung beantwortet.',
|
||||
'field_image_license_url' => 'Link zur Lizenz, wenn eine Lizenz die Nutzung regelt (z. B. Creative Commons, Agentur).',
|
||||
'field_image_source_url' => 'Link zur Fundstelle oder Ursprungsseite — keine Lizenz.',
|
||||
'field_image_focus' => 'Fokuspunkt für den Zuschnitt in Prozent (0–100), Standard Bildmitte.',
|
||||
'field_image_no_crop' => 'true: nicht beschneiden, ganzes Bild mit neutralem Rand.',
|
||||
'field_image_is_preview' => 'Als Vorschaubild setzen (ersetzt ein vorhandenes).',
|
||||
|
||||
'quickstart_heading' => 'Schneller Einstieg',
|
||||
|
|
@ -678,6 +685,7 @@ return [
|
|||
'quickstart_step_2' => '# 2. Bild hochladen (multipart)',
|
||||
'quickstart_step_3' => '# 3. Zur Inhaltsprüfung einreichen',
|
||||
'ai_declaration_note' => 'Pflicht seit Juli 2026: Der Submit-Aufruf erklärt verbindlich den KI-Grad des Textes (ai_text_declaration: none, assisted, mostly_ai, fully_ai — Transparenzpflicht nach Art. 50 KI-VO) und schließt die Kenntnisnahme der dauerhaften Archivierung ein (AGB § 13). Jedes Bild trägt seine eigene Kennzeichnung (ai_declaration: original, ai_generated, ai_edited).',
|
||||
'image_rights_note' => 'Bilder sind optional. Wird ein Bild übermittelt, sind copyright, ai_declaration, rights_confirmed und confirm_text_version Pflicht. Das Portal liest Herkunftsdaten der Datei (IPTC, XMP; später Content Credentials) aus und speichert die Originaldatei zur Beweissicherung. Mit rights_confirmed bestätigen Sie für jedes Bild die Rechteerklärung in der Fassung :version; ihr Wortlaut ist Bestandteil der API-Nutzungsbedingungen. Bilder ohne die Pflichtfelder werden mit 422 abgelehnt, die Mitteilung bleibt unverändert.',
|
||||
'openapi_note' => 'Maschinenlesbare Referenz:',
|
||||
'openapi_link' => 'OpenAPI-Spezifikation (YAML)',
|
||||
|
||||
|
|
|
|||
|
|
@ -664,10 +664,17 @@ return [
|
|||
'field_keywords' => 'Keywords, comma-separated, max. 255 characters.',
|
||||
'field_teaser' => 'Character offsets for the teaser excerpt.',
|
||||
'field_no_export' => 'Exclude the release from feeds/exports.',
|
||||
'field_image' => 'JPG, PNG or WebP, max. 8 MB.',
|
||||
'field_image' => 'JPG, PNG or WebP, max. :mb MB, at most 8,000 pixels per side. One title image per release.',
|
||||
'field_image_ai_declaration' => 'AI label of the image: original (no generative AI), ai_generated, ai_edited. If the file carries verified provenance data, that label applies and cannot be weakened.',
|
||||
'field_image_title' => 'Image title, max. 120 characters.',
|
||||
'field_image_description' => 'Description, max. 500 characters.',
|
||||
'field_image_copyright' => 'Copyright attribution, max. 255 characters.',
|
||||
'field_image_copyright' => 'Image credit as shown below the image (“Photo: …”), max. 255 characters.',
|
||||
'field_image_rights_confirmed' => 'Must be true: confirmation that you are entitled to publish the image and that your details are correct (wording see note below).',
|
||||
'field_image_confirm_text_version' => 'Identifier of the confirmed wording, currently :version. An outdated identifier is answered with 422 and the current one.',
|
||||
'field_image_license_url' => 'Link to the licence if a licence governs the use (e.g. Creative Commons, agency).',
|
||||
'field_image_source_url' => 'Link to the source page — not a licence.',
|
||||
'field_image_focus' => 'Focus point for cropping in percent (0–100), default centre.',
|
||||
'field_image_no_crop' => 'true: do not crop, full image with neutral padding.',
|
||||
'field_image_is_preview' => 'Set as preview image (replaces an existing one).',
|
||||
|
||||
'quickstart_heading' => 'Quick start',
|
||||
|
|
@ -676,6 +683,7 @@ return [
|
|||
'quickstart_step_2' => '# 2. Upload an image (multipart)',
|
||||
'quickstart_step_3' => '# 3. Submit for content review',
|
||||
'ai_declaration_note' => 'Required since July 2026: the submit call bindingly declares the AI grade of the text (ai_text_declaration: none, assisted, mostly_ai, fully_ai — transparency obligation under Art. 50 EU AI Act) and includes acknowledgement of permanent archiving (Terms § 13). Each image carries its own label (ai_declaration: original, ai_generated, ai_edited).',
|
||||
'image_rights_note' => 'Images are optional. If an image is submitted, copyright, ai_declaration, rights_confirmed and confirm_text_version are required. The portal reads provenance data from the file (IPTC, XMP; later Content Credentials) and keeps the original file as evidence. With rights_confirmed you confirm the rights declaration in version :version for each image; its wording is part of the API terms of use. Images without the required fields are rejected with 422; the release itself is unaffected.',
|
||||
'openapi_note' => 'Machine-readable reference:',
|
||||
'openapi_link' => 'OpenAPI specification (YAML)',
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue