在市场营销 API 上使用生成式 AI 功能入门指南

API 对生成式 AI 功能的支持

广告主负责在发布广告之前预览采用 AI 生成式创意的广告创意。请参阅预览配置说明。

Meta 不对文案建议生成、已生成背景或扩图的完整性、可靠性和准确性作出任何保证。如果您使用市场营销 API 访问下列生成式 AI 功能,除了 Meta 开放平台条款以外,您还需要遵循广告创意生成式 AI 条款

本文向您介绍如何将文案生成扩图以及背景生成这三种生成式 AI 功能用于广告。

前期准备

您需要按照以下步骤来设置使用 Meta 生成式 AI 功能的广告系列。

  1. 创建广告系列
  2. 创建广告组
  3. 创建广告或独立式创意
  4. 预览创意
  5. 启用广告

文案生成

系统将根据您的原始正文、您之前的广告或您业务公共主页上的内容,使用 AI 生成多个文本版本,帮助提供更贴合您需求的推荐。在广告中添加更多文案选项,这有助于您定制创意,减少创意疲劳,从而帮助提升广告表现。点击此处详细了解此功能

第 1 步:在创建广告时选择使用文案生成功能

您可以通过 /ads 端点创建广告,或通过 /adcreatives 端点创建独立式创意。选择使用后,该功能仅适用于在当前请求中创建的广告或创意。在使用任意一种方法时,通过以下方式选择使用文案生成功能:

  1. object_story_specmessage 字段中提供正文
  2. 选择使用 text_generation

请查看下方请求示例:

通过 /adcreatives 端点选择

curl -X POST \
  -F 'name=Text Gen Creative' \
  -F 'object_story_spec={
      "link_data": {
         "image_hash": "<IMAGE_HASH>", 
         "link": "<URL>", 
         "message": "<PRIMARY_TEXT_HERE>",  <--- Primary Text Here
      },
      "page_id": "<PAGE_ID>"
  }' \
  -F 'degrees_of_freedom_spec={
    "creative_features_spec": {
      "text_generation": {
        "enroll_status": "OPT_IN"
      }
    }
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

或者,您可以使用 act_<AD_ACCOUNT_ID>/ads 端点来创建一个广告对象:

通过 /ads 端点选择

curl \
  -F 'adset_id=<ADSET_ID>' \
  -F 'creative={
    "name": "Text Gen Adgroup",
    "object_story_spec": {
      "link_data": {
         "image_hash": "<IMAGE_HASH>", 
         "link": "<URL>", 
         "message": "<PRIMARY_TEXT_HERE>",  <--- Primary Text Here
      },
      "page_id": "<PAGE_ID>"
    },
    "degrees_of_freedom_spec": {
      "creative_features_spec": {
        "text_generation": {
          "enroll_status": "OPT_IN"
        }
      }
    }
  }' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads

第 2 步:文案生成预览

在您创建选择使用 text_generation 的广告后,文案生成功能将仅应用于当前广告,生成的正文将插入创意参数中。如果您通过 /ads 端点选择使用该功能,广告组的 status 字段将默认设为 PAUSED请参阅此处文档)。您可以先查看生成的建议,再手动将广告状态设为 ACTIVE,然后便可投放该广告。

通过使用创意编号或广告编号读取 asset_feed_spec,可预览包含所生成建议的创意参数。请查看下方请求示例和响应示例:

首先查询第 1 步中创建的独立式广告创意的 asset_feed_spec

请求

// request from creative
curl -X GET -G \
  -d 'fields=asset_feed_spec' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<CREATIVE_ID>
  
// request from ad
curl -X GET -G \
  -d 'fields=creative{asset_feed_spec,status}' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<AD_ID>

响应

{
  "asset_feed_spec": {
    "bodies": [
      {
        "text": "Buy some cool LED TV at cheap price"
      },
      {
        "text": "Get your dream LED TV at an unbeatable price! Buy now and save big!"
      },
      {
        "text": "Get the best LED TV deals! 📺 Save money and upgrade your entertainment."
      },
      {
        "text": "Get an LED TV at a low cost! Cheap, high-quality options are available."
      },
      {
        "text": "Get LED TVs at affordable prices  ✨  !"
      }
    ],
    "optimization_type": "DEGREES_OF_FREEDOM"
  },
  "id": "<CREATIVE_ID>"
}

