dialogbrain-com Video Studio API

The video-studio API from dialogbrain-com — 21 operation(s) for video-studio.

Operations 24

GET /api/workspace/video-studio/models List Models #
POST /api/workspace/video-studio/generate Generate Video #
POST /api/workspace/video-studio/talking-head Generate Talking Head #
GET /api/workspace/video-studio/jobs List Jobs #
GET /api/workspace/video-studio/jobs/{job_id} Get Job #
POST /api/workspace/video-studio/enhance-prompt Enhance Prompt #
POST /api/workspace/video-studio/generate-image Generate Image #
POST /api/workspace/video-studio/upload-youtube Upload To Youtube #
POST /api/workspace/video-studio/upload-instagram Upload To Instagram #
POST /api/workspace/video-studio/edit-youtube Edit Youtube Video #
POST /api/workspace/video-studio/edit-instagram Edit Instagram Media #
POST /api/workspace/video-studio/delete-youtube Delete Youtube Video #
GET /api/workspace/video-studio/multiscene/projects List Multiscene Projects #
POST /api/workspace/video-studio/multiscene/projects Create Multiscene Project #
GET /api/workspace/video-studio/multiscene/projects/{project_id} Get Multiscene Project #
PATCH /api/workspace/video-studio/multiscene/projects/{project_id} Patch Multiscene Project #
DELETE /api/workspace/video-studio/multiscene/projects/{project_id} Delete Multiscene Project #
POST /api/workspace/video-studio/multiscene/projects/{project_id}/render Render Multiscene Project #
POST /api/workspace/video-studio/multiscene/split Split Multiscene #
GET /api/workspace/video-studio/multiscene/file-url/{file_id} Multiscene File Url #
GET /api/workspace/video-studio/multiscene/media-info/{file_id} Multiscene Media Info #
GET /api/workspace/video-studio/multiscene/poster/{file_id} Multiscene Poster #
POST /api/workspace/video-studio/multiscene/scene-audio Multiscene Scene Audio #
POST /api/workspace/video-studio/multiscene/projects/{project_id}/scenes/{scene_id}/preview Preview Multiscene Scene #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dialogbrain-com:dialogbrain-com-video-studio-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dialogbrain-com-video-studio-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DialogBrain v2 API Gateway Video Studio API
  description: Clean refactored API gateway with minimal vertical slice
  version: 0.1.0
