---
title: "[WRITE] Reply Post With Media"
method: POST
path: "/tw-v2/interaction/reply-post-with-media"
tags: ["Post (write)"]
---

# \[WRITE\] Reply Post With Media

`POST /tw-v2/interaction/reply-post-with-media`

## Request

- Base URL: `https://api.tweetapi.com`
- URL: `https://api.tweetapi.com/tw-v2/interaction/reply-post-with-media`
- Auth: API key in header `X-API-Key`

Reply to an existing tweet with media attachments. Creates a tweet in the conversation thread with up to 4 images or 1 video. Supports text content up to 280 characters for non-premium users, or 25,000 characters for premium users.

## Request body

- ReplyPostWithMediaRequest
  - `authToken` string, required: Caller-supplied auth_token cookie value. Treat it as a secret.
  - `text` string, required
  - `proxy` string, required
  - `disableLinkPreview` boolean
  - `tweetId` string, required
  - `media` TweetMediaInput[], required
    - union
      - object
        - `media_id` string, required
      - object
        - `url` string, uri, required
        - `type` 'image/jpeg' | 'image/jpg' | 'image/png' | 'image/webp' | 'image/gif' | 'video/mp4' | 'video/quicktime' | 'video/mpeg' | 'video/x-m4v' | 'video/x-ms-wmv' | 'video/x-msvideo' | 'video/webm'
      - object
        - `data` string, byte, required
        - `type` 'image/jpeg' | 'image/jpg' | 'image/png' | 'image/webp' | 'image/gif' | 'video/mp4' | 'video/quicktime' | 'video/mpeg' | 'video/x-m4v' | 'video/x-ms-wmv' | 'video/x-msvideo' | 'video/webm', required

## Response `201`

Created

- ActionResponse
  - `data` object, required
    - `id` string, required
    - `action` string, required
    - `timestamp` string, date-time, required
    - `success` boolean, required
    - `message` string
    - `metadata` object

## Other responses

- `400`: The request is invalid. Check the parameters and try again.
- `401`: The TweetAPI key or caller-supplied Twitter authentication token is missing or invalid.
- `403`: The authenticated account is not permitted to perform the operation.
- `404`: The requested resource or route was not found.
- `429`: A plan limit rejected the request. The code field says which one. RATE_LIMITED means the per-minute limit was exceeded; wait for Retry-After. QUOTA_EXHAUSTED means the allowance and prepaid balance are used up. SUBSCRIPTION_INACTIVE means the subscription has expired or is inactive. Retrying won't fix the last two. A 429 without a code is temporary; retry with bounded backoff. This response does not include X-RateLimit headers.
- `500`: The request could not be completed.
- `503`: Request allowance is temporarily unavailable. This request was not processed. Follow Retry-After before trying again; contact support if the error persists.

---

[API](https://skmtc.dev/tweetapi/apis/tweetapi-v2-api-reference.md) · [All operations](https://skmtc.dev/tweetapi/apis/tweetapi-v2-api-reference/llms.txt) · [OpenAPI document](https://skmtc.dev/tweetapi/apis/tweetapi-v2-api-reference/revisions/51bc9024013d?raw)
