IG 사용자 미디어

IG 사용자에 대한 IG 미디어 개체의 컬렉션을 나타냅니다.

2023년 11월 9일부터 더 이상 media_type에서 VIDEO 값이 지원되지 않습니다. REELS 미디어 유형을 사용하여 피드에 동영상을 게시하세요.

만들기

POST /{ig-user-id}/media

  • 게시물 게시 과정에서 사용할 이미지, 슬라이드, 릴스 IG 컨테이너를 만듭니다. 전체적인 게시 절차에 대한 자세한 내용은 콘텐츠 게시 가이드를 참조하세요.

제한 사항

일반적 제한 사항

  • 컨테이너는 24시간 후에 만료됩니다.
  • 타게팅된 Instagram 프로페셔널 계정에 연결된 페이지페이지 게시 승인(PPA)이 필요할 경우 PPA를 완료해야 합니다. 그렇지 않으면 요청이 실패합니다.
  • 타게팅된 Instagram 프로페셔널 계정에 연결된 페이지에 2단계 인증이 필요한 경우 Facebook 사용자도 2단계 인증을 수행해야 합니다. 그렇지 않으면 요청이 실패합니다.
  • Instagram TV로의 게시는 지원되지 않습니다.

릴스 제한 사항

  • 릴스는 사진첩 슬라이드에 표시할 수 없습니다.
  • 게시 시 계정 개인정보 설정을 따릅니다. 예를 들어 리믹스 허용을 활성화한 경우 게시된 릴스는 게시 시 리믹스가 활성화되지만, 게시된 릴스에서 Instagram 앱을 통해 수동으로 리믹스를 비활성화할 수 있습니다.
  • 음악 태그는 원본 오디오에만 사용할 수 있습니다.

스토리 제한

  • 스토리는 24시간 후에 만료됩니다.
  • 동영상 URL 또는 릴스 URL 중 하나를 지원하지만 두 가지 모두를 지원하지는 않습니다.
  • 스티커(즉 링크, 설문, 위치) 게시는 지원되지 않습니다.

요구 사항

유형설명

액세스 토큰

사용자

비즈니스 역할

제품 태그에 대한 컨테이너를 생성할 경우 앱 사용자는 IG 사용자의 Instagram Shop을 소유하는 비즈니스 관리자에 대한 관리자 역할이 있어야 합니다.

Instagram Shop

제품 태그에 대한 컨테이너를 생성할 경우 IG 사용자는 제품이 포함된 제품 카탈로그가 있는 승인된 Instagram Shop이 있어야 합니다.

권한

instagram_basic
instagram_content_publish
pages_read_engagement 또는 pages_show_list


비즈니스 관리자를 통해 앱 사용자에게 페이지에 대한 역할을 부여한 경우 다음 중 하나도 필요합니다.


ads_management
business_management


제품 태깅에 대한 컨테이너를 만들 경우 다음도 필요합니다.


catalog_management
instagram_shopping_tag_products

작업

요청에서 자신의 토큰을 사용한 앱 사용자는 타게팅된 Instagram 계정에 연결된 페이지에서 MANAGE 또는 CREATE_CONTENT를 수행할 수 있어야 합니다.

이미지 사양

  • 형식: JPEG
  • 파일 크기: 최대 8MB
  • 가로세로비: 4:5~1.91:1 범위 이내
  • 최소 너비: 320(필요한 경우 최솟값으로 확대)
  • 최대 너비: 1,440(필요한 경우 최댓값으로 축소)
  • 높이: 너비와 가로세로비에 따라 다름
  • 컬러 스페이스: sRGB. 다른 컬러 스페이스를 사용하는 이미지는 컬러 스페이스가 sRGB로 전환됩니다.

릴스 사양

릴스의 사양은 다음과 같습니다.

  • 컨테이너: MOV 또는 MP4(MPEG-4 Part 14), 편집 리스트 없음, 파일 시작 부분의 moov atom
  • 오디오 코덱: AAC, 최대 샘플 속도 48khz, 1 또는 2채널(모노 또는 스테레오)
  • 동영상 코덱: HEVC 또는 H264, 프로그레시브 스캔, 폐쇄 GOP, 4:2:0 크로마 서브샘플링
  • 프레임 속도: 23~60FPS
  • 사진 크기:
    • 최대 열 수(수평 픽셀): 1,920
    • 필수 가로세로비는 0.01:1~10:1이지만 잘림이나 빈 공간이 생기지 않도록 하려면 9:16을 권장합니다.
  • 동영상 비트 전송률: VBR, 최대 25Mbps
  • 오디오 비트 전송률: 128kbps
  • 지속 시간: 최대 15분, 최소 3초
  • 파일 크기: 최대 1GB

