---
title: "Update Article Cover Image"
method: POST
path: "/article/update_cover_media"
tags: ["Articles"]
---

# Update Article Cover Image

`POST /article/update_cover_media`

## Request

- Base URL: `https://api.twitterapis.com/twitter`
- URL: `https://api.twitterapis.com/twitter/article/update_cover_media`
- Auth: HTTP bearer

Set the cover image on an article you own, identified by its entity id. This attaches media you have already uploaded; it does not upload anything itself, so call media/upload first and pass the media_id it returns. Requires a registered session. Billed at $0.0016 per call. Cost: $0.0016 per call.

## Request body

- object
  - `id` string, required: The article's base64 entity id, returned by article/create or article/list (the id field, not rest_id).
  - `media_id` string, required: The media id returned by media/upload for the image you want to use as the cover.
  - `media_category` string: X's media category for the upload. Defaults to DraftTweetImage, which is what the X article editor itself sends. Only override this if you know X expects a different category for your media.

## Response `200`

Attach an uploaded image as an article's cover.

- object
  - `ok` boolean: True when the cover image was attached.
  - `article` object: The updated article, full shape, with cover_media now populated: id, rest_id, title, preview_text, lifecycle, content_state, cover_media, media_entities, author, created_at_secs, modified_at_secs, first_published_at_secs, visibility_setting, tweet_id, public_url.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `402`: Insufficient credits
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited
- `5XX`: Server error

---

[API](https://skmtc.dev/twitterapis/apis/twitterapis-api.md) · [All operations](https://skmtc.dev/twitterapis/apis/twitterapis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/twitterapis/apis/twitterapis-api/revisions/a33ce0fedb3c?raw)
