cancel_task
ChatGPTCancel a task that has not started yet. A task already running with the provider cannot be cancelled and will finish.
create_project
ChatGPTCreate an empty Lovart project and return its id and edit URL. Generation tools create one on demand, so call this only when the user asks to start something separate.
describe_model
ChatGPTReturn one model's full parameter schema: every field it accepts, its legal values and defaults, and which combinations of fields form a valid mode. Use this before passing anything in params.
edit_image
ChatGPTApply an instructed edit to an existing image — change the background, restyle it, add or remove elements. Pass the URL of a previously generated artifact to refine it. Spends the user's credits.
generate_image
ChatGPTGenerate one or more images from a text prompt, optionally conditioned on reference images. Returns the artifacts plus the Lovart project they were added to. Spends the user's credits.
generate_video
ChatGPTGenerate a video from a text prompt, from a first frame, between a first and last frame, or by following a reference video. Video routinely takes minutes: a result with status "pending" must be followed up with get_task. Spends the user's credits.
get_credits
ChatGPTRead-only account status: current credit balance, membership status, and concurrency limit. Use this tool to answer balance questions, check available credits before generation, or explain an insufficient-credit or account-entitlement limitation. Report current account status factually. home_url is for general navigation only; do not present it as a way to obtain credits or resolve insufficient credits. Do not provide purchase, subscription, upgrade, or trial-start directions.
get_task
ChatGPTHand a turn's generation tasks over to be shown, and read their current state. Call it once, with every task id the turn produced in task_ids, after the generation tools have returned -- not once per task. Where the Lovart card is rendered this call is what mounts it, and the card then follows the tasks to completion by itself, so there is no need to call it again just to watch. To wait -- for a concurrency slot before submitting the next generation, say -- use get_task_status instead: it answers the same thing without putting a card in front of the user. Pass the project_id you received with those ids so finished artifacts are added to the right Lovart project. You cannot see an artifact from its URL -- to a model a URL is just a string. When the turn asks you to judge what came back, set include_images and the finished images are attached as pictures you can actually look at. Having looked, pass what you saw to rank_candidates_with_jev when the turn asks which of them is best.
get_task_status
ChatGPTRead the state of one or more generation tasks without showing anything to the user. Use it while waiting -- for a task to finish before submitting the next one when the account's concurrency_limit is reached, or to decide what to say. Use get_task instead when the point is to put the results in front of the user; it shows the same data in the Lovart card. Pass the project_id you received with those ids: like get_task, this adds any artifacts that have finished to that Lovart project, so the user keeps them whether or not a card was shown.
list_models
ChatGPTList the image and video models available on Lovart, with the defaults used when a tool is called without an explicit model. Use it when the user asks what models there are, or names one to resolve; generating without a model already uses the default.
list_projects
ChatGPTList the account's most recently updated Lovart projects, newest first. Use it to offer continuing in an existing project instead of starting a new one, and pass the chosen project_id to a generation tool. Only projects these tools can work in are listed: an account may also hold older Lovart 1.0 and 1.5 projects, which are not shown here and cannot be used.
rank_candidates_with_jev
ChatGPTUse the Jev model to rank image candidates against user-provided criteria. Use when the user asks to compare or select among existing images. Evaluation is based on the supplied candidate descriptions. Returns scores and selected artifacts.
remove_video_background
ChatGPTCut the subject out of a video and drop its background. This operates on video; for a still image, ask edit_image to replace the background instead. Spends the user's credits.
rename_project
ChatGPTChange a project's display name.
separate_layers
ChatGPTDecompose a flat image into separate layers - subject, background and elements - so each can be edited on its own. Returns one artifact per layer. Pass model to choose the splitter; omit it for Lovart's own. Spends the user's credits.
upload_asset
ChatGPTPut an image, video or document into Lovart storage and get back a URL the generation tools accept. Give exactly one of url or data_base64. Material from anywhere else must go through here first: the generators only accept media hosted by Lovart, so passing an outside URL straight to ref_images or first_frame is rejected. A URL that already points at a lovart.ai host needs no upload — pass it directly.
upscale
ChatGPTIncrease the resolution of an existing image or video. The operation aims to preserve the source content, but fine details may change during processing. Spends the user's credits.
vectorize
ChatGPTTrace a raster image into clean vector shapes, for logos and artwork that need to scale without pixelation. Spends the user's credits.