Медиаобъекты для IG User

Представляет подборку объектов IG Media для IG User.

С 9 ноября 2023 г. прекращается поддержка значения VIDEO для media_type. Для публикации видео в ленте используйте тип медиафайла REELS.

Создание

POST /{ig-user-id}/media

  • Создание IG Container изображения, кольцевой галереи, истории или видео Reels для использования при размещении публикаций. Информацию об этапах публикации см. в руководстве по публикации контента.

Ограничения

Общие ограничения

  • Срок действия контейнера — 24 часа.
  • Если для Страницы, подключенной к целевому профессиональному аккаунту Instagram, требуется разрешение на публикацию, его необходимо получить, иначе запрос завершится ошибкой.
  • Если для Страницы, подключенной к целевому профессиональному аккаунту Instagram, требуется двухфакторная аутентификация, пользователь Facebook должен выполнить ее, иначе запрос завершится ошибкой.
  • Публикация в Instagram TV не поддерживается.

Ограничения для Reels

  • Видео Reels не могут отображаться в альбомах в формате кольцевой галереи.
  • После публикации соблюдаются параметры конфиденциальности аккаунта. Например, если выбрано значение Разрешить ремиксы, видео Reels будет опубликовано с включенным параметром, допускающим его использование в ремиксах, при этом для опубликованных видео Reels использование в ремиксах можно отключить в приложении Instagram.
  • Отметки музыки доступны только для оригинального аудио.

Ограничения историй

  • Срок действия историй истекает через 24 часа.
  • Поддерживается либо URL видео, либо URL Reels, но не оба одновременно.
  • Публикация стикеров (т. е. ссылок, опросов, местоположений) не поддерживается.

Требования

ТипОписание

Маркеры доступа

Пользователь

Роли в Business Manager

Если вы создаете контейнеры для меток товаров, пользователь приложения должен иметь роль администратора в Business Manager, который владеет связанным с IG User магазином в Instagram.

Магазин в Instagram

Если вы создаете контейнеры для меток товаров, пользователь IG User должен иметь утвержденный магазин в Instagram с каталогом, в котором имеются товары.

Разрешения

instagram_basic
instagram_content_publish
pages_read_engagement или pages_show_list


Если пользователь приложения получил роль на Странице через Business Manager, также потребуются следующие разрешения:


ads_management;
business_management.


Если вы создаете контейнеры для меток товаров, вам также понадобится:


catalog_management;
instagram_shopping_tag_products.

Задачи

Пользователь приложения, чей маркер используется в запросе, должен иметь возможность выполнить задачу MANAGE или CREATE_CONTENT на Странице, подключенной к целевому аккаунту Instagram.

Требования к изображениям

  • Формат: jpeg.
  • Размер файла: макс. 8 МБ.
  • Соотношение сторон: от 4:5 до 1,91:1.
  • Минимальная ширина: 320 (при необходимости изображение увеличивается до минимальной ширины).
  • Максимальная ширина: 1440 (при необходимости изображение уменьшается до максимальной ширины).
  • Высота: зависит от ширины и соотношения сторон.
  • Цветовое пространство: sRGB. Если в изображении используется другое пространство цветов, оно преобразуется в sRGB.

Требования к видео Reels

Ниже перечислены рекомендуемые параметры видео Reels.

  • Контейнер: MOV или MP4 (MPEG-4 Part 14), без списков изменений, атом moov в начале файла.
  • Аудиокодек: AAC, частота дискретизации до 48 кГц, один или два канала (моно или стерео).
  • Видеокодек: HEVC или H264, прогрессивная развертка, закрытый GOP, цветовая субдискретизация 4:2:0.
  • Частота кадров: 23–60 кадров в секунду.
  • Размер изображения:
    • максимальное количество столбцов (пиксели по горизонтали): 1920;
    • необходимое соотношение сторон: от 0,01:1 до 10:1 (настоятельно рекомендуется использовать соотношение 9:16, чтобы избежать обрезания картинки или пустых полей).
  • Скорость потока видео: переменная, не более 25 Мбит/с.
  • Скорость потока аудио: 128 Кбит/с.
  • Продолжительность: от 3 секунд до 15 минут.
  • Размер файла: не более 1 ГБ.

