MCP 서버

Shorti

ai.shorti/shorti

이 MCP로 할 수 있는 일

Finds short-form video trends and formats, explains how videos were made, and supports creator checks and brand campaign planning.

shorti_campaign_board
Shorti Campaign Board
A brand's campaign board as aggregates. No argument: a link the brand opens signed in; nothing is read until it taps «보드를 AI 대화에 보내기» («Send the board to AI chat») on one campaign. Then call with the `token`: `waiting` until sent, then `shared`: submissions by format, the checks' verdicts, posts, and the views' median at 3, 7 and 21 days with the n of posts read at each age. No creator's name, answers, place or account is in it.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'token': {'anyOf': [{'type': 'string', 'maxLength': 400}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'additionalProperties': True}
shorti_campaign_draft
Shorti Campaign Draft
Start a campaign (체험단) from a product line: the formats whose idea card says how a product sits in their videos («브랜드라면», `product_line` in Korean and English), scored by the product's own words (`draft.v0`: 3 in the format's product line, 2 in its idea or an example; 2 or more fits), with `compose` — the composer's address filled with the first three — that the brand opens signed in to make the campaign itself. Nothing is written.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'required': ['product'], 'properties': {'limit': {'type': 'integer', 'default': 5, 'maximum': 5, 'minimum': 1}, 'product': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'additionalProperties': True}
shorti_campaigns_for_me
Shorti Campaigns For Me
Campaigns (체험단) that fit this creator, and the order to shoot each one's formats. No argument: a link — `link` (`link_en` for the English page), `token`, `expires_at` (24 h) — that the person opens on their phone, signed in; nothing of theirs is read until they tap «AI 대화에 보내기» («Send to AI chat») under «나에게 맞는 체험단». Then call with the `token` alone: `waiting` (ask again after `poll_after_s`) until they send, then `shared`: each campaign with what the brand wrote, `distance` (whole km), `reasons` (why it fits, `ko`/`en`), `cautions`, the short invite `link`, and `formats` in the person's order, each with `shoot_first` and the `references` in order (their public pages; shorti_format and shorti_video read any of them). The order is a rule (match.v1), never a forecast of views.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'token': {'anyOf': [{'type': 'string', 'maxLength': 400}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'additionalProperties': True}
shorti_check_link
Check a take
A check link for a person's own video, and the summary they send back. No argument, or `format` (a format_id): a link at once — `check_link` (`check_link_en` for the English page), `token`, `expires_at` (24 h) and `says` — that the person opens on their phone to upload their own video and check it against that format. Nothing is read of theirs, written or queued, and you never see their video. Then call again with the `token` alone: `waiting` (ask again after `poll_after_s`) until the person taps «Send this result to the AI chat» («이 결과를 AI 대화에 보내기» on the Korean page) on their result, then `shared` with the summary they sent: fidelity with its interval and how many axes were measured (`measured` of `of`, `weighted`) — its value stays null with reason `not_validated` until its registered validity look passes, with `followed` (k of n directions repeated across formats that the video follows) in its place — up to three fixes at their moment (`at_s`, `what_ko`, `how_ko`, the hit video's public still; where a fix was drawn, its `layers`: the hits' still at `still_url`, its shapes and zone, the take's own shapes, each drawn value's evidence — hosts that draw show them in the check's view), what they broke and kept, and their result's link (`link`, `link_en`); each line in English beside the Korean where Shorti wrote one (`what_en`, `how_en`, `broken_en`, `kept_en`). A token this door did not sign, or one past its 24 h with nothing sent, is refused as `handoff_invalid`; a summary sent after the 24 h is still read. 증거가 붙은 관찰로 말하고, 원인은 검증된 것만. 닮은 정도는 조회수 예측이 아니다. — Speak in observations that carry their evidence, and name a cause only where one was verified; fidelity is not a forecast of views.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'token': {'anyOf': [{'type': 'string', 'maxLength': 2048}, {'type': 'null'}], 'default': None, 'description': 'The token a previous call gave.'}, 'format': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'default': None, 'description': 'A format_id to check against.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'additionalProperties': True}
shorti_edit_recipe
Edit recipe
A format's edit for an agent's editor: slots, cuts on the beat, captions, the check. `format_id` (from shorti_what_to_shoot, shorti_find or shorti_format): the format's compiled plan as the creator's editing agent takes it, for any editing tool or MCP it calls (trim, split, reorder, speed, captions, export). `recipe` is `shorti.edit_recipe.v1`: `canvas` (9:16) and `length_ms`; `slots` in order on the reference hit's own clock — what each `shows` (`ko` and `en`) and its `frame` where the plan carries one — one way the format was cut, not a timeline to copy to the frame; `anchors`, the reference's hook, rhythm, sound and framing values its format's members do not vary on, each with the `band` inside which a viewer cannot tell the edit from it (`never`: the reference never reaches it, e.g. one continuous take); `free`, what the format's own members vary on, with their usual span; `cuts`, each with the `rule` that binds it (`first_cut`, `drop`, `beat` with its `window_ms`, else `free`); `beats`, `captions`, `hook`, `keep`, `vary`, `sound` (its clock, a measured `drop`), `limits` (how much faster speech and motion may run before a viewer notices), `withheld` and `apply`, the steps to fit the creator's own pacing: cut where their action or phrase ends, hold the anchors, let the free cuts move. Then send the edit to `check` (the person uploads and confirms on Shorti) or call shorti_check_link with `format` for a result this chat can read back — several edits can each be checked. What the hit did, never why it spread, and not a forecast of views.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {'family_id': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'default': None, 'description': 'The same id, by its older name.'}, 'format_id': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'default': None, 'description': "The format's id."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'additionalProperties': True}
shorti_find
Find formats
Formats for words, a category or a pasted link. Search by words — a niche, an action, a place, a creator's @handle (Korean initials work) — by `category`, or by a pasted TikTok, Instagram or YouTube link (the video and its formats, or `not_in_corpus` for a video Shorti has not read). Strongest example first; groups whose videos share only a song are left out unless `include_sound_groups`. With no match the answer lists the categories that have formats. For a brand's product line, shorti_campaign_draft finds the formats a product fits.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string', 'maxLength': 2048}, {'type': 'null'}], 'default': None, 'description': "A post's link."}, 'lang': {'enum': ['ko', 'en'], 'type': 'string', 'default': 'ko', 'description': "The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself."}, 'limit': {'type': 'integer', 'default': 6, 'maximum': 10, 'minimum': 1, 'description': 'How many formats a page.'}, 'query': {'type': 'string', 'default': '', 'maxLength': 200, 'description': 'Words to find; empty lists by category.'}, 'cursor': {'anyOf': [{'type': 'string', 'maxLength': 12}, {'type': 'null'}], 'default': None, 'description': "A previous answer's next_cursor."}, 'category': {'anyOf': [{'enum': ['beauty', 'food', 'fashion', 'daily', 'comedy', 'dance', 'music', 'pets', 'fitness', 'travel', 'art', 'gaming', 'product', 'info', 'ai', 'household'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "The creator's niche, when they have one: beauty, food, fashion, daily, comedy, dance, music, pets, fitness, travel, art, gaming, product, info, ai, household."}, 'include_sound_groups': {'type': 'boolean', 'default': False, 'description': 'Also list groups that share only a song.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'hint': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'none': {'anyOf': [{'type': 'object', 'properties': {'reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'categories': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'key': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the value `category` takes'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'formats': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': 'categories that have formats, to offer instead'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'when the data was compiled'}, 'field': {'anyOf': [{'type': 'object', 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the field's page on Shorti"}, 'field': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the value `field` takes'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'the profession or team the words name: shorti_my_field answers its week'}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "'not_in_corpus': Shorti has not read this video"}, 'video': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'the video a pasted link names'}, 'formats': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'idea': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what the format's videos do (Shorti's reading)"}, 'ride': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "how it has spread, counted from its videos' posting dates"}, 'same': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what its videos share: 'format' (the build) or 'sound' (the music)"}, 'links': {'anyOf': [{'type': 'object', 'properties': {'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the format's page on Shorti"}, 'check': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's check with this format filled: the person uploads a take there"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'sound': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the music's title, when the videos share it"}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'videos': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'how many published videos the format holds'}, 'example': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'its strongest video'}, 'for_you': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "a signed-in reader's own reason this format came to them"}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'format_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the format (shorti_format, shorti_edit_recipe and shorti_check_link take it)"}, 'this_week': {'anyOf': [{'type': 'object', 'properties': {'hit': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'that hit'}, 'why': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "this week's line, written from the frames of the hit that broke out"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': "present on this week's picks"}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None}, 'matches': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'how many formats matched'}, 'refusal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'why nothing was answered, by name'}, 'next_cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'pass it back as `cursor` for the next page'}, 'product_fits': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'idea': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what the format's videos do (Shorti's reading)"}, 'ride': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "how it has spread, counted from its videos' posting dates"}, 'same': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what its videos share: 'format' (the build) or 'sound' (the music)"}, 'links': {'anyOf': [{'type': 'object', 'properties': {'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the format's page on Shorti"}, 'check': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's check with this format filled: the person uploads a take there"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'sound': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the music's title, when the videos share it"}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'videos': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'how many published videos the format holds'}, 'example': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'its strongest video'}, 'for_you': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "a signed-in reader's own reason this format came to them"}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'format_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the format (shorti_format, shorti_edit_recipe and shorti_check_link take it)"}, 'this_week': {'anyOf': [{'type': 'object', 'properties': {'hit': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'that hit'}, 'why': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "this week's line, written from the frames of the hit that broke out"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': "present on this week's picks"}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': "with no match on a format's own words: the formats whose videos carry a product like the words (a brand's line)"}}, 'additionalProperties': True}
shorti_format
How to shoot a format
One format as a creator shoots it: its plan, its hits, its spread. What its videos do; `how_to_shoot` — its reference hit step by step on that video's own clock, its length, what the format's videos keep and what a creator may make their own; its strongest hits with links and views; how it has spread; its page and the check with it filled. Address it by `format_id` (from shorti_what_to_shoot or shorti_find, or the slug of its page), or by `video_id` or `url` of one of its videos.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string', 'maxLength': 2048}, {'type': 'null'}], 'default': None, 'description': "One of its videos, by the post's link."}, 'lang': {'enum': ['ko', 'en'], 'type': 'string', 'default': 'ko', 'description': "The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself."}, 'video_id': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'default': None, 'description': "One of its videos, by Shorti's id."}, 'format_id': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'default': None, 'description': "The format's id or its page's slug."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'hint': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'hits': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': "the format's strongest hits"}, 'next': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'when the data was compiled'}, 'format': {'anyOf': [{'type': 'object', 'properties': {'idea': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what the format's videos do (Shorti's reading)"}, 'ride': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "how it has spread, counted from its videos' posting dates"}, 'same': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what its videos share: 'format' (the build) or 'sound' (the music)"}, 'links': {'anyOf': [{'type': 'object', 'properties': {'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the format's page on Shorti"}, 'check': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's check with this format filled: the person uploads a take there"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'sound': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the music's title, when the videos share it"}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'videos': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'how many published videos the format holds'}, 'example': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'its strongest video'}, 'for_you': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "a signed-in reader's own reason this format came to them"}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'format_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the format (shorti_format, shorti_edit_recipe and shorti_check_link take it)"}, 'this_week': {'anyOf': [{'type': 'object', 'properties': {'hit': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'that hit'}, 'why': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "this week's line, written from the frames of the hit that broke out"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': "present on this week's picks"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'refusal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'why nothing was answered, by name'}, 'how_to_shoot': {'anyOf': [{'type': 'object', 'properties': {'idea': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'keep': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': "what the format's videos hold: keep it"}, 'steps': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "where on the reference hit's clock, m:ss–m:ss"}, 'do': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': 'the reference hit, step by step'}, 'length_s': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None, 'description': "the reference hit's length in seconds"}, 'reference': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'make_it_yours': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'what a creator may change to make it theirs'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}
shorti_my_field
Short-form for my field
A profession's or a brand team's short-form week: ideas, how its breakouts are made, what to check before posting. For doctors (피부과, 성형외과 …), dentists, Korean medicine, pharmacists, lawyers, tax accountants, labor attorneys, accountants, realtors and brand teams: this week's ideas (a title, the way, the first line, how to shoot it); the ways the field's breakout videos are made, with their links and views; what its breakouts share; one creator's breakout beside their own usual video; memes, and this week's formats with the field's twist (`format_id` for shorti_format); what to check before posting, each line with the Korean statute behind it; for brand teams a week's posting plan. `field` in the person's own words; one Shorti does not read answers the fields it does. lang='en' reads the English-speaking market's videos.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'required': ['field'], 'properties': {'lang': {'enum': ['ko', 'en'], 'type': 'string', 'default': 'ko', 'description': "The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself."}, 'field': {'type': 'string', 'maxLength': 80, 'description': "The person's profession or team in their own words: 피부과, 치과, 약사, 변호사, 세무사, 공인중개사, 브랜드 담당자, dermatologist, lawyer, realtor, brand team …"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'hint': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the field's page on Shorti"}, 'ways': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'how': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'way': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "a way the field's breakout videos are made"}, 'examples': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'its creator'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count"}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'first_line': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'what it opens with'}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'when the data was compiled'}, 'asked': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'field': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'memes': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'meme': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'twist': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "how the field's creators put their work on it"}, 'example': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'its creator'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count"}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'first_line': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'what it opens with'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "'ok'; 'unknown_field' lists the fields in `fields`; 'not_ready'"}, 'fields': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the field's page on Shorti"}, 'field': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the value `field` takes'}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': 'the fields Shorti reads, when `field` named none'}, 'market': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "'ko' the Korean market's videos, 'en' the English-speaking market's"}, 'refusal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'why nothing was answered, by name'}, 'this_week': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'how': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'how to shoot it'}, 'way': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the way it is made (one of `ways` or another the field uses)'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'first_line': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the line to open with'}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': "this week's ideas to shoot"}, 'week_plan': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'day': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'how': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'slot': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'example': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'its creator'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count"}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'first_line': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'what it opens with'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': "brand teams: a week's posting slots"}, 'same_person': {'anyOf': [{'type': 'object', 'properties': {'usual': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'its creator'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count"}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'first_line': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'what it opens with'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': "the same creator's usual video"}, 'breakout': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'its creator'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count"}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'first_line': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'what it opens with'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'what_differs': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': "what differs, written from the two videos' frames"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': "one creator's breakout beside their own usual video"}, 'most_watched': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'its creator'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count"}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'first_line': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'what it opens with'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'trend_twists': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'twist': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the swap that makes this week's format the field's own"}, 'format': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the format's page on Shorti"}, 'format_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the format's id (shorti_format, shorti_edit_recipe and shorti_check_link take it)"}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': "this week's formats with the field's twist"}, 'before_you_post': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'law': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the Korean statute the line comes from'}, 'text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': 'what to check before posting'}, 'what_breakouts_share': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}, 'formats_many_creators': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'how': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'way': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "a way the field's breakout videos are made"}, 'examples': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'its creator'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'topic': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count"}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'first_line': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'what it opens with'}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': "moves several of the field's creators broke out with"}}, 'additionalProperties': True}
shorti_remake_recipe
Remake recipe
A hit's remake for the AI video model an agent holds: keep, per-model prompts, the check. `video_id` or `url` of a hit, or `format_id` (its reference hit): `recipe` is `shorti.remake_recipe.v1`, the hit's own clock (cuts, beats, hook, turn) written as AI video models take it, for the creator's own generation tool (a Higgsfield, fal or gateway MCP). `mode`: swap_person (the creator in the hit's own shot), swap_place, swap_product, restyle_3d (a 3D animated version), character (every performer becomes one character), episode (a new episode of an AI-made format). `prompts` holds one plan per model — Seedance 2.5, MiniMax H3, Kling 3.0 Motion Control, Wan 3.0 — with its references in order and what each needs prepared, its requests cut at the hit's own cuts inside the model's limits (each with a timestamped prompt and parameters) and its list price; then `keep`, `fit`, `steps`, the `sound` to post with and the `check` the result goes back to. Nothing here generates or spends. What the hit did, never why it spread; not a forecast of views.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string', 'maxLength': 2048}, {'type': 'null'}], 'default': None, 'description': "The hit, by the post's link."}, 'lang': {'enum': ['ko', 'en'], 'type': 'string', 'default': 'ko', 'description': "The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself."}, 'mode': {'enum': ['swap_person', 'swap_place', 'swap_product', 'restyle_3d', 'character', 'episode'], 'type': 'string', 'default': 'swap_person', 'description': 'What the remake changes.'}, 'video_id': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'default': None, 'description': "The hit, by Shorti's id."}, 'format_id': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'default': None, 'description': 'A format: its reference hit.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'additionalProperties': True}
shorti_trend_radar
Trend radar
Formats breaking out in the West that no Korean video holds yet, and those arriving. Formats breaking out in the West (the US, Europe, other English-speaking countries) that no Korean video holds yet, then those just reaching Korea, in Shorti's radar order. Each says what its videos do, its strongest video (link, views), how many Western videos and creators broke out with it and when last, how many Korean videos it has, and how much of it needs no language (`language_light`). `to_korea` is the measured time from a Western hit to the first Korean video across this release's formats. Use it when a creator asks what to shoot before it reaches Korea; narrow by `category` or `state`; then shorti_format(format_id) for how to shoot one.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {'lang': {'enum': ['ko', 'en'], 'type': 'string', 'default': 'ko', 'description': "The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself."}, 'limit': {'type': 'integer', 'default': 6, 'maximum': 10, 'minimum': 1, 'description': 'How many formats.'}, 'state': {'anyOf': [{'enum': ['not_in_korea', 'arriving', 'entered'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "'not_in_korea': no Korean video yet; 'arriving': the first ones; 'entered': already made in Korea."}, 'category': {'anyOf': [{'enum': ['beauty', 'food', 'fashion', 'daily', 'comedy', 'dance', 'music', 'pets', 'fitness', 'travel', 'art', 'gaming', 'product', 'info', 'ai', 'household'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "The creator's niche, when they have one: beauty, food, fashion, daily, comedy, dance, music, pets, fitness, travel, art, gaming, product, info, ai, household."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'hint': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'none': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'when the data was compiled'}, 'counts': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'integer'}}, {'type': 'null'}], 'default': None, 'description': 'how many formats the radar holds in each state'}, 'formats': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'idea': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what the format's videos do (Shorti's reading)"}, 'ride': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "how it has spread, counted from its videos' posting dates"}, 'same': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what its videos share: 'format' (the build) or 'sound' (the music)"}, 'links': {'anyOf': [{'type': 'object', 'properties': {'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the format's page on Shorti"}, 'check': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's check with this format filled: the person uploads a take there"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'radar': {'anyOf': [{'type': 'object', 'properties': {'korea': {'anyOf': [{'type': 'object', 'properties': {'first': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day its first Korean video went up'}, 'videos': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'its videos made in Korea (0: none yet)'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "'not_in_korea', 'arriving' or 'entered'"}, 'abroad': {'anyOf': [{'type': 'object', 'properties': {'where': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'where its Western videos were made, most first'}, 'videos': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'its videos made in the West (the US, Europe, English-speaking countries)'}, 'latest_hit': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day of its latest Western hit, YYYY-MM-DD'}, 'recent_hits': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'of those, the hits of the last 45 days'}, 'creators_with_hits': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'where_it_is': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the state in the answer's language"}, 'language_light': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None, 'description': 'the share of its videos whose topic travels without words (dance, music, looks, pets, food, scenery …)'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'sound': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the music's title, when the videos share it"}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'videos': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'how many published videos the format holds'}, 'example': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'its strongest video'}, 'for_you': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "a signed-in reader's own reason this format came to them"}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'format_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the format (shorti_format, shorti_edit_recipe and shorti_check_link take it)"}, 'this_week': {'anyOf': [{'type': 'object', 'properties': {'hit': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'that hit'}, 'why': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "this week's line, written from the frames of the hit that broke out"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': "present on this week's picks"}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None}, 'refusal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'why nothing was answered, by name'}, 'to_korea': {'anyOf': [{'type': 'object', 'properties': {'frame': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'formats': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'how many formats of this release reached Korea after a Western hit'}, 'p25_days': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'p75_days': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'median_days': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'the measured time from a Western hit to the first Korean video'}}, 'additionalProperties': True}
shorti_video
One video
One video: what happens in it, its beats, its numbers and its formats. By a post's link or Shorti's video_id: what happens in it, its hook, turn and beats (Shorti's reading), views and views per day, length, its page and the formats it belongs to. A video Shorti has not read answers `not_in_corpus`. `detail='full'` answers every compiled field (large).
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string', 'maxLength': 2048}, {'type': 'null'}], 'default': None, 'description': "The post's link."}, 'lang': {'enum': ['ko', 'en'], 'type': 'string', 'default': 'ko', 'description': "The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself."}, 'detail': {'enum': ['brief', 'full'], 'type': 'string', 'default': 'brief', 'description': "'full': every compiled field, as `full`."}, 'video_id': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'full': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': "with detail='full': the compiled video, every field"}, 'hint': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'when the data was compiled'}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "'not_in_corpus': Shorti has not read this video"}, 'video': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'hook': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the video's page on Shorti"}, 'turn': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'beats': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "where on the reference hit's clock, m:ss–m:ss"}, 'do': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'made_in': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'where it was made: `country` where the platform measured it, and its `group` (a market region)'}, 'product': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'how a product sits in it, where one does'}, 'length_s': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}, 'views_as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'what_happens': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'views_per_day': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'formats': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'idea': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what the format's videos do (Shorti's reading)"}, 'ride': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "how it has spread, counted from its videos' posting dates"}, 'same': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what its videos share: 'format' (the build) or 'sound' (the music)"}, 'links': {'anyOf': [{'type': 'object', 'properties': {'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the format's page on Shorti"}, 'check': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's check with this format filled: the person uploads a take there"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'sound': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the music's title, when the videos share it"}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'videos': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'how many published videos the format holds'}, 'example': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'its strongest video'}, 'for_you': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "a signed-in reader's own reason this format came to them"}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'format_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the format (shorti_format, shorti_edit_recipe and shorti_check_link take it)"}, 'this_week': {'anyOf': [{'type': 'object', 'properties': {'hit': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'that hit'}, 'why': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "this week's line, written from the frames of the hit that broke out"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': "present on this week's picks"}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': 'the formats it belongs to'}, 'refusal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'why nothing was answered, by name'}}, 'additionalProperties': True}
shorti_what_to_shoot
What to shoot this week
The formats to shoot this week: the week's picks, then the week's feed. The short-form formats breaking out now (TikTok, Reels, Shorts): this week's picks first — each with Shorti's line on the hit that broke out this week (`this_week.why`) and that hit's link — then the rest of the week's feed, in the order Shorti's home shows it. Each format says what its videos do, its strongest video (link, views, poster), how it has spread, its page and the check with it filled. Narrow by `category` (the creator's niche) and `platform`. Signed in, the person's own week leads (`for_you`: why each came to them). Use it when a creator or a brand asks what to make now; then shorti_format(format_id) for how to shoot one.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {'lang': {'enum': ['ko', 'en'], 'type': 'string', 'default': 'ko', 'description': "The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself."}, 'limit': {'type': 'integer', 'default': 6, 'maximum': 10, 'minimum': 1, 'description': 'How many formats.'}, 'category': {'anyOf': [{'enum': ['beauty', 'food', 'fashion', 'daily', 'comedy', 'dance', 'music', 'pets', 'fitness', 'travel', 'art', 'gaming', 'product', 'info', 'ai', 'household'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "The creator's niche, when they have one: beauty, food, fashion, daily, comedy, dance, music, pets, fitness, travel, art, gaming, product, info, ai, household."}, 'platform': {'anyOf': [{'enum': ['tiktok', 'instagram', 'youtube'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Only formats with videos on this platform.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'hint': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'none': {'anyOf': [{'type': 'object', 'properties': {'reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'categories': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'key': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the value `category` takes'}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'formats': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None, 'description': 'categories that have formats, to offer instead'}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'week': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the Monday (KST) the week's picks are fixed on"}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'when the data was compiled'}, 'for_you': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None, 'description': "true when a signed-in reader's own week leads the list"}, 'formats': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'properties': {'idea': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what the format's videos do (Shorti's reading)"}, 'ride': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "how it has spread, counted from its videos' posting dates"}, 'same': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what its videos share: 'format' (the build) or 'sound' (the music)"}, 'links': {'anyOf': [{'type': 'object', 'properties': {'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the format's page on Shorti"}, 'check': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's check with this format filled: the person uploads a take there"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None}, 'sound': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "the music's title, when the videos share it"}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'videos': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': 'how many published videos the format holds'}, 'example': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'its strongest video'}, 'for_you': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "a signed-in reader's own reason this format came to them"}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'format_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the format (shorti_format, shorti_edit_recipe and shorti_check_link take it)"}, 'this_week': {'anyOf': [{'type': 'object', 'properties': {'hit': {'anyOf': [{'type': 'object', 'properties': {'by': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "its creator's handle"}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the post on its platform'}, 'what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "what happens in it (Shorti's reading)"}, 'views': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None, 'description': "the platform's view count, read at as_of"}, 'posted': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'the day it went up, YYYY-MM-DD'}, 'poster': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'a still of it to show'}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'video_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Shorti's id of the video (shorti_video reads it)"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'that hit'}, 'why': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "this week's line, written from the frames of the hit that broke out"}}, 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': "present on this week's picks"}}, 'additionalProperties': True}}, {'type': 'null'}], 'default': None}, 'refusal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'why nothing was answered, by name'}}, 'additionalProperties': True}
추가됨
shorti_campaign_draft
2026년 9월 29일 2:40 AM
추가됨
shorti_campaign_board
2026년 9월 29일 2:40 AM
추가됨
shorti_campaigns_for_me
2026년 9월 29일 2:40 AM
추가됨
shorti_check_link
2026년 9월 29일 2:40 AM
추가됨
shorti_remake_recipe
2026년 9월 29일 2:40 AM
추가됨
shorti_edit_recipe
2026년 9월 29일 2:40 AM
추가됨
shorti_video
2026년 9월 29일 2:40 AM
추가됨
shorti_format
2026년 9월 29일 2:40 AM
추가됨
shorti_find
2026년 9월 29일 2:40 AM
추가됨
shorti_my_field
2026년 9월 29일 2:40 AM
추가됨
shorti_trend_radar
2026년 9월 29일 2:40 AM
추가됨
shorti_what_to_shoot
2026년 9월 29일 2:40 AM