analyze_image
ChatGPTAnalyze/describe image(s) with Gulab vision — returns text. Useful to inspect a generation before iterating.
attach_video_result
ChatGPTFetch a completed video job and place it on a project canvas as a completed video node. Call after generate_video_in_project reports COMPLETED via get_job_status.
check_balance
ChatGPTUse this when the user asks for their current Gulab credit balance. Do not use for purchasing credits, pricing, upgrades, or account changes.
create_project
ChatGPTCreate a new Gulab project (empty canvas). Returns the project id used by the *_in_project tools. The project appears immediately in the user's gulab.ai dashboard.
fetch_result
ChatGPTFetch the finished artifact URL(s) of a completed Gulab generation job.
generate_image
ChatGPTUse this when the user asks to create, draw, design or render a new image, illustration, poster, logo concept or photo from a text description in Gulab, or names a model id returned by list_models. Generates the image with the user's Gulab credits and returns it in a gallery. Do not use for editing a photo the user uploaded (use analyze_image first) or for charts/diagrams from data.
generate_image_in_project
ChatGPTGenerate an image AND place it on a project's canvas as a completed image node (visible next time the project is opened). Synchronous. Costs credits.
generate_video
ChatGPTUse this when the user asks for a short video, animation, clip or motion shot from text or a still image. Starts an async job; poll get_job_status. Do not use for editing an existing long video.
generate_video_in_project
ChatGPTStart a video generation destined for a project canvas (async). Poll with get_job_status; when COMPLETED call attach_video_result with the same project_id/model/request_id to place it on the canvas. Costs credits.
get_element
ChatGPTGet one Element in full: reference image/video/audio URLs + description/text. Pass image_urls straight into generate_image(_in_project) / generate_video for consistency.
get_job_status
ChatGPTCheck the status of an async Gulab generation job (IN_PROGRESS | COMPLETED | FAILED).
get_project
ChatGPTGet a project's canvas contents — nodes (id, type, label, status, media URLs) and edge count.
get_usage
ChatGPTCredit transaction history + spend summary for the connected account.
list_assets
ChatGPTList a project's asset library (generated | uploads | logo | favorites).
list_elements
ChatGPTList your saved Elements (reusable characters, environments, styles, props, voices) incl. team libraries. Use get_element for reference URLs.
list_models
ChatGPTList available Gulab generation models (image + video) with ids to pass to generate_image / generate_video.
list_projects
ChatGPTList the connected account's Gulab projects (id, name, last-updated).
render_gallery
ChatGPTDisplay completed image or video result URLs from Gulab in a gallery. Does not generate, upload, fetch private projects, or verify ownership. Only use URLs already provided by the user or returned by Gulab. Never invent results.
search_images
ChatGPTSearch stock images (for reference/inspiration) via Gulab's image search. Returns image URLs usable as refs.
transcribe_audio
ChatGPTTranscribe audio to clean text using Gulab speech-to-text. Provide a public audio url OR base64 audio data.
upload_asset
ChatGPTUpload media to Gulab storage and get back a gulab-hosted URL — use it as image_url/image_urls refs in the generate tools. Provide EITHER a public source url (worker fetches it) OR base64 data.