TikTok Direct Post can duplicate posts after ambiguous retries
Author: iamkiayunCreated Aug 12, 2026Updated Aug 12, 2026
Bug
TikTok Direct Post tasks can create more than one public post when a transient failure occurs after TikTok has accepted the publish request but before AiToEarn persists the returned publish_id.
Failure sequence
- AiToEarn calls TikTok's Direct Post initialization endpoint.
- TikTok creates the publish operation and returns a
publish_id. - The upload or local persistence path fails.
- The task is treated as retryable and returns to the publish queue.
- The retry initializes a second TikTok publish operation for the same task.
An ambiguous timeout during initialization has the same risk because the client cannot know whether TikTok accepted the request.
Expected behavior
- Persist
publish_idbefore any upload or follow-up work. - After a remote checkpoint exists, reconcile status instead of calling Direct Post initialization again.
- Do not automatically retry ambiguous TikTok publish-init failures.
- If TikTok reports multiple public post IDs for one
publish_id, preserve the first canonical ID and retain all IDs for incident diagnosis.
Validation
A patch with focused regression tests is ready. It covers the checkpoint-before-upload sequence, credential-refresh re-entry, disabled ambiguous retries, reconciliation after checkpointed failures, and multiple public post IDs.
Source: yikart/AiToEarn