---
title: "POST /api/ai_shorts/"
method: POST
path: "/api/ai_shorts/"
tags: ["ai_shorts"]
---

# POST /api/ai_shorts/

`POST /api/ai_shorts/`

## Request body

- ArtsyVideoFlowCreate
  - `aspect_ratio` '9x16' | '16x9' | '1x1', required — * `9x16` - 9X16 * `16x9` - 16X9 * `1x1` - 1X1
  - `script` string, required
  - `style` '4K realistic' | '3D' | 'Cinematic' | 'Cartoonish' | 'Line art' | 'Pixel art' | 'Mysterious' | 'Steam punk' | 'Collage' | 'Kawaii', required — * `4K realistic` - _4K_REALISTIC * `3D` - _3D * `Cinematic` - CINEMATIC * `Cartoonish` - CARTOONISH * `Line art` - LINE_ART * `Pixel art` - PIXEL_ART * `Mysterious` - MYSTERIOUS * `Steam punk` - STEAM_PUNK * `Collage` - COLLAGE * `Kawaii` - KAWAII
  - `accent` string, uuid, nullable — Accent to be used for the video, default null and default voice will be used
  - `caption_setting` Caption
    - `style` 'normal-black' | 'normal-white' | 'normal-red' | 'normal-blue' | 'neo' | 'brick' | 'frenzy' | 'verana' | 'mustard' | 'glow' | 'mint' | 'coolers' | 'bilo' | 'toons' | 'deep-blue' | 'mystique' | 'caution' | 'duality' | 'comic-shadow' | 'clean-bold' | 'soft-pill' | 'underline-bold' | 'classic-duo' | 'hand-script' | 'button-glow' | 'emboss-outline' | 'standard-bold' | 'outlined-text' | 'quiet-serif' | 'editorial-clean' | 'shout-block' | 'word-flash' | 'promo-punch' | 'light-word' | 'tagline-bold' | 'glow-speak' | 'black-block' | 'zoom-punch' — * `normal-black` - NORMAL_BLACK * `normal-white` - NORMAL_WHITE * `normal-red` - NORMAL_RED * `normal-blue` - NORMAL_BLUE * `neo` - NEO * `brick` - BRICK * `frenzy` - FRENZY * `verana` - VERANA * `mustard` - MUSTARD * `glow` - GLOW * `mint` - MINT * `coolers` - COOLERS * `bilo` - BILO * `toons` - TOONS * `deep-blue` - DEEP_BLUE * `mystique` - MYSTIQUE * `caution` - CAUTION * `duality` - DUALITY * `comic-shadow` - COMIC_SHADOW * `clean-bold` - CLEAN_BOLD * `soft-pill` - SOFT_PILL * `underline-bold` - UNDERLINE_BOLD * `classic-duo` - CLASSIC_DUO * `hand-script` - HAND_SCRIPT * `button-glow` - BUTTON_GLOW * `emboss-outline` - EMBOSS_OUTLINE * `standard-bold` - STANDARD_BOLD * `outlined-text` - OUTLINED_TEXT * `quiet-serif` - QUIET_SERIF * `editorial-clean` - EDITORIAL_CLEAN * `shout-block` - SHOUT_BLOCK * `word-flash` - WORD_FLASH * `promo-punch` - PROMO_PUNCH * `light-word` - LIGHT_WORD * `tagline-bold` - TAGLINE_BOLD * `glow-speak` - GLOW_SPEAK * `black-block` - BLACK_BLOCK * `zoom-punch` - ZOOM_PUNCH
    - `offset` CaptionOffset
      - `x` number, double — X offset for the caption.
      - `y` number, double — Y offset for the caption.
    - `font_family` 'Montserrat' | 'Jockey One' | 'Lilita One' | 'Mclaren' | 'Corben' | 'Dela Gothic One' | 'Comfortaa' | 'Luckiest Guy' | 'Quantico' | 'Poppins' — * `Montserrat` - Montserrat * `Jockey One` - JockeyOne * `Lilita One` - LilitaOne * `Mclaren` - Mclaren * `Corben` - Corben * `Dela Gothic One` - DelaGothicOne * `Comfortaa` - Comfortaa * `Luckiest Guy` - LuckiestGuy * `Quantico` - Quantico * `Poppins` - Poppins
    - `font_size` integer — Font size
    - `font_style` union — Font style * `font-bold` - BOLD * `italic` - ITALIC * `underline` - UNDERLINE
      - 'font-bold' | 'italic' | 'underline' — * `font-bold` - BOLD * `italic` - ITALIC * `underline` - UNDERLINE
      - unknown
    - `background_color` string, nullable — Caption background color, hex color with an alpha channel: #RRGGBBAA.
    - `text_color` string, nullable — Caption text color, hex color with an alpha channel: #RRGGBBAA.
    - `highlight_text_color` string, nullable — Caption highlight color for the word currently being spoken, hex color with an alpha channel: #RRGGBBAA.
    - `max_width` integer, nullable — Caption max width in px
    - `line_height` number, double, nullable — Caption line height
    - `text_shadow` string, nullable — Caption text shadow
    - `hidden` boolean — Hide caption
    - `override_visual_style` boolean — If true, these caption settings will override the visual style's default caption settings. Only effective when visual_style is set.
  - `background_music_url` string, uri, nullable — Background music URL for the video. Default is null, video will use random music.
  - `background_music_volume` number, double, nullable — Volume of the background music, ranging from 0.0 to 1.0. Default is null, video will use default music volume of visual_style.
  - `voiceover_volume` number, double, nullable — Volume of the voiceover, ranging from 0.0 to 1.0. Default is null, video will use default voiceover volume of visual_style.
  - `webhook_url` string, uri, nullable — Webhook URL for status updates. Default is null.