릴스 커버 사진의 사양은 다음과 같습니다.

  • 형식: JPEG
  • 파일 크기: 최대 8MB
  • 컬러 스페이스: sRGB. 다른 컬러 스페이스를 사용하는 이미지는 sRGB로 전환됩니다.
  • 가로세로비: 잘림이나 빈 공간이 생기지 않도록 9:16을 권장합니다. 원본 이미지의 가로세로비가 9:16이 아닐 경우, 이미지를 잘라서 중간의 가장 9:16에 가까운 직사각형 부분을 릴스의 커버 사진으로 사용합니다. 릴스를 피드에 공유하는 경우, 이미지를 잘라서 중간의 가장 1:1에 가까운 정사각형 부분을 피드 게시물의 커버 사진으로 사용합니다.

스토리 이미지 사양

  • 형식: JPEG
  • 파일 크기: 최대 8MB
  • 가로세로비: 잘림이나 빈 공간이 생기지 않도록 9:16을 권장합니다.
  • 컬러 스페이스: sRGB. 다른 컬러 스페이스를 사용하는 이미지는 컬러 스페이스가 sRGB로 전환됩니다.

스토리 동영상 사양

  • 컨테이너: MOV 또는 MP4(MPEG-4 Part 14), 편집 리스트 없음, 파일 시작 부분의 moov atom
  • 오디오 코덱: AAC, 최대 샘플 속도 48khz, 1 또는 2채널(모노 또는 스테레오)
  • 동영상 코덱: HEVC 또는 H264, 프로그레시브 스캔, 폐쇄 GOP, 4:2:0 크로마 서브샘플링
  • 프레임 속도: 23~60FPS
  • 사진 크기:
    • 최대 열 수(수평 픽셀): 1,920
    • 필수 가로세로비는 0.1:1~10:1이지만 잘림이나 빈 공간이 생기지 않도록 하려면 9:16을 권장합니다.
  • 동영상 비트 전송률: VBR, 최대 25Mbps
  • 오디오 비트 전송률: 128kbps
  • 지속 시간: 최대 60초, 최소 3초
  • 파일 크기: 최대 100MB

요청 구문

이미지 컨테이너

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}

릴스 컨테이너

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}

슬라이드 컨테이너

슬라이드 컨테이너만 해당합니다. 슬라이드 항목 컨테이너를 만들려면 대신 이미지 컨테이너 또는 동영상 컨테이너를 만드세요(릴스는 지원되지 않음). 전체적인 게시 절차는 슬라이드 게시물을 참조하세요.

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}

릴스 전용. 릴스 미디어의 오디오 이름입니다. 오디오 페이지에서 릴스를 만드는 동안 또는 그 이후에만 이름을 한 번 변경할 수 있습니다.

caption

{caption}

이미지, 동영상 또는 슬라이드에 대한 캡션입니다. 해시태그(예: #crazywildebeest)와 Instagram 사용자의 사용자 이름(예: @natgeo)을 포함할 수 있습니다. @언급된 Instagram 사용자는 컨테이너가 게시되면 알림을 받습니다. 최대 2,200자, 해시태그 30개, @ 태그 20개를 사용할 수 있습니다.


슬라이드의 이미지 또는 동영상에서는 지원하지 않습니다.

collaborators

{caption}

피드 이미지, 릴스, 슬라이드에만 적용됩니다. IG 미디어에 공동 작업자로 추가된 최대 3개의 Instagram 사용자 이름 리스트입니다.


스토리에는 지원되지 않습니다.

children

{children}

슬라이드에 필수이며, 슬라이드에만 적용됩니다. 게시된 슬라이드에 표시해야 하는 각 이미지와 동영상의 컨테이너 ID(최대 10개)로 구성된 배열입니다. 슬라이드는 이미지, 동영상 또는 그 두 가지의 조합을 모두 합쳐 최대 10개까지 포함할 수 있습니다.

cover_url

{cover-url}

릴스 전용. 릴스 탭의 커버 이미지로 사용할 이미지의 경로입니다. 직접 지정한 URL을 사용하여 이미지에 cURL을 실행하므로 이미지가 공용 서버에 있어야 합니다. cover_urlthumb_offset을 지정할 경우 cover_url을 사용하고 thumb_offset을 무시합니다. 이미지는 릴스 커버 사진의 사양을 준수해야 합니다.

image_url

{image-url}

이미지 전용이며 이미지에 필수입니다. 이미지에 대한 경로입니다. 직접 지정한 URL을 사용하여 이미지에 cURL을 실행하므로 이미지가 공용 서버에 있어야 합니다.

is_carousel_item

{is-carousel-item}

이미지와 동영상에만 적용됩니다. true로 설정합니다. 슬라이드에 표시하는 이미지 또는 동영상을 나타냅니다.

location_id

{location-id}

이미지 또는 동영상을 태그하려는 위치와 연결된 페이지의 ID입니다.


페이지 검색 API를 사용하여 이름이 검색 문자열과 일치하는 페이지를 검색한 다음, 결과를 구문 분석하여 물리적 위치에 대해 생성된 모든 페이지를 식별할 수 있습니다. 쿼리에 location 필드를 포함하고 사용하고자 하는 페이지에 위치 데이터가 있는지 확인합니다. 위치 데이터가 없는 페이지를 사용하여 컨테이너를 만들려고 시도하면 코딩된 예외 INSTAGRAM_PLATFORM_API__INVALID_LOCATION_ID와 함께 실패합니다.


슬라이드의 이미지 또는 동영상에서는 지원하지 않습니다.

media_type

{media-type}

슬라이드, 스토리 및 릴스에 필수입니다. 컨테이너의 용도가 슬라이드인지, 스토리인지, 릴스인지 나타냅니다. 다음과 같은 값을 사용할 수 있습니다.

  • CAROUSEL
  • REELS
  • STORIES

product_tags

{product-tags}

제품 태깅에 필수입니다. 이미지와 동영상에만 적용됩니다. 이미지 또는 동영상에 붙일 제품 태그를 지정하는 개체의 배열입니다(최대 5개, 태그 및 제품 ID는 고유해야 함). 각 개체는 다음과 같은 정보를 포함해야 합니다.


  • product_id필수 항목. 제품 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}