tags:
- name: video-studio
paths:
  /api/workspace/video-studio/models:
    get:
      tags:
      - video-studio
      summary: List Models
      operationId: list_models_api_workspace_video_studio_models_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/workspace/video-studio/generate:
    post:
      tags:
      - video-studio
      summary: Generate Video
      operationId: generate_video_api_workspace_video_studio_generate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/talking-head:
    post:
      tags:
      - video-studio
      summary: Generate Talking Head
      description: 'Avatar / talking-head: face image + script → lip-synced video with

        the workspace''s cloned voice (Wan 2.2-S2V via fal). Returns a job_id;

        the result appears in GET /jobs like any other video-studio job.'
      operationId: generate_talking_head_api_workspace_video_studio_talking_head_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TalkingHeadRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TalkingHeadResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/jobs:
    get:
      tags:
      - video-studio
      summary: List Jobs
      operationId: list_jobs_api_workspace_video_studio_jobs_get
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: kind
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Kind
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/jobs/{job_id}:
    get:
      tags:
      - video-studio
      summary: Get Job
      operationId: get_job_api_workspace_video_studio_jobs__job_id__get
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: integer
          title: Job Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/enhance-prompt:
    post:
      tags:
      - video-studio
      summary: Enhance Prompt
      operationId: enhance_prompt_api_workspace_video_studio_enhance_prompt_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnhancePromptRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnhancePromptResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/generate-image:
    post:
      tags:
      - video-studio
      summary: Generate Image
      operationId: generate_image_api_workspace_video_studio_generate_image_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateImageRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateImageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/upload-youtube:
    post:
      tags:
      - video-studio
      summary: Upload To Youtube
      operationId: upload_to_youtube_api_workspace_video_studio_upload_youtube_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadYouTubeRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadYouTubeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/upload-instagram:
    post:
      tags:
      - video-studio
      summary: Upload To Instagram
      operationId: upload_to_instagram_api_workspace_video_studio_upload_instagram_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadInstagramRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadInstagramResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/edit-youtube:
    post:
      tags:
      - video-studio
      summary: Edit Youtube Video
      operationId: edit_youtube_video_api_workspace_video_studio_edit_youtube_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditYouTubeRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/edit-instagram:
    post:
      tags:
      - video-studio
      summary: Edit Instagram Media
      operationId: edit_instagram_media_api_workspace_video_studio_edit_instagram_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditInstagramRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/delete-youtube:
    post:
      tags:
      - video-studio
      summary: Delete Youtube Video
      operationId: delete_youtube_video_api_workspace_video_studio_delete_youtube_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteYouTubeRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/multiscene/projects:
    get:
      tags:
      - video-studio
      summary: List Multiscene Projects
      operationId: list_multiscene_projects_api_workspace_video_studio_multiscene_projects_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
    post:
      tags:
      - video-studio
      summary: Create Multiscene Project
      operationId: create_multiscene_project_api_workspace_video_studio_multiscene_projects_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectIn'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/multiscene/projects/{project_id}:
    get:
      tags:
      - video-studio
      summary: Get Multiscene Project
      operationId: get_multiscene_project_api_workspace_video_studio_multiscene_projects__project_id__get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: integer
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - video-studio
      summary: Patch Multiscene Project
      operationId: patch_multiscene_project_api_workspace_video_studio_multiscene_projects__project_id__patch
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: integer
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - video-studio
      summary: Delete Multiscene Project
      operationId: delete_multiscene_project_api_workspace_video_studio_multiscene_projects__project_id__delete
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: integer
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/multiscene/projects/{project_id}/render:
    post:
      tags:
      - video-studio
      summary: Render Multiscene Project
      operationId: render_multiscene_project_api_workspace_video_studio_multiscene_projects__project_id__render_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: integer
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/multiscene/split:
    post:
      tags:
      - video-studio
      summary: Split Multiscene
      operationId: split_multiscene_api_workspace_video_studio_multiscene_split_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SplitRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/multiscene/file-url/{file_id}:
    get:
      tags:
      - video-studio
      summary: Multiscene File Url
      description: 'Signed URL for a file_id — used by the Scene Inspector preview pane to

        show a scene''s source visual (face/image/etc.) without downloading bytes.'
      operationId: multiscene_file_url_api_workspace_video_studio_multiscene_file_url__file_id__get
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
          title: File Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/multiscene/media-info/{file_id}:
    get:
      tags:
      - video-studio
      summary: Multiscene Media Info
      description: 'ffprobe a file → {duration, has_audio}. Used by "+ Add media" to reliably

        decide whether a dropped clip carries audio (→ linked audio lane clip).'
      operationId: multiscene_media_info_api_workspace_video_studio_multiscene_media_info__file_id__get
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
          title: File Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/multiscene/poster/{file_id}:
    get:
      tags:
      - video-studio
      summary: Multiscene Poster
      description: 'Thumbnail URL for a scene''s source file, so timeline cards show their real

        visual even without a captured `_thumb`. Images presign directly; videos get

        a one-time extracted poster frame (cached by source file_id).'
      operationId: multiscene_poster_api_workspace_video_studio_multiscene_poster__file_id__get
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
          title: File Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/multiscene/scene-audio:
    post:
      tags:
      - video-studio
      summary: Multiscene Scene Audio
      description: 'Synthesize (or reuse cached) narration audio for the storyboard preview.

        Stateless — operates on the posted text + voice so it works on UNSAVED edits;

        the eventual render re-resolves the same hash and hits the same cache.'
      operationId: multiscene_scene_audio_api_workspace_video_studio_multiscene_scene_audio_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SceneAudioIn'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/workspace/video-studio/multiscene/projects/{project_id}/scenes/{scene_id}/preview:
    post:
      tags:
      - video-studio
      summary: Preview Multiscene Scene
      description: Render a single scene (cheap preview before the full project render).
      operationId: preview_multiscene_scene_api_workspace_video_studio_multiscene_projects__project_id__scenes__scene_id__preview_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: integer
          title: Project Id
      - name: scene_id
        in: path
        required: true
        schema:
          type: string
          title: Scene Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    EditInstagramRequest:
      properties:
        job_id:
          type: integer
          title: Job Id
        caption:
          type: string
          maxLength: 2200
          title: Caption
      type: object
      required:
      - job_id
      - caption
      title: EditInstagramRequest
    SplitRequest:
      properties:
        script:
          type: string
          maxLength: 20000
          minLength: 1
          title: Script
        style:
          type: string
          maxLength: 200
          title: Style
          default: ''
      type: object
      required:
      - script
      title: SplitRequest
    UploadYouTubeResponse:
      properties:
        video_id:
          type: string
          title: Video Id
        youtube_url:
          type: string
          title: Youtube Url
        thread_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Thread Id
      type: object
      required:
      - video_id
      - youtube_url
      title: UploadYouTubeResponse
    GenerateResponse:
      properties:
        job_id:
          type: integer
          title: Job Id
        task_id:
          type: string
          title: Task Id
        status:
          type: string
          title: Status
        eta_seconds:
          type: integer
          title: Eta Seconds
        cost_usd:
          type: number
          title: Cost Usd
        model:
          type: string
          title: Model
      type: object
      required:
      - job_id
      - task_id
      - status
      - eta_seconds
      - cost_usd
      - model
      title: GenerateResponse
    GenerateImageRequest:
      properties:
        prompt:
          type: string
          maxLength: 4000
          minLength: 3
          title: Prompt
        reference_file_ids:
          items:
            type: integer
          type: array
          title: Reference File Ids
        aspect_ratio:
          type: string
          title: Aspect Ratio
          default: '1:1'
      type: object
      required:
      - prompt
      title: GenerateImageRequest
    UploadInstagramResponse:
      properties:
        media_id:
          type: string
          title: Media Id
        permalink:
          anyOf:
          - type: string
          - type: 'null'
          title: Permalink
        thread_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Thread Id
      type: object
      required:
      - media_id
      title: UploadInstagramResponse
    SceneAudioIn:
      properties:
        narration:
          type: string
          title: Narration
          default: ''
        voice_clone_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Voice Clone Id
      type: object
      title: SceneAudioIn
    DeleteYouTubeRequest:
      properties:
        job_id:
          type: integer
          title: Job Id
      type: object
      required:
      - job_id
      title: DeleteYouTubeRequest
    EnhancePromptRequest:
      properties:
        prompt:
          type: string
          maxLength: 4000
          minLength: 1
          title: Prompt
        reference_file_ids:
          items:
            type: integer
          type: array
          title: Reference File Ids
      type: object
      required:
      - prompt
      title: EnhancePromptRequest
    TalkingHeadRequest:
      properties:
        face_file_id:
          type: integer
          title: Face File Id
        script:
          type: string
          maxLength: 8000
          minLength: 1
          title: Script
        voice_clone_id:
          type: integer
          title: Voice Clone Id
        model:
          type: string
          title: Model
          default: wan2.2-s2v
        resolution:
          type: string
          title: Resolution
          default: 720p
        aspect_ratio:
          type: string
          title: Aspect Ratio
          default: '9:16'
        burn_captions:
          type: boolean
          title: Burn Captions
          default: false
        language:
          type: string
          title: Language
          default: en
        scene_hint:
          type: string
          maxLength: 500
          title: Scene Hint
          default: ''
      type: object
      required:
      - face_file_id
      - script
      - voice_clone_id
      title: TalkingHeadRequest
    EnhancePromptResponse:
      properties:
        enhanced_prompt:
          type: string
          title: Enhanced Prompt
        original_prompt:
          type: string
          title: Original Prompt
      type: object
      required:
      - enhanced_prompt
      - original_prompt
      title: EnhancePromptResponse
    TalkingHeadResponse:
      properties:
        job_id:
          type: integer
          title: Job Id
        num_segments:
          type: integer
          title: Num Segments
        status:
          type: string
          title: Status
        model:
          type: string
          title: Model
        est_cost_usd:
          type: number
          title: Est Cost Usd
        eta_seconds:
          type: integer
          title: Eta Seconds
      type: object
      required:
      - job_id
      - num_segments
      - status
      - model
      - est_cost_usd
      - eta_seconds
      title: TalkingHeadResponse
    EditYouTubeRequest:
      properties:
        job_id:
          type: integer
          title: Job Id
        title:
          anyOf:
          - type: string
            maxLength: 100
          - type: 'null'
          title: Title
        description:
          anyOf:
          - type: string
            maxLength: 5000
          - type: 'null'
          title: Description
        privacy:
          anyOf:
          - type: string
          - type: 'null'
          title: Privacy
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tags
      type: object
      required:
      - job_id
      title: EditYouTubeRequest
    GenerateRequest:
      properties:
        prompt:
          type: string
          maxLength: 4000
          minLength: 3
          title: Prompt
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
        duration:
          type: integer
          title: Duration
          default: 5
        resolution:
          type: string
          title: Resolution
          default: 720p
        aspect_ratio:
          type: string
          title: Aspect Ratio
          default: '16:9'
        generate_audio:
          type: boolean
          title: Generate Audio
          default: false
        negative_prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Negative Prompt
        reference_file_ids:
          items:
            type: integer
          type: array
          title: Reference File Ids
        seed:
          anyOf:
          - type: integer
          - type: 'null'
          title: Seed
        shot_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Shot Type
        style:
          anyOf:
          - type: string
          - type: 'null'
          title: Style
        camera_motion:
          anyOf:
          - type: string
          - type: 'null'
          title: Camera Motion
      type: object
      required:
      - prompt
      title: GenerateRequest
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ProjectIn:
      properties:
        title:
          type: string
          title: Title
          default: Untitled project
        aspect_ratio:
          type: string
          title: Aspect Ratio
          default: '9:16'
        resolution:
          type: string
          title: Resolution
          default: 720p
        default_voice_clone_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Default Voice Clone Id
        music_file_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Music File Id
        captions_on:
          type: boolean
          title: Captions On
          default: true
        intro_file_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Intro File Id
        outro_file_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Outro File Id
        scenes:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Scenes
        caption_style:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Caption Style
      type: object
      title: ProjectIn
    GenerateImageResponse:
      properties:
        file_id:
          type: integer
          title: File Id
        download_url:
          type: string
          title: Download Url
        mime_type:
          type: string
          title: Mime Type
          default: image/png
        byte_size:
          anyOf:
          - type: integer
          - type: 'null'
          title: Byte Size
        cost_usd:
          anyOf:
          - type: number
          - type: 'null'
          title: Cost Usd
      type: object
      required:
      - file_id
      - download_url
      title: GenerateImageResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    UploadInstagramRequest:
      properties:
        file_id:
          type: integer
          title: File Id
        caption:
          type: string
          maxLength: 2200
          title: Caption
          default: ''
        share_to_feed:
          type: boolean
          title: Share To Feed
          default: true
      type: object
      required:
      - file_id
      title: UploadInstagramRequest
    UploadYouTubeRequest:
      properties:
        file_id:
          type: integer
          title: File Id
        title:
          type: string
          maxLength: 100
          title: Title
        description:
          anyOf:
          - type: string
            maxLength: 5000
          - type: 'null'
          title: Description
        privacy:
          type: string
          title: Privacy
          default: private
        tags:
          items:
            type: string
          type: array
          title: Tags
      type: object
      required:
      - file_id
      - title
      title: UploadYouTubeRequest