To create carousel ads, provide an ad creative with multiple child_attachments in link_data for threads_stream. You need to provide the threads_user_id and only use objectives supported in Threads ads.
There are some differences between Threads and Instagram carousel ads. These differences only happen with the Threads placement. If you have an ad set with Facebook, Instagram, and Threads placements enabled, what works on Facebook and/or Instagram may be different from that on Threads.
link specified, which is the destination of the image click.picture or image_hash set. We do not default the image from link_data.curl -X POST \
-F 'name=Threads Carousel Creative' \
-F 'object_story_spec={
"instagram_user_id": "<IG_USER_ID>",
"threads_user_id": "<THREADS_USER_ID>",
"page_id": "<PAGE_ID>",
"link_data": {
"child_attachments": [
{
"link": "<LINK_1>",
"image_hash": "<IMAGE_HASH_1>",
"description": "$8.99",
"name": "Product 1"
},
{
"link": "<LINK_2>",
"image_hash": "<IMAGE_HASH_2>",
"description": "$9.99",
"name": "Product 2"
},
{
"link": "<LINK_3>",
"image_hash": "<IMAGE_HASH_3>",
"call_to_action": {
"type": "LEARN_MORE"
}
}
],
"message": "<MESSAGE_TEXT>"
}
}
' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v24.0/act_<AD_ACCOUNT_ID>/adcreatives