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
3d3ddc2dc8
commit
24184f1dec
9 changed files with 411 additions and 30 deletions
|
|
@ -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