## Response `201`

- ArtsyVideoFlow
  - `id` string, uuid, required
  - `status` 'pending' | 'in_queue' | 'running' | 'failed' | 'done' | 'rejected', required — * `pending` - Pending * `in_queue` - In Queue * `running` - Running * `failed` - Failed * `done` - Done * `rejected` - Rejected
  - `failed_reason` string, required — Failed reason
  - `video_output` string, nullable, required — Video output URL
  - `preview` string, nullable, required — Preview URL
  - `editor_url` string, nullable, required — Editor URL for the video. Expires in 24 hours. Available only if your API account has API editor access enabled. , expires in 24 hours.
  - `is_hidden` boolean, required — Is the video hidden in the website projects page
  - `progress` number, double, required — Progress of the job
  - `credits_used` number, required — Credits used in this API call
  - `duration` integer, required — Duration of the video in seconds
  - `media_job` string, nullable, required
  - `permission_type` 'private' | 'workspace' | 'public', required — * `private` - Private * `workspace` - Workspace * `public` - Public
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `name` string
  - `script` string, nullable — Text to be converted to video
  - `aspect_ratio` union — Aspect ratio of the video * `9x16` - 9X16 * `16x9` - 16X9 * `1x1` - 1X1
    - '9x16' | '16x9' | '1x1' — * `9x16` - 9X16 * `16x9` - 16X9 * `1x1` - 1X1
    - unknown
  - `style` union — Style to be used for the video * `4K realistic` - _4K_REALISTIC * `3D` - _3D * `Cinematic` - CINEMATIC * `Cartoonish` - CARTOONISH * `Line art` - LINE_ART * `Pixel art` - PIXEL_ART * `Mysterious` - MYSTERIOUS * `Steam punk` - STEAM_PUNK * `Collage` - COLLAGE * `Kawaii` - KAWAII
    - '4K realistic' | '3D' | 'Cinematic' | 'Cartoonish' | 'Line art' | 'Pixel art' | 'Mysterious' | 'Steam punk' | 'Collage' | 'Kawaii' — * `4K realistic` - _4K_REALISTIC * `3D` - _3D * `Cinematic` - CINEMATIC * `Cartoonish` - CARTOONISH * `Line art` - LINE_ART * `Pixel art` - PIXEL_ART * `Mysterious` - MYSTERIOUS * `Steam punk` - STEAM_PUNK * `Collage` - COLLAGE * `Kawaii` - KAWAII
    - unknown
  - `created_from_api` boolean — Flow is created from api or not
  - `caption_setting` unknown
  - `background_music_url` string, uri, nullable — Background music URL for the video. Default is null, video will use random music.
  - `background_music_volume` number, double, nullable — Volume of the background music, ranging from 0.0 to 1.0. Default is null, video will use default music volume of visual_style.
  - `voiceover_volume` number, double, nullable — Volume of the voiceover, ranging from 0.0 to 1.0. Default is null, video will use default voiceover volume of visual_style.
  - `webhook_url` string, uri, nullable — Webhook URL for status updates. Default is null.
  - `user` integer, nullable, required
  - `workspace` string, uuid, nullable, required
  - `brand` string, uuid, nullable
  - `accent` string, uuid, nullable — Accent to be used for the video, default null and default voice will be used

---

[API](https://skmtc.dev/creatify/apis/creatify-ai-api.md) · [All operations](https://skmtc.dev/creatify/apis/creatify-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/creatify/creatify-ai-api/revisions/7ca3bf8077ba/schema)
