> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rawugc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Schedule or draft a post

> Schedule a video for publishing to social media platforms, or save it as a draft. Supports TikTok, Instagram, and YouTube. TikTok posts support additional privacy and content settings.



## OpenAPI

````yaml /openapi.json post /social/posts
openapi: 3.0.0
info:
  title: RawUGC API
  version: 1.0.0
  description: >-
    Generate AI videos, images, and music, and schedule social media posts
    programmatically.
  contact:
    name: API Support
    email: support@rawugc.com
    url: https://docs.rawugc.com
  license:
    name: Proprietary
servers:
  - url: https://rawugc.com/api/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Tasks
    description: >-
      Deprecated. Use typed resource endpoints instead: GET /videos/{videoId},
      GET /images/{imageId}, GET /music/{musicId}.
  - name: Image Generation
    description: >-
      Generate and edit AI images using Nano Banana models. Supports
      text-to-image generation (6 credits) and image-to-image editing (2
      credits).
  - name: Video Generation
    description: Generate and manage AI videos using Sora 2, Kling, and Veo 3 models
  - name: Personas
    description: Manage target audience personas for content plans
  - name: Messaging
    description: Manage brand/positioning messaging for content plans
  - name: Products
    description: Manage products for video generation
  - name: Styles
    description: Manage video creative styles and templates
  - name: Characters
    description: List available AI characters for video generation
  - name: Video Editing
    description: Post-process videos with captions, overlays, and effects
  - name: Upload
    description: Upload video and image files for use in generation requests
  - name: Social Scheduling
    description: Schedule and manage social media posts to TikTok, Instagram, and YouTube
  - name: Social Accounts
    description: Manage connected social media accounts
  - name: Music Generation
    description: >-
      Generate AI music tracks using Suno models with customizable genre, mood,
      and style
  - name: Viral Library
    description: >-
      Browse and search analyzed TikTok videos across the platform. Includes
      AI-powered analysis with hooks, keyframes, performance insights, and
      semantic search via natural language queries.
  - name: Research
    description: >-
      Scrape TikTok videos, analyze any video, and generate content plans. Tools
      for competitive research and content strategy.
paths:
  /social/posts:
    post:
      tags:
        - Social Scheduling
      summary: Schedule or draft a post
      description: >-
        Schedule a video for publishing to social media platforms, or save it as
        a draft. Supports TikTok, Instagram, and YouTube. TikTok posts support
        additional privacy and content settings.
      operationId: createSocialPost
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchedulePostRequest'
      responses:
        '201':
          description: Post created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SocialPost'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    SchedulePostRequest:
      type: object
      required:
        - videoUrl
        - accountIds
        - mode
      properties:
        videoUrl:
          type: string
          format: uri
          description: URL of the video to schedule
        accountIds:
          type: array
          items:
            type: string
          minItems: 1
          description: >-
            Array of accountId values from connected accounts (see GET
            /social/accounts)
        mode:
          type: string
          enum:
            - schedule
            - draft
            - now
          description: >-
            Publish mode. 'schedule' requires scheduledFor. 'now' publishes
            immediately. 'draft' saves as draft.
        scheduledFor:
          type: integer
          description: >-
            Unix timestamp (ms) for the scheduled publish time. Required when
            mode is 'schedule'.
        timezone:
          type: string
          default: UTC
          description: IANA timezone string (e.g., 'America/New_York')
        content:
          type: string
          maxLength: 2200
          description: Post caption/content
        videoId:
          type: string
          description: >-
            Optional RawUGC video ID (vid_xxx format) to link this post to a
            generated video
        publishToInbox:
          type: boolean
          description: >-
            Send video to TikTok Creator Inbox for review before publishing. Use
            with mode: 'now' or 'draft'.
        tiktokPrivacyLevel:
          type: string
          enum:
            - SELF_ONLY
            - PUBLIC_TO_EVERYONE
            - MUTUAL_FOLLOW_FRIENDS
            - FOLLOWER_OF_CREATOR
          description: TikTok video privacy level
        tiktokAllowComment:
          type: boolean
          description: Allow comments on TikTok post
        tiktokAllowDuet:
          type: boolean
          description: Allow duets on TikTok post
        tiktokAllowStitch:
          type: boolean
          description: Allow stitches on TikTok post
        tiktokCommercialContentType:
          type: string
          enum:
            - none
            - brand_organic
            - brand_content
          description: TikTok commercial content disclosure type
    SocialPost:
      type: object
      properties:
        postId:
          type: string
          description: Post ID
        platforms:
          type: array
          items:
            type: string
          description: Platform names
        status:
          type: string
          enum:
            - draft
            - scheduled
            - published
            - failed
        scheduledFor:
          type: number
          description: Unix timestamp of scheduled publish time
        timezone:
          type: string
        content:
          type: string
          description: Post caption
        videoUrl:
          type: string
          format: uri
        createdAt:
          type: number
        publishedAt:
          type: number
    ApiError:
      type: object
      properties:
        type:
          type: string
          format: uri
          description: >-
            URI reference identifying the problem type (e.g.,
            https://api.rawugc.com/errors/validation_error)
        title:
          type: string
          description: Short, human-readable summary of the problem
        status:
          type: number
          description: HTTP status code
        detail:
          type: string
          description: Human-readable explanation of the problem
        instance:
          type: string
          format: uri
          description: URI reference identifying this specific occurrence
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Field-specific validation errors
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Use your API key from the RawUGC dashboard. Include as: Authorization:
        Bearer YOUR_API_KEY

````