待建议经过审核并显示为可发布之后,请继续前往第 3 步,将广告设为 ACTIVE。如果有任何生成的建议不可接受,请新建广告或创意,但不要选择使用文案生成功能。

创建不选择使用文案生成功能的创意

curl -X POST \
  -F 'name=Text Gen Creative' \
  -F 'object_story_spec={
      "link_data": {
         "image_hash": "<IMAGE_HASH>", 
         "link": "<URL>", 
         "message": "<PRIMARY_TEXT_HERE>",
      },
      "page_id": "<PAGE_ID>"
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

第 3 步:将广告组状态设为 ACTIVE

验证生成的文案建议之后,您可以将广告的 status 设为 ACTIVE。在以下两种情况下,都需要执行此步骤:

  1. 广告通过 /ads 端点选择使用此功能时
  2. 广告是采用选择使用文案生成功能的现有创意的第一个广告时。

请求

curl \
  -F 'status=ACTIVE' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<AD_ID>

扩图

自动扩展图片,以适配更多版位。

自 2024 年 9 月 16 日起,扩图功能成为标准美化功能的一部分。因此,如果创建选择使用扩图功能的广告或广告创意,请参阅适用于进阶赋能型素材的标准美化,了解有关在 creative_features_spec 中设置 standard_enhancements 字段的信息。

第 1 步:创建选择使用扩图功能的广告或创意

您可以通过 /ads 端点创建广告,或通过 /adcreatives 端点创建独立式创意。在使用任意一种方法时,在创意参数中选择使用扩图功能(参见下方示例)。

请求

// creative example
curl -X POST \
  -F 'name=Image Expansion Creative' \
  -F 'degrees_of_freedom_spec={
    "creative_features_spec": {
      "image_uncrop": {
        "enroll_status": "OPT_IN"
      }
    }
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives
  
// ad example
curl \
  -F 'adset_id=<ADSET_ID>' \
  -F 'creative={
    "name": "Image Expansion Adgroup",
    "object_story_spec": {
      "link_data": {
         "image_hash": "<IMAGE_HASH>", 
         "link": "<URL>", 
         "message": "You got this.",
      },
      "page_id": "<PAGE_ID>"
    },
    "degrees_of_freedom_spec": {
      "creative_features_spec": {
        "image_uncrop": {
          "enroll_status": "OPT_IN"
        }
      }
    }
  }' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads

第 2 步:扩图预览

此功能适用于以下版位:INSTAGRAM_STANDARDFACEBOOK_REELS_MOBILEINSTAGRAM_REELSMOBILE_FEED_STANDARDINSTGRAM_STORY。如要查看这些版位的预览,请向 /<AD_ID>/previews 端点发送 GET 请求。

如果有任何生成的图片不可接受,请重新创建广告或创意,但不要选择使用扩图功能:

  • creative_feature 设为 image_uncrop
  • 如果 status 显示为 pending,请重新请求预览。

注意:如果系统未显示 transformation_spec 节点,这表示该创意不符合扩图功能的使用条件。

请求

INSTAGRAM_STANDARD

curl -X GET -G \
  -d 'ad_format=INSTAGRAM_STANDARD' \
  -d 'creative_feature=image_uncrop' \
  -d 'access_token=/<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/<AD_ID>/previews

FACEBOOK_REELS_MOBILE

curl -X GET -G \
  -d 'ad_format=FACEBOOK_REELS_MOBILE' \
  -d 'creative_feature=image_uncrop' \
  -d 'access_token=/<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/<AD_ID>/previews

响应

{
  "data": [
    {
      "body": "<iframe src='<PREVIEW_URL>'></iframe>",
      "transformation_spec": {
        "image_uncrop": [
          {
            "body": "<iframe src='<PREVIEW_URL>'></iframe>",
            "status": "eligible"
          }
        ]
      }
    }
  ]
}

(非必要)在未创建广告的情况下直接预览

您也可以在未实际创建广告的情况下使用 act_<AD_ACCOUNT_ID>/generatepreviews 端点请求预览。

请求

FACEBOOK_REELS_MOBILE

