# Nuelink

> Schedule and publish social media from a workflow: write one post and let Nuelink send it to every account in a collection - Instagram, Facebook, LinkedIn, TikTok, YouTube, Threads, Pinterest, X, Bluesky, Mastodon, Telegram and Google Business - now, at a set time, or at the next free slot in the brand's queue. Upload media, add polls, quizzes, Stories and auto-comments, and check which connected accounts have dropped out.

App · Social Media · 13 actions. Web page: https://docs.lodol.com/docs/integrations/nuelink

## Actions

### Create poll post

Ask a question with two to four answers, open for a day, three days or a week. Mark one answer correct and it becomes a quiz, with an optional explanation shown after voting. This is the one Nuelink post that does not need a caption, because the question stands in for it - though you can still add one. Polls only appear on the platforms that have them; the rest of the collection gets the caption.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.
- Collection (`collection_id`, text, required): The collection to post into. A collection is a set of connected social accounts, and a post goes to all of them - there is no way to reach only some. Pick one, or paste its ID.
- What to do with it (`publish_mode`, text, required): Whether Nuelink publishes the post, queues it, schedules it, or just saves it. There is no default on purpose: 'Publish now' writes to real social accounts, and a post cannot be deleted or edited through the API afterwards. One of: `DRAFT` (Save as a draft - nothing is published or scheduled), `SCHEDULE` (Schedule for an exact time), `QUEUE` (Add to the brand's queue, at its next free slot), `IMMEDIATE` (Publish now).
- Publish at (`scheduled_at`, date and time): When to publish, for 'Schedule for an exact time' only. Nuelink reads this in the brand's own timezone, which is shown beside the brand in the Brand list; the time you pick here is converted into it.
- Question (`question`, text, required): What the poll asks, up to 280 characters.
- Answers (`options`, list, required): 2 to 4 answers, each up to 30 characters.
- Open for (`period`, text, required): How long people can vote. One of: `1d` (1 day), `3d` (3 days), `7d` (7 days).
- Correct answer (`correct_option_index`, number): Turns the poll into a quiz: the position of the right answer, counting the first as 0. Leave blank for an ordinary poll. From 0 to 3.
- Explanation (`explanation`, text): Shown after someone votes, on a quiz. Up to 512 characters, and only used with a correct answer.
- Caption (`caption`, text): Optional text to show above the poll. A poll is the one post that does not need a caption, because the question stands in for it.

**Outputs**

- `brand_id` (number): The brand it was made in.
- `collection_id` (number): The collection it will publish to.
- `is_quiz` (true/false): True when an answer was marked correct.
- `post` (object): The post record Nuelink created.
- `post_id` (number): The new post's Nuelink ID.
- `publish_mode` (text): What Nuelink was asked to do with it.
- `scheduled_at` (text): When it will publish, in the brand's timezone, for a scheduled post.
- `scheduled_timezone` (text): The brand timezone that time is written in.

**Example output**

```json
{
  "brand_id": 13493,
  "collection_id": 50218,
  "is_quiz": false,
  "post": {
    "id": 4364709,
    "message": "Post created successfully"
  },
  "post_id": 4364709,
  "publish_mode": "IMMEDIATE"
}
```

### Create post

Write one post and let Nuelink publish it now, queue it, schedule it for an exact time, or save it as a draft. It goes to every channel in the collection you choose and to no others - that is what a collection is for. Attach media by uploading it first or by giving Nuelink a public URL, add an auto-comment for the links and hashtags, and set the Instagram, Facebook or TikTok options where they apply. Nuelink's API cannot edit or delete a post afterwards, and reports no per-channel result - check the Nuelink dashboard for what each platform did with it.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.
- Collection (`collection_id`, text, required): The collection to post into. A collection is a set of connected social accounts, and a post goes to all of them - there is no way to reach only some. Pick one, or paste its ID.
- What to do with it (`publish_mode`, text, required): Whether Nuelink publishes the post, queues it, schedules it, or just saves it. There is no default on purpose: 'Publish now' writes to real social accounts, and a post cannot be deleted or edited through the API afterwards. One of: `DRAFT` (Save as a draft - nothing is published or scheduled), `SCHEDULE` (Schedule for an exact time), `QUEUE` (Add to the brand's queue, at its next free slot), `IMMEDIATE` (Publish now).
- Publish at (`scheduled_at`, date and time): When to publish, for 'Schedule for an exact time' only. Nuelink reads this in the brand's own timezone, which is shown beside the brand in the Brand list; the time you pick here is converted into it.
- Caption (`caption`, text, required): The post's text, 1-3000 characters. The same caption goes to every channel in the collection - Nuelink has no per-platform wording.
- Title (`title`, text): An optional title, used by the platforms that have one - YouTube and Pinterest among them. Up to 255 characters.
- Alt text (`alt`, text): Describes the media for screen readers, up to 255 characters.
- Link (`link`, text): A URL to attach to the post, up to 1000 characters.
- Uploaded media (`media_ids`, list): Media IDs from 'Upload media' - the 'media_id' that step returns. Nuelink attaches each one to the post.
- Media from a URL (`media_urls`, list): Public file URLs for Nuelink to fetch - Google Drive, Dropbox, OneDrive, Unsplash or anything else reachable without a login. Use these instead of uploading; a single attachment is never both.
- Auto-comment (`comment_text`, text): A comment Nuelink posts underneath the post once it is live - where links and hashtags usually go. Up to 1000 characters.
- Comment delay (seconds) (`comment_delay`, number): How long to wait after publishing before adding the comment. Defaults to none. At least 0.
- Instagram location ID (`instagram_location_id`, text): Instagram's own ID for the place to geotag. Needs the location name as well.
- Instagram location name (`instagram_location_name`, text): The place name shown with the geotag.
- Also show Reels in the feed (`instagram_share_to_feed`, true/false): Puts a Reel on the main Instagram feed as well as in Reels.
- Instagram Trial Reel (`instagram_trial_reel`, text): Shows the Reel to non-followers first for 72 hours to test it, then does this. Instagram only, and only for a video posted as a Reel. One of: `MANUAL` (Wait - share it with followers by hand in Instagram), `SS_PERFORMANCE` (Auto-share with followers if it performs well).
- Facebook location ID (`facebook_location_id`, text): Facebook's own ID for the place to geotag. Needs the location name as well.
- Facebook location name (`facebook_location_name`, text): The place name shown with the geotag.
- Send to the TikTok app instead (`tiktok_send_to_inbox`, true/false): Delivers the video to the TikTok app as a notification rather than publishing it, so it can be edited and posted from the phone.

**Outputs**

- `brand_id` (number): The brand it was made in.
- `collection_id` (number): The collection it will publish to.
- `post` (object): The post record Nuelink created.
- `post_id` (number): The new post's Nuelink ID.
- `publish_mode` (text): What Nuelink was asked to do with it.
- `scheduled_at` (text): When it will publish, in the brand's timezone, for a scheduled post.
- `scheduled_timezone` (text): The brand timezone that time is written in.

**Example output**

```json
{
  "brand_id": 13493,
  "collection_id": 50218,
  "post": {
    "id": 4364709,
    "message": "Post created successfully"
  },
  "post_id": 4364709,
  "publish_mode": "IMMEDIATE"
}
```

### Create story post

Post an image or video as a Story. Stories exist on Instagram and Facebook only: any other channel in the collection publishes the same thing to its feed instead, which is Nuelink's behaviour rather than a setting. Media is required here - a Story with nothing to show is refused by the platform rather than by Nuelink.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.
- Collection (`collection_id`, text, required): The collection to post into. A collection is a set of connected social accounts, and a post goes to all of them - there is no way to reach only some. Pick one, or paste its ID.
- What to do with it (`publish_mode`, text, required): Whether Nuelink publishes the post, queues it, schedules it, or just saves it. There is no default on purpose: 'Publish now' writes to real social accounts, and a post cannot be deleted or edited through the API afterwards. One of: `DRAFT` (Save as a draft - nothing is published or scheduled), `SCHEDULE` (Schedule for an exact time), `QUEUE` (Add to the brand's queue, at its next free slot), `IMMEDIATE` (Publish now).
- Publish at (`scheduled_at`, date and time): When to publish, for 'Schedule for an exact time' only. Nuelink reads this in the brand's own timezone, which is shown beside the brand in the Brand list; the time you pick here is converted into it.
- Caption (`caption`, text, required): The post's text, 1-3000 characters. The same caption goes to every channel in the collection - Nuelink has no per-platform wording.
- Uploaded media (`media_ids`, list): Media IDs from 'Upload media' - the 'media_id' that step returns. Nuelink attaches each one to the post.
- Media from a URL (`media_urls`, list): Public file URLs for Nuelink to fetch - Google Drive, Dropbox, OneDrive, Unsplash or anything else reachable without a login. Use these instead of uploading; a single attachment is never both.
- Instagram location ID (`instagram_location_id`, text): Instagram's own ID for the place to geotag. Needs the location name as well.
- Instagram location name (`instagram_location_name`, text): The place name shown with the geotag.

**Outputs**

- `brand_id` (number): The brand it was made in.
- `collection_id` (number): The collection it will publish to.
- `post` (object): The post record Nuelink created.
- `post_id` (number): The new post's Nuelink ID.
- `posted_as_story` (true/false): Always true - this action sets the Story flag.
- `publish_mode` (text): What Nuelink was asked to do with it.
- `scheduled_at` (text): When it will publish, in the brand's timezone, for a scheduled post.
- `scheduled_timezone` (text): The brand timezone that time is written in.

**Example output**

```json
{
  "brand_id": 13493,
  "collection_id": 50218,
  "post": {
    "id": 4364709,
    "message": "Post created successfully"
  },
  "post_id": 4364709,
  "posted_as_story": true,
  "publish_mode": "IMMEDIATE"
}
```

### Create YouTube video post

Post a video with the fields YouTube wants: a title, tags, and the playlists to file it under. The playlist is attached through the connected YouTube channel that owns it, and the playlist IDs come from YouTube itself - Nuelink publishes no way to list them. Everything else in the collection still receives the post; the YouTube settings are simply ignored where they do not apply.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.
- Collection (`collection_id`, text, required): The collection to post into. A collection is a set of connected social accounts, and a post goes to all of them - there is no way to reach only some. Pick one, or paste its ID.
- What to do with it (`publish_mode`, text, required): Whether Nuelink publishes the post, queues it, schedules it, or just saves it. There is no default on purpose: 'Publish now' writes to real social accounts, and a post cannot be deleted or edited through the API afterwards. One of: `DRAFT` (Save as a draft - nothing is published or scheduled), `SCHEDULE` (Schedule for an exact time), `QUEUE` (Add to the brand's queue, at its next free slot), `IMMEDIATE` (Publish now).
- Publish at (`scheduled_at`, date and time): When to publish, for 'Schedule for an exact time' only. Nuelink reads this in the brand's own timezone, which is shown beside the brand in the Brand list; the time you pick here is converted into it.
- Video title (`title`, text, required): The name YouTube shows for the video, up to 255 characters. Required here: a video posted without one is published untitled.
- Caption (`caption`, text, required): The post's text, 1-3000 characters. The same caption goes to every channel in the collection - Nuelink has no per-platform wording.
- Uploaded media (`media_ids`, list): Media IDs from 'Upload media' - the 'media_id' that step returns. Nuelink attaches each one to the post.
- Media from a URL (`media_urls`, list): Public file URLs for Nuelink to fetch - Google Drive, Dropbox, OneDrive, Unsplash or anything else reachable without a login. Use these instead of uploading; a single attachment is never both.
- YouTube tags (`youtube_tags`, list): Tags for the video, each up to 255 characters.
- YouTube channel (`youtube_playlist_channel_id`, text): The connected YouTube channel that owns the playlists below. Only needed when adding the video to a playlist.
- YouTube playlists (`youtube_playlist_ids`, list): Playlist IDs to add the video to, as YouTube writes them. Nuelink publishes no way to list playlists, so these come from the playlist's own YouTube URL.

**Outputs**

- `brand_id` (number): The brand it was made in.
- `collection_id` (number): The collection it will publish to.
- `post` (object): The post record Nuelink created.
- `post_id` (number): The new post's Nuelink ID.
- `publish_mode` (text): What Nuelink was asked to do with it.
- `scheduled_at` (text): When it will publish, in the brand's timezone, for a scheduled post.
- `scheduled_timezone` (text): The brand timezone that time is written in.

**Example output**

```json
{
  "brand_id": 13493,
  "collection_id": 50218,
  "post": {
    "id": 4364709,
    "message": "Post created successfully"
  },
  "post_id": 4364709,
  "publish_mode": "IMMEDIATE"
}
```

### Find brand

Find one brand by name or ID and return it, so a workflow can name the brand it means instead of carrying a number around. Nuelink has no search, so this reads the brand list and matches on the brand's 'title' - an exact match first, then a partial one. Fails the step when nothing matches, rather than handing the next step an empty brand.

**Inputs**

- Brand name or ID (`query`, text, required): The brand's name, or its ID. An exact name wins over a partial one, so 'Fernwood' still finds that brand when 'Fernwood Botanicals' exists too.

**Outputs**

- `brand` (object): The brand that matched.
- `matched_exactly` (true/false): True when the name or ID matched exactly rather than partially.
- `other_matches` (list): Any other brands the text also matched.

**Example output**

```json
{
  "brand": {
    "createdAt": "2023-07-20T13:05:31.000000Z",
    "description": "Main workspace for Fernwood Botanicals social channels",
    "id": 13493,
    "timezone": "America/New_York",
    "title": "Fernwood Botanicals",
    "updatedAt": "2026-04-15T13:45:23.000000Z"
  },
  "matched_exactly": true,
  "other_matches": []
}
```

### Find collection

Find one collection inside a brand by name or ID, so a workflow can post to 'Everywhere' without knowing its number. Matches on the collection's 'title', exactly before partially, and fails the step when nothing matches.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.
- Collection name or ID (`query`, text, required): The collection's name, or its ID. Matched inside the chosen brand only.

**Outputs**

- `brand_id` (number)
- `collection` (object): The collection that matched.
- `matched_exactly` (true/false)
- `other_matches` (list): Any other collections the text matched.

**Example output**

```json
{
  "brand_id": 13493,
  "collection": {
    "active_channel_count": 1,
    "channel_count": 1,
    "channels": [
      {
        "createdAt": "2023-07-20T13:11:02.000000Z",
        "id": 88214,
        "name": "@fernwoodbotanicals",
        "status": "ACTIVE",
        "type": "Instagram",
        "updatedAt": "2026-04-15T13:45:23.000000Z"
      }
    ],
    "createdAt": "2023-07-20T13:14:00.000000Z",
    "description": "Every channel on the brand",
    "id": 50218,
    "status": "ACTIVE",
    "title": "Everywhere",
    "updatedAt": "2026-04-15T13:45:23.000000Z"
  },
  "matched_exactly": true,
  "other_matches": []
}
```

### Get my profile

Read the Nuelink account this connection's token belongs to - its display name, the timezone it was set up in, and when it was created. Nuelink's own documentation calls this the way to check that a token still works, and it is the only action here that needs nothing but the token. There is no email address or plan on it, whatever Nuelink's assistant documentation says.

**Inputs**: None.

**Outputs**

- `user` (object): The account the token belongs to.

**Example output**

```json
{
  "user": {
    "id": "7860a8ed7591c8eff18659a55b3e80e8",
    "joinedAt": "2022-05-23T23:55:51.000000Z",
    "name": "Maya Holloway",
    "timezone": "Europe/London"
  }
}
```

### List brands

List the brands on this Nuelink account, with the ID every other Nuelink action needs and the timezone each one schedules in. A brand is a workspace holding its own connected accounts, collections and queue; Nuelink shows its numeric ID nowhere in its own screens, so this is how a workflow finds one.

**Inputs**

- Page (`page`, number): Which page to read, counting from 1. Read 'next_page' off the result to walk through them. At least 1.
- How many per page (`per_page`, number): How many records a page holds, 1-100. Defaults to 25. From 1 to 100.

**Outputs**

- `brands` (list): The brands on this page
- `count` (number): How many records this page holds.
- `has_more` (true/false): Whether another page follows this one.
- `last_page` (number): The final page number.
- `next_page` (number): The page to ask for next, or null on the last one.
- `page` (number): The page that was read.
- `per_page` (number): The page size asked for.
- `total` (number): How many records match in total.

**Example output**

```json
{
  "brands": [
    {
      "createdAt": "2023-07-20T13:05:31.000000Z",
      "description": "Main workspace for Fernwood Botanicals social channels",
      "id": 13493,
      "timezone": "America/New_York",
      "title": "Fernwood Botanicals",
      "updatedAt": "2026-04-15T13:45:23.000000Z"
    }
  ],
  "count": 1,
  "has_more": false,
  "last_page": 1,
  "next_page": null,
  "page": 1,
  "per_page": 25,
  "total": 1
}
```

### List channels

List every social account connected to a brand - its name, platform, and whether Nuelink can still publish to it. Optionally narrowed to one platform or to one connection state. Nuelink has no filtering of its own here, so this reads the brand's channels and filters them; the platform list on the field is built from what this brand's channels actually report.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.
- Platform (`channel_type`, text): Only channels on this platform. The list is built from the platforms this brand's own channels report, so it always matches what Nuelink actually sends. Leave blank for every platform.
- Connection status (`status`, text): Only channels in this state. Leave blank for both connected and disconnected ones. One of: `ACTIVE` (Connected and working), `INACTIVE` (Disconnected, or needs re-authorising).

**Outputs**

- `brand_id` (number): The brand that was read.
- `channels` (list): The channels that matched
- `count` (number): How many came back.
- `platform_types` (list): Every platform name this brand's channels report, before filtering.
- `scanned_every_page` (true/false): False when the brand has more channels than one step reads, so the list is the first of them.

**Example output**

```json
{
  "brand_id": 13493,
  "channels": [
    {
      "createdAt": "2023-07-20T13:11:02.000000Z",
      "id": 88214,
      "name": "@fernwoodbotanicals",
      "status": "ACTIVE",
      "type": "Instagram",
      "updatedAt": "2026-04-15T13:45:23.000000Z"
    },
    {
      "createdAt": "2023-07-20T13:12:44.000000Z",
      "id": 88215,
      "name": "Fernwood Botanicals",
      "status": "INACTIVE",
      "type": "Facebook",
      "updatedAt": "2026-09-01T08:02:10.000000Z"
    }
  ],
  "count": 2,
  "platform_types": [
    "Facebook",
    "Instagram"
  ],
  "scanned_every_page": true
}
```

### List collection channels

List the social accounts one collection will actually publish to, with how many of them are still connected. Worth its own step because Nuelink accepts a post to an empty collection and reports it as created - this is how a workflow checks first and branches on 'publishes_anywhere'.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.
- Collection (`collection_id`, text, required): The collection to post into. A collection is a set of connected social accounts, and a post goes to all of them - there is no way to reach only some. Pick one, or paste its ID.

**Outputs**

- `active_count` (number): How many of them are connected.
- `brand_id` (number)
- `channels` (list): The channels attached to the collection.
- `collection_id` (number)
- `collection_title` (text)
- `count` (number)
- `inactive_count` (number): How many need reconnecting in Nuelink.
- `publishes_anywhere` (true/false): False when a post to this collection would reach nobody.

**Example output**

```json
{
  "active_count": 1,
  "brand_id": 13493,
  "channels": [
    {
      "createdAt": "2023-07-20T13:11:02.000000Z",
      "id": 88214,
      "name": "@fernwoodbotanicals",
      "status": "ACTIVE",
      "type": "Instagram",
      "updatedAt": "2026-04-15T13:45:23.000000Z"
    }
  ],
  "collection_id": 50218,
  "collection_title": "Everywhere",
  "count": 1,
  "inactive_count": 0,
  "publishes_anywhere": true
}
```

### List collections

List a brand's collections - the named sets of connected social accounts a post is addressed to. Each one comes back with the channels attached to it and a count of them, because a collection with no channels still accepts a post and then publishes it to nobody.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.
- Page (`page`, number): Which page to read, counting from 1. Read 'next_page' off the result to walk through them. At least 1.
- How many per page (`per_page`, number): How many records a page holds, 1-100. Defaults to 25. From 1 to 100.

**Outputs**

- `brand_id` (number)
- `collections` (list): The collections on this page
- `count` (number): How many records this page holds.
- `has_more` (true/false): Whether another page follows this one.
- `last_page` (number): The final page number.
- `next_page` (number): The page to ask for next, or null on the last one.
- `page` (number): The page that was read.
- `per_page` (number): The page size asked for.
- `total` (number): How many records match in total.

**Example output**

```json
{
  "brand_id": 13493,
  "collections": [
    {
      "active_channel_count": 1,
      "channel_count": 1,
      "channels": [
        {
          "createdAt": "2023-07-20T13:11:02.000000Z",
          "id": 88214,
          "name": "@fernwoodbotanicals",
          "status": "ACTIVE",
          "type": "Instagram",
          "updatedAt": "2026-04-15T13:45:23.000000Z"
        }
      ],
      "createdAt": "2023-07-20T13:14:00.000000Z",
      "description": "Every channel on the brand",
      "id": 50218,
      "status": "ACTIVE",
      "title": "Everywhere",
      "updatedAt": "2026-04-15T13:45:23.000000Z"
    }
  ],
  "count": 1,
  "has_more": false,
  "last_page": 1,
  "next_page": null,
  "page": 1,
  "per_page": 25,
  "total": 1
}
```

### List disconnected channels

List the brand's social accounts Nuelink can no longer publish to, because the platform's authorisation expired or was revoked. The same records 'List channels' returns filtered to INACTIVE, as its own step for the workflow that runs on a schedule and asks 'has anything dropped out?' - it returns 'any_disconnected' to branch on. Reconnecting is done in the Nuelink dashboard; no API can do it.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.

**Outputs**

- `any_disconnected` (true/false): True when at least one channel is disconnected.
- `brand_id` (number): The brand that was read.
- `channels` (list): The channels that need reconnecting
- `connected_count` (number): How many of the brand's channels still work.
- `count` (number): How many came back.
- `scanned_every_page` (true/false): False when the brand has more channels than one step reads, so the list is the first of them.

**Example output**

```json
{
  "any_disconnected": true,
  "brand_id": 13493,
  "channels": [
    {
      "createdAt": "2023-07-20T13:12:44.000000Z",
      "id": 88215,
      "name": "Fernwood Botanicals",
      "status": "INACTIVE",
      "type": "Facebook",
      "updatedAt": "2026-09-01T08:02:10.000000Z"
    }
  ],
  "connected_count": 1,
  "count": 1,
  "scanned_every_page": true
}
```

### Upload media

Upload one image, video or PDF to a brand and get back the media ID a post attaches it by. Nuelink takes a single file per upload, up to 100 MB, as PNG, JPG, MP4, MOV or PDF. Each social platform then applies its own limits on top - Instagram caps video length, TikTok wants certain aspect ratios - so a file Nuelink accepts here can still be refused at publish time. Uploads cannot be listed or deleted through the API afterwards.

**Inputs**

- Brand (`brand_id`, text, required): The Nuelink brand to work in. Pick one from the list, or paste its ID or the dashboard URL of a page inside it.
- File (`media`, text, required): The image, video or PDF to upload: png, jpg, jpeg, mp4, mov, pdf, up to 100 MB. Upload one here, or pick a file produced by an earlier step.

**Outputs**

- `media` (object): The uploaded media record.
- `media_id` (text): The ID to put in a post's 'Uploaded media' field.

**Example output**

```json
{
  "media": {
    "id": "bWVkaWEvcmo2dzRhSVY4YUJOMWJoU3c4U2t6VEJOenVXcjRoTmsuanBn",
    "size": 4587311,
    "type": "image/jpeg"
  },
  "media_id": "bWVkaWEvcmo2dzRhSVY4YUJOMWJoU3c4U2t6VEJOenVXcjRoTmsuanBn"
}
```