Ниже перечислены рекомендуемые параметры фото обложки видео Reels.

  • Формат: jpeg.
  • Размер файла: не более 8 МБ.
  • Цветовое пространство: sRGB. Если в изображении используется другое пространство цветов, оно преобразуется в sRGB.
  • Соотношение сторон: рекомендуется использовать соотношение 9:16, чтобы избежать обрезания картинки или пустых полей. Если соотношение сторон исходного изображения не 9:16, оно будет обрезано и в качестве обложки видео Reels будет использоваться прямоугольник с соотношением 9:16, который находится в центре изображения. Если вы делитесь видео Reels в Ленте, в качестве обложки публикации будет использоваться квадрат с соотношением 1:1, который находится в центре изображения.

Требования к изображениям в историях

  • Формат: jpeg.
  • Размер файла: не более 8 МБ.
  • Соотношение сторон: рекомендуется использовать соотношение 9:16, чтобы избежать обрезания картинки или пустых полей.
  • Цветовое пространство: sRGB. Если в изображении используется другое пространство цветов, оно преобразуется в sRGB.

Требования к видео в историях

  • Контейнер: MOV или MP4 (MPEG-4 Part 14), без списков изменений, атом moov в начале файла.
  • Аудиокодек: AAC, частота дискретизации до 48 кГц, один или два канала (моно или стерео).
  • Видеокодек: HEVC или H264, прогрессивная развертка, закрытый GOP, цветовая субдискретизация 4:2:0.
  • Частота кадров: 23–60 кадров в секунду.
  • Размер изображения:
    • максимальное количество столбцов (пиксели по горизонтали): 1 920;
    • необходимое соотношение сторон: от 0,01:1 до 10:1 (настоятельно рекомендуется использовать соотношение 9:16, чтобы избежать обрезания картинки или пустых полей).
  • Скорость потока видео: переменная, не более 25 Мбит/с.
  • Скорость потока аудио: 128 Кбит/с.
  • Продолжительность: от 3 до 60 секунд.
  • Размер файла: не более 100 МБ.

Синтаксис запроса

Контейнеры изображений

POST https://graph.facebook.com/{api-version}/{ig-user-id}/media
  ?image_url={image-url}
  &is_carousel_item={is-carousel-item}
  &caption={caption}
  &location_id={location-id}
  &user_tags={user-tags}
  &product_tags={product-tags}
  &access_token={access-token}

Контейнеры видео Reels

POST https://graph.facebook.com/{api-version}/{ig-user-id}/media
?media_type=REELS
&video_url={reel-url}
&caption={caption}
&share_to_feed={share-to-feed}
&collaborators={collaborator-usernames}
&cover_url={cover-url}
&audio_name={audio-name}
&user_tags={user-tags}
&location_id={location-id}
&thumb_offset={thumb-offset}
&share_to_feed={share-to-feed}
&access_token={access-token}

Контейнеры кольцевых галерей

Только контейнеры кольцевых галерей. Чтобы создать контейнеры элементов кольцевой галереи, вместо них создайте контейнеры изображений или видео (видео Reels не поддерживаются). Подробное описание этапов публикации см. в статье Публикации с кольцевыми галереями.

POST https://graph.facebook.com/{api-version}/{ig-user-id}/media
?media_type=CAROUSEL
&caption={caption}
&share_to_feed={share-to-feed}
&collaborators={collaborator-usernames}
&location_id={location-id}
&product_tags={product-tags}
&children={children}
&access_token={access-token}

Контейнеры изображений историй

POST https://graph.facebook.com/{api-version}/{ig-user-id}/media
  ?image_url={image-url}
  &media_type=STORIES
  &access_token={access-token}