curl -X GET -G \
  -d 'ad_format=FACEBOOK_REELS_MOBILE' \
  -d 'creative_feature=image_uncrop' \
  -d 'creative={
       "object_story_spec": {
         "page_id": "<PAGE_ID>",
          "link_data": {
            "image_hash": "<IMAGE_HASH>",
            "link": "<WEBSITE_LINK>"
          }
        }
     }'
  -d 'access_token=<ACCESS_TOKEN>'
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/generatepreviews

背景生成

我们会为符合条件的商品图片创建不同的背景,并投放受众最有可能回应的版本。这些背景是根据您的原始素材创建的。

第 1 步:创建选择使用背景生成功能的广告或创意

背景生成功能目前仅适用于移动版动态上的动态商品广告或进阶赋能型目录广告。

您可以通过 /ads 端点创建广告,或通过 /adcreatives 端点创建独立式创意。在使用任意一种方法时,在创意参数中选择使用背景生成功能(参见下方示例)。

请求

// creative example
  curl -X POST \
  -F 'name=Background Gen Creative' \
  -F 'degrees_of_freedom_spec={
    "creative_features_spec": {
      "image_background_gen": {
        "enroll_status": "OPT_IN"
      }
    }
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>'
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

// ad example
curl \
  -F 'adset_id=<ADSET_ID>' \
  -F 'creative={
    "name": "Background Gen Adgroup",
    "object_story_spec": {
      "page_id": "<PAGE_ID>",
      "template_data": {
        "description": "Description {{product.description}} ",
        "link": "https://www.example.com/",
        "message": "Test {{product.name | titleize}} ",
        "name": "Headline {{product.price}}"
      }
    },
    "product_set_id": "<PRODUCT_SET_ID>",
    "degrees_of_freedom_spec": {
      "creative_features_spec": {
        "image_background_gen": {
          "enroll_status": "OPT_IN"
        }
      }
    }
  }' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads

第 2 步:背景生成预览

在您选择使用此功能后,我们会为符合条件的商品图片创建不同的背景,并投放受众最有可能回应的版本。选择使用后,该功能仅适用于在当前请求中创建的广告。这些背景根据您的原始素材创建,为符合条件的商品图片采用了不同的颜色或图案。您将看到所生成背景的静态或实时预览,具体取决于目录资格情况。

如果有任何生成的背景不可接受,请重新创建广告或创意,但不要选择使用背景功能。

  • 目前预览功能仅适用于 MOBILE_FEED_STANDARD 版位
  • creative_feature 设为 image_background_gen
  • 如果目录商品的实时预览尚未准备好,系统将显示库存预览,其中 status 设为 PENDING

请求

MOBILE_FEED_STANDARD

curl -X GET -G \
  -d 'ad_format=MOBILE_FEED_STANDARD' \
  -d 'creative_feature=image_background_gen' \
  -d 'access_token=/<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/<AD_ID>/previews

响应

{
  "data": [
    {
      "body": "<iframe src='<PREVIEW_URL>'></iframe>",
      "transformation_spec": {
        "image_background_gen": [
          {
            "body": "<iframe src='<PREVIEW_URL>'></iframe>",
            "status": "eligible" // or one of "pending", "ineligible"
          }
        ]
      }
    }
  ]
}

(非必要)在未创建广告的情况下直接预览

您也可以在未实际创建广告的情况下使用 /<AD_CREATIVE_ID>/previews 端点请求创意预览。

请求

MOBILE_FEED_STANDARD

curl -X GET -G \
  -d 'ad_format=MOBILE_FEED_STANDARD' \
  -d 'creative_feature=image_background_gen' \
  -d 'access_token=<ACCESS_TOKEN>'
  https://graph.facebook.com/v19.0/<AD_CREATIVE_ID>/generatepreviews

响应

{
  "data": [
    {
      "body": "<iframe src='<PREVIEW_URL>'></iframe>",
      "transformation_spec": {
        "image_background_gen": [
          {
            "body": "<iframe src='<PREVIEW_URL>'></iframe>",
            "status": "eligible" // or one of "pending", "ineligible"
          }
        ]
      }
    }
  ]
}

关于 AI 信息公示

使用我们营销工具中提供的某些 Meta 生成式 AI 创意功能创建或大幅度编辑的广告图像可能会在广告的三点菜单中包含 AI 信息,或在赞助标签旁边带有 AI 信息标签。了解广告的生成式 AI 信息公示