릴스 전용. true인 경우 릴스가 피드릴스 탭에 모두 표시될 수 있다는 것을 의미합니다. false인 경우 릴스가 릴스 탭에만 표시될 수 있다는 것을 의미합니다.

어느 값도 릴스가 실제로 릴스 탭에 표시되는 여부를 결정하지 않습니다. 릴스가 자격 요건을 충족하지 않거나 알고리즘에서 선택되지 않을 수 있기 때문입니다. 자격 요건 기준에 대한 자세한 내용은 릴스 사양을 참조하세요.

thumb_offset

{thumb-offset}

동영상 및 릴스용. 커버 썸네일 이미지로 사용할 동영상 또는 릴스 프레임의 위치(밀리초)입니다. 기본값은 0이며, 동영상 또는 릴스의 첫 번째 프레임입니다. 릴스의 경우 cover_urlthumb_offset을 모두 지정하면 cover_url을 사용하고 thumb_offset을 무시합니다.

user_tags

{user-tags}

사용자 태깅에 필수입니다. 이미지와 동영상에 적용됩니다. 이미지에 태그하고자 하는 모든 전체 공개 Instagram 사용자의 전체 공개 사용자 이름과 x/y 좌표의 배열입니다. 각 개체는 다음과 같은 정보를 포함해야 합니다.

  • usernames필수 항목. 공개된 사용자 이름입니다.
  • x이미지에만 해당합니다. 게시된 미디어 이미지의 왼쪽 가장자리에서부터의 비율 거리를 나타내는 선택적 부동 소수점입니다. 값은 0.0~1.0 범위 이내여야 합니다.
  • y이미지에만 해당합니다. 게시된 미디어 이미지의 상단 가장자리에서부터의 비율 거리를 나타내는 선택적 부동 소수점입니다. 값은 0.0~1.0 범위 이내여야 합니다.

video_url

{video-url}

동영상과 릴스에 필수입니다. 동영상과 릴스에만 적용됩니다. 동영상 경로입니다. 전달된 URL을 사용하여 동영상에 cURL을 실행하므로 동영상이 공용 서버에 있어야 합니다.

응답

컨테이너를 게시하는 데 사용할 수 있는 IG 컨테이너 ID가 포함된 JSON 형식 개체입니다.

동영상 업로드는 비동기식이므로 컨테이너 ID를 수신했더라도 업로드가 성공했다는 보장은 없습니다. 동영상이 업로드되었는지 확인하려면 IG 컨테이너에 대한 status_code 필드를 요청하세요. 값이 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 사용자에 대한 모든 IG 미디어를 가져옵니다.

제한 사항

  • 가장 최근에 생성된 미디어를 최대 10,000개 반환합니다.
  • 스토리 IG 미디어는 지원되지 않습니다. 대신 GET /{ig-user-id}/stories 엔드포인트를 사용하세요.

요구 사항

유형설명

액세스 토큰

사용자

권한

instagram_basic
pages_read_engagement 또는 pages_show_list


비즈니스 관리자를 통해 앱 사용자에게 페이지에 대한 역할을 부여한 경우 다음 중 하나도 필요합니다.


ads_management
business_management

시간 기반 페이지 매김

이 엔드포인트는 시간 기반 페이지 매김을 지원합니다. Unix 타임스탬프 또는 strtotime 데이터 값과 함께 sinceuntil 값을 포함하여 시간 범위를 정의합니다.

요청 샘플

GET graph.facebook.com/17841405822304914/media 

응답 샘플

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

업데이트

지원되지 않는 작업입니다.

삭제

지원되지 않는 작업입니다.