| 开发者 | geralddrissner |
|---|---|
| 更新时间 | 2026年8月19日 01:05 |
| 捐献地址: | 去捐款 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
digitalSourceType declarations using standardized IPTC source categories, emitted as ImageObject or VideoObject as appropriate.gdaiidl_featured_selectors and gdaiidl_post_types filters.Not by default. Existing posts, pages, images and videos remain unchanged unless an editor explicitly enables a disclosure. If you deliberately enable the optional Media Library auto-label setting, positively AI-classified attachments can then receive their matching visible disclosure automatically.
The plugin supports visible disclosure and can optionally add a publisher-supplied Schema.org digitalSourceType declaration to the page source. This does not create verified provenance or C2PA Content Credentials and does not replace provider-supplied machine-readable marking. Legal compliance depends on your specific situation; please consult qualified legal counsel.
When enabled, the plugin outputs a Schema.org ImageObject or VideoObject declaration in the page source for each marked image or video. It is not visually displayed. The digitalSourceType value uses standardized source categories for content created using generative AI, edited using generative AI, or algorithmically enhanced. The declaration is supplied by the publisher and is not cryptographically verified.
No. It does not modify the media file, create or verify Content Credentials, or prove origin or authenticity. Existing provider-supplied credentials are not replaced.
The publisher-facing Media Library status is deliberately simpler: AI-generated or AI-modified. Internally, however, older or explicitly set technical provenance can still distinguish generative editing (for example generative fill, inpainting or outpainting) from algorithmic enhancement (for example AI upscaling, denoising or sharpening). Those operations map to different standardized Digital Source Type categories. The plugin keeps that precision when it actually knows it instead of guessing a narrower provenance type from the generic AI-modified label.
Open an image or video in the Media Library (Attachment details or the Edit media screen) and choose its "AI status". You can classify it as AI-generated, AI-modified, no AI used, or leave it unclassified. The status travels with the attachment, so it is convenient for featured images and media reused across posts. The list view also provides an AI status column, filter and bulk actions. Existing 2.3.x AI-edited/AI-enhanced values appear as AI-modified in the simplified publisher interface, while their more precise technical provenance remains stored unless you deliberately replace it.
The editor always wins for that specific use. A per-Image-block, per-Video-block or featured-image source type set in the editor overrides the Media Library mark for that use, and custom disclosure text set in the editor is always kept. The Media Library mark is used only when that specific use does not set its own source type.
Yes. Settings > AI Image & Video Labels provides separate default public texts for AI-generated and AI-modified media. The AI-modified wording is also the default visible wording for more precise AI-edited or AI-enhanced provenance, while structured data can keep the finer technical distinction. Per-image, per-video and featured-image custom text still overrides these defaults. Media marked "No AI used" or left unclassified never receives an automatic visible text label.
It is an explicit publisher-entered classification for media for which you want to record that no AI was used. It does not create an AI digitalSourceType, does not prove that a file is camera-original or otherwise authentic, and should not be treated as a forensic verification result.
Version 3.0.x can optionally ask a configured external vision-capable AI service to assess an image and store a suggestion such as "likely AI-generated", "likely AI-modified", "likely non-AI" or "uncertain". This is probabilistic analysis, not forensic proof. General vision models can be wrong; an absent watermark or a "likely non-AI" answer does not prove that no AI was used.
The built-in direct-provider adapters perform visual analysis; they do not claim to cryptographically verify C2PA, SynthID or proprietary provider watermarks. If you operate a custom endpoint that performs genuine provenance/watermark verification, it can return verified_provenance=true and evidence labels. Automatic application of that stronger signal is a separate opt-in setting.
The analysis result is deliberately separate from the publisher-facing AI status. Automatic application is off by default and, if enabled, only high-confidence AI-generated/AI-modified suggestions can be applied to previously unclassified images. The plugin never automatically declares "No AI used".
On WordPress 7.0+, the plugin can use the built-in WordPress AI Client when at least one AI provider plugin is registered; credentials remain managed under Settings > Connectors. Direct adapters for OpenAI, Google Gemini, Anthropic Claude and Cloudflare Workers AI remain available, along with an OpenAI-compatible HTTPS Chat Completions endpoint or a custom HTTPS JSON endpoint such as a Cloudflare Worker. Model names are entered manually or discovered dynamically where supported; the plugin does not ship, rank, infer or substitute fixed model IDs. A model accepting images is not automatically a reliable AI-image detector. Check the provider/model's current capability documentation and validate it on representative images before enabling automatic classification. Some general multimodal providers explicitly warn that their vision models should not be relied on to determine whether an image is synthetic.
If you choose WordPress AI Client mode on WordPress 7.0+, configure the provider once under Settings > Connectors; this plugin does not ask for or copy that key. The direct-provider modes remain available if you prefer to manage a separate key here. The settings page contains collapsible provider-specific instructions for those direct modes. Keys are used only on the WordPress server and are never localized to frontend/admin JavaScript. Advanced users can define GDAIIDL_OPENAI_API_KEY, GDAIIDL_GEMINI_API_KEY, GDAIIDL_ANTHROPIC_API_KEY, GDAIIDL_CLOUDFLARE_API_TOKEN, GDAIIDL_OPENAI_COMPATIBLE_API_KEY or GDAIIDL_CUSTOM_API_TOKEN in wp-config.php instead of storing a key in the database.
Choose "Custom HTTPS analysis endpoint". The plugin sends an authenticated JSON request containing action="analyze", the configured model or policy name, a short classification prompt and a temporary resized base64 image. Your endpoint returns classification and confidence, with optional reason, resolved_model, token usage and cost_usd. The same endpoint can answer action="models" with a current model/policy list. This allows a custom Worker to resolve a stable policy such as cf-policy:quality to whichever model you currently prefer without changing the WordPress plugin.
For a short Cloudflare setup: create a Worker under Workers & Pages, add a Workers AI binding named AI (available to Worker code as env.AI), and make the Worker accept the plugin JSON contract. For action="analyze", call your current model or routing policy and map its result to the plugin response fields. Protect the endpoint with a bearer token if desired, then enter the Worker URL, model/policy and the same token in the plugin. Workers AI model input schemas can differ, so use the current Cloudflare schema for the model you select rather than copying an old model-specific example. The settings page links directly to Cloudflare's current Worker and Workers AI binding documentation. WordPress safe HTTP requests reject localhost/private-LAN destinations by default to reduce SSRF risk, so a public HTTPS Worker protected by authentication is the recommended setup.
For the core WordPress Video block, enable the AI disclosure in the block sidebar or classify the uploaded video in the Media Library and enable automatic Media Library labels. The disclosure appears immediately below the video, outside the playback surface. This avoids covering native controls and works with captions because it is inserted before the figure caption. Optional machine-readable output uses a Schema.org VideoObject. AI-assisted frame/video analysis is not included in the 3.0.x series.
Yes, but only when you explicitly request analysis or enable automatic analysis of new uploads. A temporary resized copy (1024 px maximum by default) is sent; the Media Library original is not modified. The configured provider's privacy policy, retention rules and API charges apply. The public-facing site does not call the AI provider.
There is intentionally no hard-coded price table because model names and rates change frequently. A fast/low-cost vision model is normally the appropriate choice for this narrow classification task; premium/high-reasoning models may cost several times more. Before a whole-library job starts, the plugin shows a cost estimate when it has trustworthy data. Otherwise it says that the estimate is unavailable. The plugin can use provider/custom-endpoint reported cost, machine-readable pricing returned with a model/result, manual token rates, a manual fixed request cost, or the observed average cost of previous requests. Its cost limit only covers costs it can actually observe or calculate; the API provider's billing system is authoritative.
Yes. You can queue all currently unclassified images or the entire Media Library from Settings > AI Image & Video Labels. In Media > Library list view you can also select specific images and use "Analyse selected with AI" or "Re-analyse selected with AI". Jobs run in small WP-Cron background batches instead of attempting hundreds of API requests in one PHP request. You can set a maximum number of images and a maximum known cost per job.
If "Prefer the compact symbol on touch-first devices" is enabled, the frontend checks browser interaction capabilities such as pointer accuracy, hover support and touch points. This avoids depending on WordPress user-agent detection and works more reliably for large Android tablets and browsers using desktop-site mode. Touch-enabled laptops with a normal fine mouse or trackpad keep the desktop presentation.
Open Settings > AI Image & Video Labels > Theme integration and add the CSS selector of your theme's featured image (one per line), for example .hero-media img.wp-post-image. Developers can also use the gdaiidl_featured_selectors filter.
Enable the rules under Settings > AI Image & Video Labels > Location-specific display. Add one CSS selector per line. An icon-only rule changes an existing disclosure in the matched area to the compact symbol; a hidden rule removes that visible disclosure in the matched area. For featured images, hidden rules also restore theme-owned markup when the plugin had added a wrapper or temporary fallback classes, so theme overlays, counters and structural selectors remain intact. These rules never mark an image as AI-generated. The image or featured image must already have its disclosure enabled.
For a stable editor-controlled setup, add a custom class such as ai-label-disclosure-symbol-only to the outer Group, Cover, Query or layout container. Enter the class name without a dot in the block editor, then enter .ai-label-disclosure-symbol-only in the plugin setting. To restrict it to the posts homepage, use body.home .ai-label-disclosure-symbol-only.
Avoid post IDs, attachment IDs and generated content-specific classes because they may change when a new, queried or randomly selected post is displayed.
Use icon-only mode where a full label would dominate a hero card, overlay tile or other prominent layout and could be misunderstood as describing the whole article or section. Use hidden rules only when even the compact symbol cannot be displayed clearly. Hidden rules remove the visible disclosure in that location, so use them sparingly.
Yes. Enable the optional compact-symbol disclosure in Settings. On desktop, the text appears on hover or keyboard focus. On touch devices, visitors can tap the symbol to open it and tap again or elsewhere to close it.
When enabled, the badge uses the average color of each labeled image, computed once on the server and cached in the image's metadata. The text color switches between dark and light automatically so the disclosure stays readable. If the color cannot be determined (for example on external images), the fixed colors from the settings are used.
No. All font choices are system font stacks or your own custom stack, resolved locally on the visitor's device. Nothing is ever requested from Google Fonts or any other external server.
The plugin automatically clears WP Rocket (including its Cloudflare add-on), LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache, SiteGround Optimizer, Cache Enabler, Breeze, Nginx Helper and Hummingbird whenever you save the settings or change a label. Other systems can be connected through the gdaiidl_purge_caches action.
Yes. Choose "Custom symbol" and select a PNG or SVG file from the Media Library. SVG files can only be used if your installation safely allows SVG uploads; the plugin does not enable SVG uploads globally.
unlink() calls with WordPress wp_delete_file().readme.txt.VideoObject source declarations alongside existing ImageObject output. AI-assisted analysis remains image-only in 3.0.0.verified_provenance=true; model catalogues are bounded; and remote AI/model responses have explicit size limits.digitalSourceType declarations for marked images.gdaiidl prefix.