Install
openclaw skills install @0bull/0bull-youtube-postPublish a YouTube Short from a real rented iPhone through the 0bull MCP server, with the required title, then follow it to a final status.
openclaw skills install @0bull/0bull-youtube-post0bull rents real iPhones by the month. A Short is published by driving the YouTube app on one of those phones, so publishing is asynchronous: you queue a submission and poll it until it reaches a final status.
The 0bull MCP server must be connected:
openclaw mcp add 0bull --url https://0bull.net/mcp --transport streamable-http
openclaw mcp login 0bull
If list-accounts-tool is missing, stop and tell the user to run those two commands.
Pick the account. Call list-accounts-tool with platform: "youtube" and use the
account's id as account_id. A YouTube account carries the Google address it posts
from (google_email), which is how you tell similar channels apart.
Provide the video through exactly one of:
video_url: a public https URL the server downloads.upload_id: call create-upload-url-tool (no parameters), then POST or PUT the raw
video to the returned upload_url within 15 minutes, then pass the upload_id.Supplying both, or neither, is rejected.
Write the title. On YouTube the caption field is the Short's title. It is
required and capped at 100 characters. Agree it with the user; do not invent one.
Omitting it is refused, because an untitled Short ends up named after the date it was
posted.
Queue it. Call create-submission-tool with platform: "youtube", account_id, the
video and the title. Add draft: true to leave it as a draft on the phone instead of
publishing. The call returns the submission immediately in pending.
Poll get-submission-tool with the returned submission_id, leaving a second or two
between calls.
| Status | Meaning |
|---|---|
scheduled | Queued for a future run. |
pending | Queued, not picked up yet. |
ingesting | The video is being fetched or prepared. |
driving | The phone is being driven through the YouTube app. |
published | Posted. Final. |
drafted | Saved as a draft on the phone. Final. |
failed | The run failed. Final. |
cancelled | Cancelled before finishing. Final. |
Never say a Short is live before the status says published.
Give the Short a title. YouTube names an untitled Short after the date. means caption was missing. Over 100 characters is rejected too.phone-snapshot-tool on the account's slot shows the screen,
which usually explains it.cancel-submission-tool while pending, ingesting or driving,
delete-submission-tool once it is final.start-rental-tool or request-phones-tool. Those spend the user's money.For TikTok, use the 0bull-tiktok-post skill: captions there are optional and allow 2200
characters.