Use threadsctl as the default interface for Threads operations.
This skill is model-agnostic. It can be used with OpenAI Codex, Gemini, or another OpenClaw text provider. Optional image generation providers are separate from Threads publishing.
Source: https://clawhub.ai/dladislav201/openclaw-threadsctl
threadsctl is installed and available in PATH.THREADS_SERVICE_URL and THREADS_SERVICE_API_KEY are configured for the CLI.Gemini if the user wants help creating images before posting.threadsctl from /opt/threads-service-ts/threads-service on the server where the service is deployed.curl or direct HTTP requests.threadsctl over raw curl or manual HTTP requests.--confirmed only when the user clearly intends immediate publishing.--file for images generated locally by OpenClaw under /root/.openclaw/media/....--media-url only when the image is already hosted at a reachable public URL.--files with publish carousel.--spoiler only when the user wants media blurred as a spoiler. For carousel posts, spoiler applies to all attached media.threadsctl commands from /opt/threads-service-ts/threads-service so the deployed wrapper and Docker setup are used.The service supports Threads carousel posts for publishing multiple photos in one post.
threadsctl publish carousel for immediate publishing.threadsctl draft create --type carousel for draft-first publishing.--media-urls "url1,url2" when the images are already hosted and reachable by Threads.--files "path1,path2" when the images are local files available inside the deployed service/container.publish image commands unless the user explicitly wants separate posts.Examples:
cd /opt/threads-service-ts/threads-service
threadsctl publish carousel --account main-brand --media-urls "https://example.com/1.jpg,https://example.com/2.jpg" --text "Photo dump" --confirmed
threadsctl publish carousel --account main-brand --files "/root/.openclaw/media/one.jpg,/root/.openclaw/media/two.jpg" --text "Photo dump" --confirmed
The service supports Threads media spoilers for image and carousel posts.
--spoiler when the user asks for the photo/media to be blurred, hidden, marked as spoiler, or covered until tapped.--spoiler works with publish image, publish carousel, and media drafts.--spoiler for text-only posts.--spoiler applies to every photo in the carousel. Threads API does not let this service mark only one photo in the carousel as spoiler.Examples:
cd /opt/threads-service-ts/threads-service
threadsctl publish image --account main-brand --file "/root/.openclaw/media/spoiler.jpg" --text "Spoiler warning" --spoiler --confirmed
threadsctl publish carousel --account main-brand --files "/root/.openclaw/media/one.jpg,/root/.openclaw/media/two.jpg" --text "Spoiler gallery" --spoiler --confirmed
threadsctl accounts list
threadsctl accounts stats --account main-brand
threadsctl auth connect-url --label main-brand
threadsctl drafts list --account main-brand
threadsctl draft create --account main-brand --type text --text "Post content" --created-by "OpenClaw"
threadsctl draft create --account main-brand --type image --media-url "https://example.com/image.jpg" --text "Caption" --alt-text "Alt text" --created-by "OpenClaw"
threadsctl draft create --account main-brand --type image --media-url "https://example.com/image.jpg" --text "Caption" --spoiler --created-by "OpenClaw"
threadsctl draft create --account main-brand --type carousel --media-urls "https://example.com/1.jpg,https://example.com/2.jpg" --text "Caption" --spoiler --created-by "OpenClaw"
threadsctl draft approve --id draft_xxx --approved-by "OpenClaw"
threadsctl draft publish --id draft_xxx --actor "OpenClaw"
cd /opt/threads-service-ts/threads-service
threadsctl publish text --account main-brand --text "Hello from Threads" --confirmed
threadsctl publish image --account main-brand --file "/root/.openclaw/media/tool-image-generation/image-1---real-file.jpg" --text "Caption" --alt-text "Alt text" --confirmed
threadsctl publish image --account main-brand --media-url "https://example.com/image.jpg" --text "Caption" --alt-text "Alt text" --confirmed
threadsctl publish image --account main-brand --file "/root/.openclaw/media/tool-image-generation/image.jpg" --text "Caption" --spoiler --confirmed
threadsctl publish carousel --account main-brand --media-urls "https://example.com/1.jpg,https://example.com/2.jpg" --text "Photo dump" --confirmed
threadsctl publish carousel --account main-brand --files "/root/.openclaw/media/one.jpg,/root/.openclaw/media/two.jpg" --text "Photo dump" --spoiler --confirmed
threadsctl published list --account main-brand
Use when the user clearly wants an immediate post.
cd /opt/threads-service-ts/threads-service
threadsctl publish text --account main-brand --text "Launching today" --confirmed
Use when the user wants review, approval, or preparation before posting.
threadsctl draft create --account main-brand --type text --text "Launching today" --created-by "OpenClaw"
If the user wants a brand new image, first use the configured image generation provider. If OpenClaw saved the file locally under /root/.openclaw/media/..., publish it with --file.
cd /opt/threads-service-ts/threads-service
threadsctl publish image --account main-brand --file "/root/.openclaw/media/tool-image-generation/generated-image.jpg" --text "Launching today" --alt-text "Product launch image" --confirmed
Use --media-url only when the image is already hosted at a public URL:
cd /opt/threads-service-ts/threads-service
threadsctl publish image --account main-brand --media-url "https://example.com/generated-image.jpg" --text "Launching today" --alt-text "Product launch image" --confirmed
Use carousel for 2 to 20 images in one Threads post.
cd /opt/threads-service-ts/threads-service
threadsctl publish carousel --account main-brand --files "/root/.openclaw/media/one.jpg,/root/.openclaw/media/two.jpg" --text "Behind the scenes" --confirmed
Use --spoiler for image or carousel media when the user wants Threads to blur the media as a spoiler.
cd /opt/threads-service-ts/threads-service
threadsctl publish image --account main-brand --file "/root/.openclaw/media/spoiler.jpg" --text "Spoiler warning" --spoiler --confirmed
For carousel posts, --spoiler applies to all attached media.
To connect a new Threads account:
threadsctl auth connect-url --label client-two
curl when threadsctl supports the action.--confirmed unless immediate publishing is intended.--media-url.--spoiler for text-only posts.Prefer short result summaries:
Published successfully from main-brand.Draft created for second-brand.Could not publish because confirmation was not provided.共 1 个版本