AI Content Declaration v1.0.0

Making a Declaration

Once you've made your assessment, you'll want to declare it so that others can find it. How you do that depends on the type of content, but it is recommended that you at least make a written declaration. If your media format allows it, also provide a structured declaration alongside the written one.

Written Declaration

The simplest way to make your declaration is in writing. Below is example language and a link to the proper page you can use.

None

Sample Text
[This «type of work»|«title of work»] was created without any contribution from a generative AI.
Link #
https://declare-ai.org/1.0.0/none.html
Examples
This blog post was created without any contribution from a generative AI.
War and Peace was created without any contribution from a generative AI

Non-Creative

Sample Text
[This «type of work»|«title of work»] was created with non-creative assistance from [a generative AI | «name of AI system»]. [optional details of the contribution]
Link #
https://declare-ai.org/1.0.0/non-creative.html
Examples
This blog post was created with non-creative assistance from a generative AI.
This image was created with non-creative assistance from a generative AI. It provided content-aware fill in some areas.

Creative

Sample Text
[This «type of work»|«title of work»] includes creative contributions from [a generative AI | «name of AI system»]. [optional details of the contribution]
Link #
https://declare-ai.org/1.0.0/creative.html
Examples
This blog post was created with creative assistance from a Chat GPT. It provided the initial text for the post, which was then edited to remove mistakes and add additional info.
The song Here and Now and There was created with creative assistance from a generative AI. It provided the drum tracks and the chord changes.

Total

Sample Text
[This «type of work»|«title of work»] was created by [a generative AI | «name of AI system»]. [optional prompt or instructions used]
Link #
https://declare-ai.org/1.0.0/total.html
Examples
This image was created by OpenAI's DALL-E based on the prompt "endless programmers programming at endless computers".
This email was created entirely by a generative AI.

Structured Declaration

Making your Declaration in a structured way can be additionally helpful. This can allow other technologies to understand your declaration, which can lead to additional capabilities. For example, a researcher may want to highlight areas of a work where a generative AI contributed creatively so they can quickly understand what they are reading.

Because of the myriad formats for media that exist, not all can include a structured declaration. This guide will include those that do.

Properties and Values

Below, you will find instructions on making structured declarations in a variety of formats. While each format has a different way of creating structure, they all share common properties and values. These are described below.

ai-content-declaration:version

Which version of the declaration you are using. Required

Value:
1.0.0
ai-content-declaration:level

Declares the level of generative AI assistance Required

Values:
  • none
  • non-creative
  • creative
  • total
ai-content-declaration:ai-name

Declares which generative AI system was used. Optional

Value:

Name of the generative AI

ai-content-declaration:details

Provide additional details on exactly what contribution the AI made. Optional

Value:

Short description of how the AI contributed.

How these are used depends upon the type of media and how it is structured.

HTML

HTML is the most ubiquitous media type, and it's likely that your work is HTML, or is being presented as HTML. In addition to a human readable written statement, your HTML can make use of special tags and attributes to indicate which parts of a page have which levels of generative AI content.

To make declarations in HTML, you can use a combination of meta and data tags along with itemprop, content>, value, and itemref attributes.

Declare the Entire Page

To make a declaration for the entire page, which can by overridden on an element-by-element basis, use meta tags in the head section. You'll need to specify both the version of this site and the level you are declaring.

<head>

  <!- ... -->

  <meta itemprop="ai-content-declaration:version"
         content="1.0.0">
  <meta itemprop="ai-content-declaration:level"
         content="non-creative">
  <meta itemprop="ai-content-declaration:ai-name"
         content="ChatGPT">
  <meta itemprop="ai-content-declaration:details"
         content="Fixed typos and grammatical errors">

  <!- ... -->

</head>

The possible values for ai-content-declaration:level are:

Declare Portions of the Page (or Linked Media)

Since an HTML page can contain links to, or embeddings of, many different pieces of media, you may need to make separate declarations for different parts of the page. This can be done using the data element and itemprop tags.

The AI Content Declaration is not part of any schema.org-defined type, so you should use itemref to reference a data element that contains the information needed for the declaration. For example, suppose you have declared a blog post as level none, but your post contains an image generated from DALL-E. Here is how you would mark up the image:

<img src="my-image.png"
     itemref="my-image-acd-level
              my-image-acd-version
              my-image-acd-ai-name
              my-image-acd-details">
<data id="my-image-acd-level"
      itemprop="ai-content-declaration:version"
      value="1.0.0" />
<data id="my-image-acd-level"
      itemprop="ai-content-declaration:level"
      value="total" />
<data id="my-image-acd-ai-name"
      itemprop="ai-content-declaration:ai-name"
      value="DALL-E" />
<data id="my-image-acd-details"
      itemprop="ai-content-declaration:details"
      value="An image a brutalist flower" />

The reason for this indirection is to allow element of your page to declare themselves as having item types and conforming to a schema.

EXIF

Most image formats support EXIF data. If you wish to make a declaration on an image, use two UserComment EXIF tags: one that says generative-ai-declaration:level=«level» (using one of the levels above), and generative-ai-declaration:version=«version». You can use additional UserComment tags for generative-ai-declaration:ai-name and generative-ai-declaration:details.

ID3

MP3 support ID3 tags, and the PRIV tag can be used to encode. Place two PRIV tags: one that says generative-ai-declaration:level=«level» (using one of the levels above), and generative-ai-declaration:version=«version». You can use additional PRIV tags for generative-ai-declaration:ai-name and generative-ai-declaration:details.