Skip to main content
This page lists the failure messages you actually see when a post does not go out, with the cause and the fix for each. It is written from the live publish log, not from imagined questions. Two different things, worth keeping apart:
  • This page is about one post failing to publish, usually because the destination platform refused it.
  • Error codes is about the API error codes (401, 429, platform_not_connected…) your code receives. Read that one if you are writing an integration.
Failure text is passed through verbatim from the destination platform, usually in English. Where the Hub has a Vietnamese rendering, the API adds it after · Tạm dịch:, and the Đăng bài screen shows the rendering in place of the English. To find yours quickly, press Ctrl+F (or Cmd+F) and paste a few words from the message.

The Profile has no account connected for that platform

You see: None of the requested platforms are valid for profile ... has no Instagram account configured This is the most common cause by a wide margin. Why: the post targeted a platform the Profile has no account connected for, or the connection has stopped being valid. Connections lapsing is ordinary: you changed a password, revoked access, the platform asked for re-authentication, or the platform expired the grant on its own. How to fix:
  1. Open Connections in the dashboard and select the Profile you are actually posting with. With several Profiles it is easy to post with one and to have connected the other.
  2. If the platform is not in the connected list, connect it and grant access again.
  3. If you just reconnected and it still fails, read The platform is restricting your account below. Reconnecting does not clear that case.
Resending the same request unchanged will fail the same way. Connect the account, or drop that platform from platforms, before retrying.

The platform is restricting your account

You see:
  • Instagram: Action suspected as spam. Activity is restricted.
  • You have reached the daily posting cap on tiktok. Used 15/15 in the last 24 hours.
Why: the platform is limiting your account. This is not a Hub fault. Instagram throttles behaviour that looks like spam (rapid posting, repeated content, a new account). TikTok enforces a rolling 24-hour cap. How to fix: slow the posting cadence, vary the content, and for a daily cap use scheduling to spread posts into the next day. Nothing on the Hub side can lift these limits, and reconnecting the account does not help.

The source file is not usable

You see:
  • Google Drive URL does not point to a video file. Content-Type: audio/mp4
  • Google Drive URL does not point to a video file. Content-Type: text/html
  • Video URL is not accessible
Why: the Hub fetches the file from the URL you send. A Google Drive share link usually returns the preview page (text/html) rather than the file, or an audio-only stream (audio/mp4) when the source is not really a video. A private link cannot be fetched at all. How to fix:
  1. Set sharing to anyone with the link can view.
  2. Use a direct download URL, not the preview URL.
  3. Check it yourself first: open the link in a private window. If you get a preview page, that is exactly what the Hub receives.
  4. The reliable answer is hosting the file somewhere that returns the video directly (S3, R2, a CDN, your own hosting).

A platform limit was exceeded

You see:
  • X: Tweet creation failed (403): This user is not allowed to post a video longer than 2 minutes.
  • Pinterest description is too long (509 characters). Maximum allowed is 500.
  • Pinterest title is too long (509 characters). Maximum allowed is 100.
  • Facebook title is too long (575 characters). Maximum allowed is 255.
  • Mastodon status is too long (724 characters). This instance allows a maximum of 500 characters.
  • Invalid platforms for photo upload: ['youtube']
Why: every platform sets its own limits on text length, video duration and accepted content types. A shared caption that is too long for a platform is cut for that platform before it is sent (see Character limits), so a length refusal usually concerns text written for one platform: <platform>_caption, <platform>_title, or a “Riêng từng nền tảng” box in the composer. That text is sent as you wrote it. Mastodon is the common case: 500 is only the default, each server sets its own limit, and the server refuses text over it. How to fix: shorten the text you wrote for that platform. For Mastodon, shorten it to the number the message gives, or go back to one shared caption, which is cut to 500 for Mastodon. A title or description that is too long has its own field in platform options. For a video that is too long for X, cut a shorter version for X alone, or drop X from that post and keep the rest. A photo-only post cannot go to YouTube, which takes video only (see Channels).

A required field is missing

You see: Title is required for Youtube. Provide a title. Why: YouTube requires its own title and will not take one from the post body. How to fix: set the title in YouTube’s own options before sending. See platform options for which fields are required where.

A temporary failure

You see:
  • TikTok photo upload timed out or failed. Last seen status: PROCESSING_DOWNLOAD
  • X API request failed during video upload: 401 Client Error: Unauthorized
  • Request failed (502)
Why: the destination platform or the network had a transient problem. Nothing is wrong with your content. How to fix: retry after a few minutes. If you call the API, send an Idempotency-Key so the retry cannot create a duplicate post. If it keeps repeating, contact support with the time and the platform.
upstream_timeout is the exception: the outcome is undetermined and the post may have gone out. Do not resend: poll the status with the request_id in that answer, or watch your publish history, which settles by itself. Details in Error codes.

Some platforms failed

You see: each platform that refused, with its own reason, for example
  • in the Kết quả column of the Đăng bài screen: Mastodon: Bài đăng Mastodon quá dài (724 ký tự). Máy chủ Mastodon này cho phép tối đa 500 ký tự.
  • through the API, and on the Tổng quan page: Mastodon: Mastodon status is too long (724 characters). This instance allows a maximum of 500 characters. · Tạm dịch: Bài đăng Mastodon quá dài (724 ký tự). Máy chủ Mastodon này cho phép tối đa 500 ký tự.
  • TikTok: Nền tảng từ chối bài đăng. when a platform gave no reason
  • Một số nền tảng thất bại: tiktok, youtube on posts from before 1 October 2026
Why: one call fanned out to several platforms and only some refused. The post IS live on the rest, so do not resend the whole thing or you will duplicate it where it already succeeded. How to fix: the result panel on the Đăng bài screen names each platform and its reason right after you post, and the Kết quả column under Bài đăng gần đây keeps it. Read the section above that matches each reason, then resend ONLY the platforms that failed: press Gửi lại kênh lỗi beside the post on the Tổng quan page (it lists only your most recent activity), or call POST /v1/posts/retry with the post’s request_id — from the publish answer, the failure email, or GET /v1/posts/history. Neither counts as a second upload. An automation (n8n, Make, your own code) that re-sends the post by calling the publish endpoint again publishes a second copy everywhere the first one went live — have it call retry instead. When every platform refuses, the post is recorded as “Không đăng được” instead: nothing was published, so fixing the content and sending the whole post again is safe.

The failure email

The Hub emails the account owner when posts did not publish, usually once a day around 08:30 Vietnam time. Each line gives the reason, how many posts it hit, and when each of them failed, in Vietnam time (for a scheduled post, the time it was due to go out), and, for a post that went live on some platforms, the request_id a retry takes. The email can arrive many hours after the failure, and it does not know about a post you re-sent yourself: if you have already re-posted one successfully, ignore its line. A post that went live on some platforms: resend only the platforms that failed, as in Some platforms failed. A post that went live nowhere: fix it and send the whole post again.

Still unclear

Send us the time of the post, the Profile, the platforms you selected and the exact failure text, at info@madiad.com or the hotline under Help in the dashboard. A real person answers.