Skip to main content
After rendering a clip, you can publish it to one or more connected accounts with POST /posts. A single post can carry multiple clips to multiple accounts at once.

Before you start

You need two things:

A rendered clip

The editId is the edit_setting_id that the render returns when complete. It is what identifies the video to publish.

Connected accounts

The connectionId comes from GET /connections. Connect new accounts via OAuth inside cut.pro. The API does not connect accounts.

How the body is built

Each item in videos points a clip (editId) to one or more targets (targets). Each target combines a connection (connectionId) with the metadata specific to that platform (title, privacy, etc.).
curl -X POST https://api.cut.pro/api/v1/posts \
  -H "X-Api-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "videos": [
      {
        "editId": "EDIT_SETTING_ID",
        "targets": [
          {
            "connectionId": "CONEXAO_TIKTOK",
            "metadata": {
              "tiktok": {
                "title": "Meu corte viral",
                "privacyLevel": "PUBLIC_TO_EVERYONE"
              }
            }
          },
          {
            "connectionId": "CONEXAO_YOUTUBE",
            "metadata": {
              "youtube": {
                "title": "Meu corte viral",
                "description": "Cortes do episódio de hoje",
                "categoryId": "22",
                "privacyStatus": "public"
              }
            }
          }
        ]
      }
    ]
  }'
The metadata changes per platform (TikTok, YouTube, Instagram, Threads, Bluesky, LinkedIn, Pinterest, Facebook). The required fields and options for each are detailed on the endpoint page POST /posts, with the interactive playground.
To schedule instead of publishing now, send scheduled_at with an ISO 8601 date in the future.

Track the publishing

The response includes post_id, item_count, and status (pending or processing). Poll GET /posts/{id}:
curl https://api.cut.pro/api/v1/posts/POST_ID \
  -H "X-Api-Key: YOUR_KEY"
The post status evolves like this:
StatusMeaning
pendingIn the queue, not started yet
processingPublishing to the accounts
completedAll items published
partialSome published, others failed
failedNo item published
The items array shows the result per account, useful when the status is partial.

When something fails

Items fail independently: a target with an error does not bring down the ones that already published.
  • Retry a failed item: POST /posts/{id}/items/{itemId}/retry
  • Remove an item without touching the others: DELETE /posts/{id}/items/{itemId}
  • Delete the whole post: DELETE /posts/{id}
  • Edit before publishing (e.g. adjust scheduling): PATCH /posts/{id}
Last modified on June 2, 2026