Контейнеры видео историй

POST https://graph.facebook.com/{api-version}/{ig-user-id}/media
  ?video_url={video-url}
  &media_type=STORIES
  &access_token={access-token}

Параметры пути

ЗаполнительЗначение

{api-version}

Версия API.

{ig-user-id}
Обязательный параметр

ID пользователя внутри приложения.

Параметры строки запроса

КлючЗаполнительОписание

access_token

{access-token}

Обязательный параметр. Маркер доступа пользователя для пользователя приложения.

audio_name

{audio-name}

Только для видео Reels. Название аудио медиафайла Reels. Переименовать аудио можно только один раз, на этапе создания видео Reels или позже после на странице аудио.

caption

{caption}

Подпись для изображения, видео или кольцевой галереи. Можно указать хэштеги (например, #crazywildebeest) и имена пользователей Instagram (например, @natgeo). При публикации контейнера @упомянутые пользователи Instagram получат уведомление. Ограничения: 2200 символов, 30 хэштегов и 20 меток @.


Не поддерживается для изображений и видео в кольцевых галереях.

collaborators

{caption}

Только для изображения в ленте, видео Reels и кольцевых галерей. Список имен пользователей Instagram (до 3), выступающих соавторами для объекта IG Media.


Не поддерживается для историй.

children

{children}

Требуется для кольцевых галерей. Применимо только к кольцевым галереям. Массив из макс. 10 ID контейнеров каждого изображения и видео, которые должны отобразиться в публикуемой кольцевой галереи. Кольцевые галереи могут содержать до 10 изображений, видео или сочетания этих файлов.

cover_url

{cover-url}

Только для видео Reels. Путь к изображению, используемому в качестве обложки на вкладке Reels. Мы создаем cURL изображения на основании переданного URL, поэтому он должен указывать на общедоступный сервер. Если вы указываете cover_url и thumb_offset, используется cover_url, а thumb_offset игнорируется. Изображение должно соответствовать требованиям к фото обложки для видео Reels.

image_url

{image-url}

Используется и требуется только для изображений. Путь к файлу изображения. Мы создаем cURL изображения на основе переданного URL, поэтому он должен указывать на общедоступный сервер.

is_carousel_item

{is-carousel-item}

Применимо только к изображениям и видео. Установите значение true. Указывает изображение или видео, которое появится в кольцевой галерее.

location_id

{location-id}

ID Страницы, связанной с местом, которое вы хотите отметить на изображении или видео.


Используйте Pages Search API, чтобы найти Страницы, названия которых соответствуют искомой строке, а затем выделите те из них, которые связаны с определенным местоположением. Добавьте в запрос поле location и проверьте, есть ли у Страницы геоданные. Если при создании контейнера вы попытаетесь указать Страницу без геоданных, возникнет исключение INSTAGRAM_PLATFORM_API__INVALID_LOCATION_ID.


Не поддерживается для изображений и видео в кольцевых галереях.

media_type

{media-type}

Обязательный параметр для кольцевых галерей, историй и видео Reels. Задает контейнер для кольцевой галереи, истории или видео Reels. Возможные значения:

  • CAROUSEL;
  • REELS;
  • STORIES.

product_tags

{product-tags}

Обязательный параметр для меток товаров. Применяется только к изображениям и видео. Массив объектов, указывающий, какие метки товаров нужно добавить к изображению или видео (не более пяти меток; метки и идентификаторы товаров должны быть уникальными). Каждый объект должен содержать следующее:


  • product_id — обязательный параметр. Идентификатор товара.
  • x — только для изображений. Необязательный параметр. Число с плавающей запятой. Задает расстояние в процентах от левого края опубликованного изображения. Возможные значения: от 0.0 до 1.0.
  • y — только для изображений. Необязательный параметр. Число с плавающей запятой. Задает расстояние в процентах от верхнего края опубликованного изображения. Возможные значения: от 0.0 до 1.0.

Пример:


[{product_id:'3231775643511089',x: 0.5,y: 0.8}]

share_to_feed

{share-to-feed}

Только для видео Reels. Значение true означает, что видео Reels может появиться как на вкладке Лента, так и на вкладке Reels. Значение false означает, что видео Reels может появиться только на вкладке Reels.

Ни одно из этих значений не означает, что видео Reels действительно появится на вкладке Reels, поскольку видео Reels может не соответствовать установленным требованиям или наш алгоритм может его не выбрать. Информацию о критериях соответствия требованиям см. в требованиях к видео Reels.

thumb_offset

{thumb-offset}

Параметр для видео и Reels. Кадр (в миллисекундах) видео или Reels, который должен использоваться в качестве миниатюры для этого видео. Значение по умолчанию — 0, то есть первый кадр видео или Reels. Если вы указываете cover_url и thumb_offset для видео Reels, используется cover_url, а thumb_offset игнорируется.

user_tags

{user-tags}

Обязательный параметр для меток пользователей. Применяется к изображениям и видео. Массив общедоступных имен пользователей и координат x/y общедоступных пользователей Instagram, которых вы хотите отметить на изображении. Каждый объект должен содержать следующее:

  • usernames — обязательный параметр. Общедоступные имена пользователей.
  • x — только для изображений. Необязательный параметр. Число с плавающей запятой. Задает расстояние в процентах от левого края опубликованного изображения. Возможные значения: от 0.0 до 1.0.
  • y — только для изображений. Необязательный параметр. Число с плавающей запятой. Задает расстояние в процентах от верхнего края опубликованного изображения. Возможные значения: от 0.0 до 1.0.

video_url

{video-url}

Обязательный параметр для видео и Reels. Применяется только к видео и Reels. Путь к видеофайлу. Мы создаем cURL видео на основании переданного URL, поэтому он должен указывать на общедоступный сервер.

Ответ

Объект в формате JSON, содержащий ID IG Container, который вы можете использовать, чтобы опубликовать контейнер.

Загрузка видео выполняется асинхронно, поэтому получение ID контейнера не гарантирует, что она прошла успешно. Чтобы убедиться, что видео загружено, запросите поле status_code для объекта IG Container. Если оно содержит значение FINISHED, видео загружено.

{
  "id":"{ig-container-id}"
}

Пример запроса

POST graph.facebook.com/17841400008460056/media ?image_url=https//www.example.com/images/bronzed-fonzes.jpg &caption=#BronzedFonzes! &collaborators= [‘username1’,’username2’] &user_tags=[ { username:'kevinhart4real', x: 0.5, y: 0.8 }, { username:'therock', x: 0.3, y: 0.2 } ] 

Пример ответа

{
  "id": "17889455560051444"
}

Чтение

GET /{ig-user-id}/media

Получение всех объектов IG Media для IG User.

Ограничения

  • Возвращает до 10 000 самых новых медиафайлов.
  • Объекты IG Media историй не поддерживаются. Вместо них следует использовать конечную точку GET /{ig-user-id}/stories.

Требования

ТипОписание

Маркеры доступа

Пользователь

Разрешения

instagram_basic
pages_read_engagement или pages_show_list


Если пользователь приложения получил роль на Странице через Business Manager, также потребуются следующие разрешения:


ads_management;
business_management.

Разбивка на страницы по времени

Эта конечная точка поддерживает разбивку на страницы по времени. Чтобы задать диапазон, добавьте в строку запроса параметры since и until и укажите в качестве значения метки времени Unix или strtotime.

Пример запроса

GET graph.facebook.com/17841405822304914/media 

Пример ответа

{
  "data": [
    {
      "id": "17895695668004550"
    },
    {
      "id": "17899305451014820"
    },
    {
      "id": "17896450804038745"
    },
    {
      "id": "17881042411086627"
    },
    {
      "id": "17869102915168123"
    }
  ]
}

Обновление

Эта операция не поддерживается.

Удаление

Эта операция не поддерживается.