CopyHero
Technical referenceTask input data

Template task input_data

Configure the template job_type with exact element types, fields, values, and defaults.

Purpose

A Template task builds ordered product-description content from configured elements. Set job_type to template. The public type is template, not copy.

Valid JSON example

{
  "elements": [
    {
      "id": "headline-1",
      "type": "headline",
      "config": {
        "headlineType": "h2",
        "headlineStyle": "style2",
        "alignment": "left",
        "instructions": "Introduce the product's primary customer benefit.",
        "paddingTop": 0,
        "paddingBottom": 0,
        "bold": false
      }
    }
  ]
}

Top-level fields

FieldTypeRequiredValues and meaning
elementsobject arrayYesOne or more content elements in output order.
elements[].idstringYesA non-empty identifier. Keep it unique within the task because generated content keys derive from it.
elements[].typestringYesOne exact public element type from the sections below.
elements[].configobjectYesThe configuration for that element type.

Use the exact public element types headline, paragraph, image, benefits, custom-html, faq-section, specifications, and comparison-table. Do not use worker-normalized underscore aliases such as custom_html, faq_section, or comparison_table when authoring a task.

Shared generated-content fields

Every element except custom-html uses these fields. Include them when the assistant authors input_data; the defaults below are the run-time defaults when a field is omitted.

Config fieldTypeValuesDefault
alignmentstringleft, center, or rightleft
instructionsstringAdditional writing guidance; "" means no additional guidance.""
paddingTopinteger0 through 200 pixels0
paddingBottominteger0 through 200 pixels0
boldbooleanWrap the rendered element in bold styling. Images ignore bold rendering.false

The editor starts new Headline, Paragraph, Image, and Benefits elements with alignment: "center"; the other generated-content elements start with alignment: "left". Use the explicit value the user wants instead of relying on that editor-only difference.

Headline

Set type to headline.

Config fieldTypeRequiredValuesNew-element default
headlineTypestringYesh1, h2, h3, h4, h5, or h6h1
headlineStylestringYesstyle1 (Emotional), style2 (Informative), or style3 (Benefit-Driven)style1
Shared fieldsmixedIncludeSee shared fields above.alignment: "center"; other shared defaults

headlineStyle guides generated wording. It is not an HTML or CSS style value.

Paragraph

Set type to paragraph.

Config fieldTypeRequiredValuesNew-element default
paragraphStylestringYesinformative, persuasive, or descriptiveinformative
Shared fieldsmixedIncludeSee shared fields above.alignment: "center"; other shared defaults

Image

Set type to image.

Config fieldTypeRequiredValuesNew-element default
imageSourcestringYesslideshow, productPage, or aiGeneratedslideshow
imageTemplateIdpositive integer or nullYesExisting accessible image-template ID for aiGenerated; otherwise nullnull
sizeModestringIncludenormal, custom, or fixednormal
widthpositive integer or nullIncludePixel widthnull
heightpositive integer or nullIncludePixel heightnull
skipUnrelatedImagesbooleanIncludeFilter guarantee badges, scarcity graphics, and unrelated review imagesfalse
preferMotionGraphicbooleanIncludePrefer an animated source image firstfalse
Shared fieldsmixedIncludeSee shared fields above. Keep instructions empty and bold false.alignment: "center"; other shared defaults

Sizing behavior:

  • normal uses the original responsive size; keep width and height null.
  • custom sets one dimension and keeps the other automatic. If both are set, width takes precedence.
  • fixed uses both dimensions only when both are positive integers; otherwise rendering falls back to normal responsive sizing.

The image filtering controls apply to slideshow and productPage. An aiGenerated image requires a template selected through the editor. Never guess imageTemplateId.

Benefits

Set type to benefits.

Config fieldTypeRequiredValuesNew-element default
countintegerYes1 through 103
symbolstringYescheck-bold, check-box, check, check-circle, star, arrow, or licheck-bold
stylestringYeshighlight, minimal, or boldhighlight
layoutstringIncludebullet or plainbullet
customEmojistringInclude"" for none, or an emoji that overrides symbol""
spacingintegerInclude0 through 100 pixels between items0
Shared fieldsmixedIncludeSee shared fields above.alignment: "center"; other shared defaults

highlight generates a short highlighted label plus a longer description for each benefit. minimal and bold generate one description per benefit. layout: "plain" omits list symbols, but symbol must still contain a valid value.

Custom HTML

Set type to custom-html. Its config contains only:

Config fieldTypeRequiredValuesNew-element default
htmlstringYesReviewed HTML inserted into the generated output""

Do not add the shared fields to this element. Review the markup and never include scripts, credentials, or untrusted copied code.

FAQ section

Set type to faq-section.

Config fieldTypeRequiredValuesNew-element default
questionsintegerYes1 through 103
questionHeadingTagstringIncludeh1 through h6, or ph4
answerHeadingTagstringIncludeh1 through h6, or pp
boldQuestionsbooleanIncludeBold each generated questiontrue
boldAnswersbooleanIncludeBold each generated answerfalse
spacingintegerInclude0 through 100 pixels between question-and-answer groups16
Shared fieldsmixedIncludeSee shared fields above.Shared defaults

boldQuestions and boldAnswers control the two generated parts separately. The shared bold field wraps the whole FAQ block, so normally leave it false.

Specifications

Set type to specifications.

Config fieldTypeRequiredValuesNew-element default
amountintegerYes1 through 205
includeEmptybooleanYesInclude rows whose generated name or value is emptytrue
stylestringYesbold-keyword or plainbold-keyword
layoutstringIncludebullet or plainbullet
spacingintegerInclude0 through 100 pixels between specifications8
Shared fieldsmixedIncludeSee shared fields above.Shared defaults

bold-keyword bolds the generated specification name. plain does not. When includeEmpty is false, incomplete name/value pairs are omitted from the rendered output.

Comparison table

Set type to comparison-table.

Config fieldTypeRequiredValuesNew-element default
rowsintegerYes1 through 203
Shared fieldsmixedIncludeSee shared fields above.Shared defaults

The generated table always has three columns. Only the row count is configurable.

Defaults and omission behavior

  • For assistant-authored JSON, use the complete public configuration described above. Do not depend on the editor to repair a partial payload.
  • When the editor opens an older element with missing fields, it fills those fields from the new-element defaults. Invalid configuration can cause that element to reset to its complete default configuration in the editor.
  • The run-time schema supplies the shared defaults and these type-specific defaults when omitted: Image sizing/filter fields; Benefits layout, customEmoji, and spacing; FAQ heading tags, bold controls, and spacing; Specifications layout and spacing.
  • All other type-specific fields marked Yes are required for execution.
  • Element order in the array is output order. Following workflow steps receive the resulting product state.

UI guides

Use Create a Template task and Use image templates in content blocks for the corresponding editor controls.