cancel_generation
ChatGPTCancels one of your generations that is still running and refunds its credits in full. If it finishes right before the cancel lands, you keep the result and nothing is refunded. Calling this on an already-terminal generation is safe and returns its current state (no double refund). Prefer lifecycle_status over the legacy status word. Does not claw back upstream compute already spent.
compose_scene
ChatGPTGenerates one short video clip from a written brief, optionally using up to 4 of your saved characters as references and one of your saved images as the opening frame. Spends credits. Returns a task id; check it with get_task. For full control over a single shot, use generate_video instead.
confirm_upload
ChatGPTChecks an upload started with create_upload_url: the file arrived, is within the size limit and really is the declared type, and reports its media type, size, dimensions and duration. Returns the asset_url to pass to generation tools. A file that fails the check is deleted. Generation tools run the same check themselves, so this call is optional.
create_upload_url
ChatGPTStarts an upload of your own image, video or audio for use in generate_video (for example a clip to edit with Gemini Omni), generate_image, frame_chain or compose_scene. Returns a short-lived upload_url: send the raw file bytes with an HTTP PUT and the returned upload_headers, then pass asset_url as-is to a generation tool (it is verified automatically). Limits: images 20 MB, video 200 MB and 30 s, audio 50 MB.
frame_chain
ChatGPTGenerates 2 to 8 video clips in order, where each clip starts from the last frame of the previous clip so motion carries across shots. The first clip starts from your image. Spends credits per clip; a clip that cannot start is not charged. Returns a task id; check progress and clip URLs with get_task. Returns separate clips, not one joined file.
generate_image
ChatGPTGenerates one image from a prompt, with an optional reference image and aspect ratio, and saves it to your FXI library. Spends credits. Returns the image URL when ready (usually within 25 seconds), or a generation id to check with get_generation.
generate_video
ChatGPTGenerates one video clip from a prompt, with optional start and end frame images, duration and aspect ratio, and saves it to your FXI library. Spends credits. Returns a generation id; check it with get_generation (clips usually take 1 to 3 minutes). Setting both start and end frames makes the clip move from one to the other.
get_credits
ChatGPTReturns how many credits are left on the signed-in FXI Studio account and the name of its plan.
get_generation
ChatGPTReturns one of your saved generations by id: media URL, prompt, type, model, lifecycle_status and credits used. Prefer lifecycle_status (queued/running/succeeded/failed/cancelled/expired - took too long, credits auto-returned); status is the older 3-value word for legacy clients. created_at is UTC/ISO 8601. wait_seconds (max 25s) long-polls instead of an immediate running; cancel_generation stops a running one.
get_task
ChatGPTReturns the status, per-clip progress, credits used and clip URLs for a frame_chain or compose_scene task. Status is pending, running, succeeded, failed or cancelled.
list_characters
ChatGPTLists your saved characters (id and name) and your most recent saved images (id, URL, date). Use a character id for generate_video character_id or compose_scene character_ids, and an image id for compose_scene atmosphere_id. Changes nothing.
list_models
ChatGPTLists available image/video models, grouped by role, with output type, estimated credit cost, price tier, mode/latency, and a one-line description. Each "model" value passes to generate_image or generate_video. Filter by role or output_type, or sort "cost" for cheapest first. Video estimates assume a 5s clip; pass estimate_only to generate_image/generate_video for an exact quote. Each entry also has speed_tier (fast, balanced or quality), credits, typical_seconds when known, and best_for. Use these to offer a faster or higher-detail option.
upload_from_url
ChatGPTCopies an image, video or audio file from a public https link that downloads the file directly into your FXI uploads, checks it, and returns an asset_url for generate_video, generate_image, frame_chain or compose_scene. Up to 50 MB; use create_upload_url for larger files. Links to private networks are refused.
upload_media_data
ChatGPTFallback for clients that cannot make network calls: uploads a small image, video or audio file sent inline as base64 (3 MB on the hosted server), checks it, and returns a long-lived asset_url plus its media type, size, dimensions and duration. A larger file returns code upload_too_large_inline with max_bytes; use create_upload_url for it.