add_scenes
ChatGPTAdds scenes (text, duration, prompt, movement, transition, media) at the end or after a given scene. Free. Then generate their media/voice with generate_scene_media. Reversible with undo_last_change.
add_sound_effects
ChatGPTPlaces sound effects on scenes (catalog sounds by sfxAssetId, or a Crealix audio URL), at an offset from the scene start. Use them sparingly — on real moments, not on every cut. Free and reversible.
add_text_overlays
ChatGPTAdds NEW on-screen text (hook, CTA, section label, punch line or custom) styled from Crealix's templates. To change text that is already there (its words, size, position, colours), use update_project with the overlay's id instead of adding another and deleting the old one. Anchor it to a scene with scene (times then relative to that scene) or give an absolute startSec. Any style field can be overridden; fontSize is in px on a 1080-wide canvas — the templates' 50 reads small on a 9:16 video, so a hook there wants about 80–110. Free and reversible.
animate_scenes
ChatGPTFaceless and from-scratch projects only (every other type is made whole by create_video). Turns scenes into video clips — "animate scene 3" or "animate all". Uses each scene's image (generating it first when missing), the model asked for (else the project's motion model, else Crealix's default), the length asked for (else the shortest that covers the narration), the quality asked for (else the model's default), and the scene's prompt. The first call spends nothing: it returns the quote — each clip's model, length, quality and price — which the card shows; show it to the user (saying which settings Crealix picked and that they can change them) and, once they agree in the chat, call again with the same fields and its confirmationId. Nothing is lost: the scene's image and earlier clips stay in its versions (get_project scenes[].versions) and come back with update_project. Follow progress with get_status.
browse_catalog
ChatGPTLooks things up, with ids for other tools — no card is shown: voices (by language/gender, with preview), visual styles — the user's own (My Visual Styles, mine: true, built in the app from a description) first, then Crealix's (with preview) —, caption styles — the user's own (My Captions, id MY_CAPTIONS:<id>, mine: true) first, then Crealix's presets (+ animations and highlight modes), background music — the user's own songs (My Music: their AI tracks, mine: true) first, then Crealix's library —, sound effects, image models (tiers and credits), video models (modes, durations, resolutions, sound, example price), music models, avatar models (with example price), avatars (ready-made presenters and the user's own), the user's saved characters, and gameplay clips (backgrounds for Reddit stories, tweets, text messages and split screens). Use it to find what the user named (query: "Hale", "Elegant"…). To let the user see and pick from options, use show_options instead. Paged: total and hasMore say what is left; the next page is offset + limit. Free.
check_plan
ChatGPTChecks a plan while you shape it — no card is shown: the same rules as validate_plan (a script or idea for any type, a faceless scene-by-scene plan, or from-scratch scenes), returning problems to fix, warnings, the estimated duration, the cost and the cast it would use — and which choices are still Crealix's generic defaults rather than cast for the idea. Use it as often as you need (e.g. to fit a length, to finish the cast); when the plan is ready, show it once with validate_plan. Takes the same fields. Free.
complete_upload
ChatGPTConfirms a file uploaded with create_upload_url (checks it arrived and its size) and returns its Crealix URL, ready to use in a project. Free.
create_character
ChatGPTSaves a character (a person, mascot or creature) to the user's library so it looks the same across videos: pass it as characterIds to create_video (faceless, ai_skeleton, ai_movie, music_video; talking objects and dramas take one as options.savedCharacterId), as characterId to generate_motion_control / generate_avatar_video, or its imageUrl as a reference image. From a picture in Crealix storage (free), or Crealix draws a portrait from a description, optionally in a visual style so it matches videos in that style (about 1 credit; ready in under a minute — the character gets it automatically; check get_status before using it).
create_project_from_scratch
ChatGPTCreates a video you design scene by scene (Crealix Studio): scenes with narration text, duration, image/clip prompt, camera movement and transition, plus voice, captions, visual style and music. First validate_plan({ type: 'from_scratch' }) with the same fields and show the user its proposal (the scenes, voice, style, captions, music, format, cost); call this only after they agree, with its proposalId. Free — nothing is generated yet. Next: generate_scene_media (images, clips with any model, voiceover), then render_project. Omitted settings use the user's brand defaults.
create_share_link
ChatGPTA public link to watch (and download) a rendered video or a finished generation, for people without a Crealix account — the same link the Share button gives. Asking again returns the same link. Optionally expires after some hours. Free.
create_upload_url
ChatGPTFor files on the agent's machine: returns a one-time URL to PUT the file to (send the requiredHeaders exactly), valid for 30 minutes. Then call complete_upload with the key. Limits: images 10 MB, audio 20 MB, video 200 MB. Free.
create_video
ChatGPTCreates and generates a complete video of any type — faceless (default), ai_skeleton, talking_objects, ai_drama, ai_movie, stock, music_video, reddit_story, tweets, text_messages or split. hybrid (recommended for most): you write the words in the type's format — Crealix plans and makes everything else; agent (faceless): your scene-by-scene plan, executed as written; crealix: Crealix writes it from an idea. get_creation_guide(type) gives the format and options. Always first: validate_plan with the same fields, show the user its proposal (script or idea, voice, visual style, captions, music, format, cost) and let them change anything; call create_video only after they agree, with its proposalId — a request that differs from the approved one is refused. Costs credits (checked against the user's limits first). It makes the whole video for every type — scenes, voice, footage or images, music, captions: never follow it with generate_scene_media or animate_scenes. Generation runs in the background — follow it with get_status({ projectId }); render_project only when the user asks for the final file.
delete_caption_style
ChatGPTDeletes one of the user's own caption styles from My Captions for good — only when they asked for it and confirmed which one. Videos already made with it keep their captions. Cannot be undone.
delete_folder
ChatGPTDeletes a folder of the user's library — only when they asked and confirmed which one. Its videos are not deleted: they go back to Home. A folder with folders inside is refused until those are emptied or deleted.
delete_generation
ChatGPTDeletes an AI generation (image, clip, song, avatar video, motion video or upscale) from the user's library for good — only when they asked and confirmed which one (list_generations finds it). Videos that use its file keep it. Credits spent on it are not refunded. Not while it is still generating. Cannot be undone.
delete_project
ChatGPTDeletes a project and its generated media for good — only when the user asked for it and confirmed which one. Not while it is generating or rendering (wait for get_status). Posts already published on social networks stay up. Cannot be undone.
duplicate_project
ChatGPTCopies a project of any type into a new draft — scenes, settings and media, without its renders — to try a variant (another format, language, voice or edit) while keeping the original. Free.
edit_video
ChatGPTChanges a video of any type except faceless and from scratch (those use update_project): its title, narrator (voiceId, voiceSettings), captions (a preset, one of their own MY_CAPTIONS:<id>, or null = off) and their position, music (a library track or one of their AI songs; null = none), music and narration volume — and each type's own content: reddit (post title and body, subreddit, username, upvotes), tweets (change tweets by id, add replies, remove them; each person's voice), chat (the chat app, people and their voices, change / add / remove messages), split (the narration script, the top and bottom clips, the split), scenes (stock footage and AI skeleton: swap what a scene shows for an image or clip in Crealix — e.g. a stock clip from search_stock_media, imported). Reddit stories, tweets and chats also take the gameplay behind the card and the theme. The ids of tweets, people and messages are in get_project's content. Free and reversible with undo_last_change. Changed words or voices leave the recorded narration behind: the answer says what no longer matches and what re-recording costs (rerecord_narration). Talking objects, AI dramas, AI movies and music videos change their captions, music and mix here; their scenes are reworked in the editor.
estimate_cost
ChatGPTPrices an action before doing it — scene media (voice / images / clips, same options as generate_scene_media) or a render — and says whether it fits the balance and this connection's limits, and whether the user must confirm it first. Free; nothing is started.
finish_media_upload
ChatGPTFor Crealix's upload card: confirms the file arrived (and its size) and returns its Crealix URL.
generate_avatar_video
ChatGPTMakes a talking-avatar video: a person (an avatar from browse_catalog('avatars'), any portrait in Crealix storage, or a saved character) says a script in a Crealix voice, or lip-syncs an audio file. Burned-in captions and background music are optional. browse_catalog('avatar_models') lists models and prices. Costs credits by length (plus the voice), checked against the user's limits first. Runs in the background (a few minutes): follow it with get_status.
generate_images
ChatGPTGenerates 1–4 images with any Crealix image model (browse_catalog('image_models') lists models, quality tiers and credits). Text-to-image, or image-to-image from reference images (edit a picture, keep a subject). Optionally applies one of Crealix's visual styles. Costs credits (tier × count), checked against the user's limits first. Runs in the background: follow it with get_status; the images can then be used in any project.
generate_motion_control
ChatGPTMakes a character perform the movement of a reference video — a dance, a gesture, a walk (Kling motion control). Pass the character (a picture in Crealix storage, or a saved character) and the reference video (in Crealix storage; import it first). Orientation 'video' follows the video's framing (up to 30 s); 'image' keeps the picture's framing (up to 10 s). Costs credits per second (standard 4, pro 6), checked against the user's limits first. Runs in the background (several minutes): follow it with get_status.
generate_music
ChatGPTComposes an original track (about 2–3 min) with Treblo v3 or Lyria 3 Pro (browse_catalog('music_models')): describe it with a prompt and/or style tags, optionally with your own lyrics. Costs a fixed price per track, checked against the user's limits first. Runs in the background (about 1 min): follow it with get_status; the track can then be used as a project's music.
generate_scene_media
ChatGPTFaceless and from-scratch projects only (scene by scene; every other type is made whole by create_video — nothing to generate there). Generates media for scenes of a project, in the background: voiceover (the project voice reads each scene's text), images (any image model, the project's visual style applied), and video clips (any video model; animates the scene's image, or from text). Ask for one or several kinds at once — per scene they run voice → image → clip, and the clip animates the new image and covers the narration. Regenerating works the same way: a scene's earlier images and clips stay in its versions (get_project scenes[].versions) and come back with update_project, but a new voiceover replaces the recorded one. Costs credits: the price is checked against the user's limits first (see CONFIRMATION_REQUIRED). With clips, the first call only returns their quote (model, length, quality, price per scene — shown on the card) and spends nothing; call again with its confirmationId once the user agrees in the chat. Follow progress with get_status.
generate_video_clip
ChatGPTGenerates one video clip with any Crealix video model (Veo, Kling, Seedance, Sora, MiniMax… — browse_catalog('video_models') lists modes, lengths, resolutions, sound and prices). From text, from a start image, or between a start and an end image. Costs credits by model, length, resolution and sound, checked against the user's limits first. Runs in the background (about 1–3 min): follow it with get_status; the clip can then be used in any project.
get_account
ChatGPTThe user's Crealix account: credit balance, storage used against the plan's quota, whether their plan includes cloud rendering (MP4 export, download and publishing), and this connection's spending limits (credits spent in the last 24 h, the 24 h cap, and the cost above which you must ask the user before acting). Shows it as a card: use it when the user asks about their credits or limits (a proposal already shows what it costs, and a create that cannot be paid says so). Free.
get_brand
ChatGPTThe user's brand (My Brand): the defaults every new video starts from — voice and delivery, visual style, captions (a Crealix preset or one of their own styles), music, format, language, gameplay, and who appears on Reddit, X and chat cards. What is not set falls back to Crealix's featured picks. Shown as a card where supported. Free.
get_creation_guide
ChatGPTHow to plan a video of a type with Crealix, before writing anything: the recommended planning mode and why, the exact format to write, budgets for this duration, rules, the type's options, prices, and the cast — every voice for the language (with the tones to search by), visual style (how it looks), caption style (how it reads) and music track (its mood), the gameplay clips, and the user's brand picks — for you to cast the video for the idea. Types: faceless (narrated video — from your script, your own scene-by-scene plan, or an idea), from_scratch (you design each scene), ai_skeleton, talking_objects, ai_drama, ai_movie, stock (stock footage), music_video, reddit_story, tweets, text_messages and split (split screen). Free.
get_preview
ChatGPTWhat Crealix's in-chat player needs to play a project as a draft before it is rendered: each scene's image or clip (and its B-roll clips) with its camera move, voiceover and word timings, the captions as they will look, and the music — for every scene-based type and split screens; for Reddit stories, tweets and text messages the gameplay, the card and the narration tweet by tweet or bubble by bubble. Used by the Crealix card; to read a project, use get_project.
get_project
ChatGPTReads a project — no card is shown. For faceless and from-scratch projects, the full editable document: scenes in order (number, start time, text, media and its earlier versions, voiceover, movement, transition), voice, captions, visual style, music and volumes, text overlays, sound effects, status, editVersion and the editor link. For the other types, their status, generated scenes, last render and final video. Read it before editing and to check a result. To show the project to the user, use show_project.
get_publish_options
ChatGPTBefore publishing: checks each destination for a finished video or generation (connection health, publish permission, each network's length and format rules) and returns what the user must decide per network — TikTok: the creator account, the privacy levels it allows (no default: the user picks one), which interactions it allows, and the consent line to show; YouTube: title, privacy and made-for-kids; Instagram: business account and feed sharing. Free.
get_status
ChatGPTProgress of a background job — any jobId a tool returned (scene media, animations, images, clips, music, upscales, motion control, avatars, character portraits), or a generation id from list_generations — with the finished files' URLs; or of a project (scenes ready/generating/failed, pipeline stage, render and final video URL). Pass waitSec (up to 25) to wait for it to finish before answering, instead of calling repeatedly.
import_media_from_url
ChatGPTCopies an image, video clip or audio file into the user's Crealix storage and returns its Crealix URL, ready to use in a project (update_project mediaUrl, music, sound effects, reference images). Pass a public link that points at the file itself (url), or a file the user attached to the chat (file). Up to 50 MB; larger ones, or files on the user's device, go through upload_media. Free.
list_capabilities
ChatGPTEverything the user can make with Crealix: every video type (with an example and a poster), the standalone AI tools (images, video clips, music, avatars, characters, motion, upscale) and what comes after (editing, rendering, publishing, their brand). Call it when the user asks what they can do, or starts vaguely ("make me a video") — where supported it shows a card they can start anything from. Free.
list_folders
ChatGPTThe folders of the user's Crealix library, nested, with how many videos each holds and how many are loose in Home — the same tree as the Library page. list_projects({ folderId }) lists what is inside one. Free.
list_generations
ChatGPTThe user's recent AI generations (images, clips, music, upscales, motion control, avatars) — made here or in the Crealix app — newest first, with status and file URLs to reuse in projects. Where the chat supports it they appear as a gallery the user can view and play: when a generation you started finishes, show it with jobIds. Free.
list_posts
ChatGPTThe user's social posts, newest first — for a project or an AI clip, or all — with their status (queued, publishing, published, failed), the link on the network once live, and why one failed. Free.
list_projects
ChatGPTThe user's video projects, newest first, with type, status and links — shown as cards the user can open where the chat supports it. Filter by type, status or folder (list_folders).
list_social_accounts
ChatGPTThe TikTok, YouTube and Instagram accounts the user connected to Crealix, with their health (an account that needs reconnecting cannot be published to), and whether this connection may publish. Free.
move_to_folder
ChatGPTMoves videos (projects) into a folder of the user's library, or back to Home with folderId null. Free.
remove_project_items
ChatGPTDeletes scenes (by number or id), text overlays and sound effects (by id). Not for changing something: to edit an overlay or a scene, use update_project. Sound effects on a deleted scene go with it. This cannot be undone: confirm with the user first.
render_project
ChatGPTOnly when the user asks for the final video (never right after create_video on your own): renders a project of any type into the final MP4 (720p, 1080p or 4k) in the cloud, with captions, music, overlays and the user's watermark rules. The project must be generated first (every faceless / from-scratch scene needs ready media). Costs credits by length and quality (checked against the user's limits first). A video already rendered and unchanged since answers ALREADY_RENDERED with its file instead of charging again. Takes a few minutes: follow it with get_status, which returns the video URL when done. Not included in every plan — if not, the user can still watch and edit the draft in the editor (no file export).
rerecord_narration
ChatGPTRecords again the narration of a Reddit story, tweet video, text-message video or split screen after its words or voices changed (edit_video says what no longer matches and the cost): only the changed tweet or turns of the chat where it can, the whole narration where it can't. everything: true records all of it again (e.g. after a new voice on a Reddit story or a split screen). Nothing to record = nothing charged. Costs credits (checked against the user's limits first); the card follows it and plays the new take. Faceless and from-scratch scenes are re-voiced with generate_scene_media.
save_caption_style
ChatGPTDesigns a caption style and saves it to the user's My Captions — the library the editor uses — then shows it as a card with its live preview. Start from scratch (name + the look), from a Crealix preset or one of theirs (basedOn: its id from browse_catalog('captions')) with only what changes, or change one of theirs (styleId: MY_CAPTIONS:<id>). The look: font, size, weight, letter case, the spoken word's color, the other words' color, a box behind the words, highlight mode, animation, words at a time, height, outline and shadow. It is then used by its id MY_CAPTIONS:<id> wherever a caption preset goes (proposals, update_captions, the brand). Changing a saved style doesn't change videos already made with it. Free.
save_folder
ChatGPTCreates a folder in the user's library (optionally inside another, with parentId) — or renames one (folderId + name). Then move videos into it with move_to_folder. Free.
search_stock_media
ChatGPTSearches free stock video (Pexels) for a scene, ranked for the shape and length you need, with previews and credits to the creator. To use a clip, bring it in with import_media_from_url(videoUrl) and put the returned URL on the scene: update_project for faceless and from-scratch videos, edit_video({ scenes }) for stock footage and AI skeleton videos. Free.
set_cover
ChatGPTDesigns the video's cover (thumbnail) — the first frame viewers see in the feed, like the editor's Thumbnail panel: a short headline in a style (impact, tiktok, highlight, neon, gradient, outline, news, clean — how each looks: get_creation_guide(type).cast.coverStyles), where it sits, and what is behind it: a frozen moment of the video (frameSec) or an image in Crealix. To give it an AI-made cover ("make an image for my thumbnail"): generate_images at the video's aspect ratio (leave room for the headline if it will carry one), wait until it is done (get_status), then set_cover with its URL as imageUrl — with or without a title on top. remove: true takes the cover off. auto: true runs Crealix's own cover designer instead (the one every video gets when its generation finishes): it looks at the video's real frames, picks the hero moment, writes a 2–4 word hook and edits that frame into the cover (same character, same style) — 1 credit, a few seconds; pass hint to steer it; mode fix / new-concept / from-frame (see mode) and headline refine it. Works for every type. It goes into the next render — a video already rendered needs rendering again to show it. Manual covers are free (the image itself is priced by generate_images) and reversible with undo_last_change.
set_voice_effect
ChatGPTPuts a voice effect on a project's narration — the editor's voice changer: pitch (helium, deep voice, giant…), character (robot, alien), ambience (stadium, dreamy), devices (radio, telephone, megaphone), horror (possessed, creepy whisper, many voices…) and kids (cartoon, mouse, friendly monster) — or takes it off with 'normal' (the original narration is kept, so any effect can be changed or removed later). For narrated videos: faceless, from scratch, stock, AI skeleton, Reddit stories, tweets, text messages and split screens. How each one sounds: get_creation_guide(type).cast.voiceEffects. Crealix processes the narration in the background (seconds to a minute; re-recorded scenes get it again by themselves) — the card's draft plays it once ready, and a render waits until it is. Free.
show_options
ChatGPTShows the user a card to choose from — voices and music to play, visual styles and characters with their image, caption styles as they look, video and image models with their price — when they want to see what there is or asked you to suggest. Filter (language, gender, query) and keep limit to 6–12. Each option has a button that sends you their choice. When they already named what they want, look it up with browse_catalog instead (no card). Free.
show_project
ChatGPTShows a project to the user as a card: while Crealix makes it, its progress; then a player with the draft (every type, with the voice, captions and music) and what rendering it costs; once rendered, the final video to download. Use it when the user asks to see a project, or to bring back one from earlier. A video created or rendered from the card already shows there, and one you just created shows in the create tool's own card. Free.
start_media_upload
ChatGPTFor Crealix's upload card: a one-time URL to send the file the user picked to (valid for 30 minutes).
undo_last_change
ChatGPTReverts the most recent edit made through this connection on a project (field changes, added scenes/overlays/sound effects, its cover). Call it again to step further back. Deletions and generations are not undone.
update_brand
ChatGPTSaves defaults to the user's brand (My Brand), which every new video starts from. Only when the user asks for it (e.g. "always use this voice", or they click "Save to my brand" on a proposal) — never on your own. Only the fields you send change; null clears one. Captions take a preset or one of the user's own styles (MY_CAPTIONS:<id>). The answer includes previous: send it back to undo. Free.
update_captions
ChatGPTShortcut for captions: on/off, preset or one of the user's own styles (My Captions), position, words per group (1 = word by word), font, size, colors, stroke and animation. Tweaks are kept on top of the style. Free and reversible.
update_project
ChatGPTChanges any field of a project, exactly like the Crealix editor: title, voice, captions, visual style, music and volumes, image/motion models, and per scene its text, duration, media, prompt, movement, transition, video audio, voiceover, or position. Only the fields you send change (scenes by number, e.g. { scene: 3, text: '…' }; text overlays — their text, fontSize, position, colours — and sound effects by id). Free and reversible with undo_last_change. To add or delete scenes, overlays or sound effects, use their own tools. Media URLs must come from Crealix (import_media_from_url for outside files); a scene's earlier image or clip (get_project scenes[].versions) goes back with { scene, mediaType, mediaUrl }. A changed text does not re-record its voiceover: call generate_scene_media with voice for those scenes.
upload_media
ChatGPTShows a card where the user picks or drops a file from their device (an image, video clip or audio) and uploads it to their Crealix storage. Use it when they want to use a file of their own that is neither a public link nor attached to the chat (attachments go to import_media_from_url as file). When the upload ends, the card sends you a message with the file's Crealix URL, ready to use in a project. Where the chat shows no cards, use create_upload_url. Free.
upscale_media
ChatGPTUpscales and sharpens an image or a video (up to 3 min of it) to 1080p, 2K or 4K. Pass the url of a file in Crealix storage, or the jobId of a finished generation. Crealix measures the file itself. Images cost a flat price per target; videos cost per second. Checked against the user's limits first. Runs in the background: follow it with get_status.
validate_plan
ChatGPTShows the user the proposal of the video you will make, as a card: the script, idea or scenes, voice, visual style, captions, music, format and cost, and says that a yes in the chat creates it. Call it once per version the user should see — to shape the plan first (fit a length, fix problems) use check_plan, which shows nothing. It applies the same rules as Crealix's planners and create forms and returns problems, warnings, the estimated duration and the exact cost, the choices by name (asked, from their brand, or Crealix's default) and the proposalId create_video (or, for from_scratch, create_project_from_scratch) needs if they say yes in the chat. Takes the same fields as the create tool. Free; required before creating.