- Brand
- ImagineArt
- Category
- Content & Design
- Primary Subcategory
- Multi-Modal Generative Media Platforms
Integration details
Description
ImagineArt creates images, videos, music, logos, ads and social artwork from your brief. You can also remove backgrounds, enhance images, apply effects and edit existing assets. Choose an ImagineArt workspace, browse earlier creations, and save reusable products, presenters, fashion models, outfits and shot settings. The ad studio brings product, presenter, format and output settings into one interface. Includes 17 guided skills for creative workflows, from product imagery and fashion to social content, sound and editing. Canva, Photoshop, After Effects, Premiere and Blender workflows require access to the corresponding application or a supported integration; those applications are not included with ImagineArt. Requires an ImagineArt account with access to the selected workspace. Generations use your plan's credits. Only supply reference photos of yourself or adults who have given you permission; reference media is processed by third-party AI providers.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Multi-Modal Generative Media Platforms
- Secondary Subcategories
- None listed
- Brand
- ImagineArt
- Access
- Account required
- First tracked
- 2026-09-13
- Tool count
- 91
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for ImagineArt
Get updates when ImagineArt’s Discoverability Score or category rank changes.
Competing in ChatGPT Multi-Modal Generative Media Platforms
View Category91 tools agents can invoke
Burn styled, auto-transcribed captions into an existing video. Returns a uuid immediately and mounts a widget that polls fetch_status itself (queued → generating → complete). Only call this once a style has been chosen — the user named one ("add whisper captions"), or select_caption_preset came back with one. select_caption_preset covers captions requests that name no style ("add captions to this video"). Arguments: • org_id (required) — from select_organization. • asset_id (required) — uuid of a finished video this server hosts. From list_assets, or the last path segment of any asset.imagine.art/processed/<uuid> URL already in the conversation (from user_upload, a listing, or another widget) — that uuid IS the asset id. A link the user pasted from elsewhere cannot be captioned. • preset (required) — an id from list_caption_presets, verbatim: the match is exact. • language (optional) — locale of the spoken audio, region-qualified ("en-US", not "en"); omit to auto-detect. translation_language (optional) — same form, to translate; adds a surcharge. • position (optional) — top | center | bottom. shadow (optional) — none | min | mid | max. • folder_id (optional) — from select_folder; omit to inherit the source video's folder. Cost scales with the source: per started minute, doubled for 2K/4K, doubled again for an animated preset.
generate_video_captions
Turn a finished fashion photo into a short video clip, with the model and outfit kept the same. Use this when the user wants to animate a fashion photoshoot result, or presses Generate in the fashion video widget (pass exactly the arguments the widget hands you). Two modes: (1) template mode — pass a template_id from list_fashion_video_templates; the template drives the backgrounds, camera, transitions, and pacing. (2) advanced mode — pass a free-text prompt describing the motion, plus an optional camera_movement_id from list_camera_movements (e.g. Pan Right, Push In, Orbit Left). Supply exactly one of template_id or prompt. In both modes the model and wardrobe stay locked to the source still. It registers the still with ByteDance, a third-party video model provider (or reuses an existing reference), and runs a reference-to-video generation. Returns immediately with the queued video uuid and shows a results widget that polls fetch_status and updates in place, so the video appears there when it is ready. In a text-only context, poll fetch_status (id=<uuid>, sync:true) until status is "complete" or "error", then use the returned url. Requires an active subscription (paid organizations only). Arguments: • org_id (required) — the organization the user selected via select_organization. • fashion_project_id (required) — the numeric project id threaded from select_fashion_project; the clip is linked to it. • images — a JSON array STRING of reference stills (a JSON string, not a raw array), in order (first = Image1), e.g. '[{"asset_id":"…","bytedance_id":"…"}]'. asset_id (the still's asset uuid, from list_fashion_generations, or the last path segment of any asset.imagine.art/processed/<uuid> URL already in the conversation (from an upload or another widget) — that uuid IS the asset id) is required per entry; this tool resolves the image url from it, so asset_id carries a uuid rather than a url. bytedance_id is the still's seedance reference when it already has one (from list_fashion_generations or upload_asset_bytedance); omit it and this tool registers the still with bytedance itself. A bytedance_id comes from those tools, and a still that already has one is not re-uploaded through upload_asset_bytedance: a re-upload is rejected upstream. • videos (optional) — the same JSON array STRING shape as images, but for reference VIDEOS (in order, first = Video1). Use this for any reference asset that is a video, NOT images: a video's asset_id put in the images arg is rejected upstream ("not an image"). Same asset_id rule (uuid from a list, or the last path segment of an asset.imagine.art/processed/<uuid> URL) and same optional bytedance_id. At least one reference across images + videos is required; each kind keeps its own 1-based order. • template_id (template mode) — the template to apply, from list_fashion_video_templates. • prompt (advanced mode) — free text describing the desired motion. May be combined with template_id (template drives the shoot, the prompt refines it). • camera_movement_id (optional) — a movement from list_camera_movements to steer the camera; pairs with a prompt. • aspect_ratio (optional) — e.g. 16:9, 9:16, 1:1, 4:3, 3:4, 21:9. Defaults to 3:4. • duration (optional) — clip length in seconds (e.g. 4, 5, 10, 15). Defaults to 15. • resolution (optional) — e.g. 480p, 720p, 1080p. Defaults to 720p. • count (optional) — how many clips. Defaults to 1. • folder_id (optional) — a folder id from select_folder to place the result in. uuid, org_id, asset_id, template_id, camera_movement_id, bytedance_id and fashion_project_id are internal identifiers.
animate_fashion_image
Used internally by the ImagineArt widgets: apply a chosen image effect (a grain / film-stock or color-grade preset from list_image_effects) to an existing generation. It runs a two-step workflow — analyze the source image with the preset to engineer a finishing prompt, then image-to-image generate one variant that re-renders the source with the effect while preserving its subject, wardrobe, pose, framing, and background. It recovers the source asset's framing, resolution, and (for fashion assets) project + composition and preserves them. Returns immediately with the queued variant uuid; where a widget is rendered it polls fetch_status and updates in place. In a text-only context, poll fetch_status (id=<uuid>, sync:true) until status is "complete" or "error", then use the returned url. Requires an active subscription (paid organizations only). Arguments: • effect_id (required) — the id of the effect to apply, from list_image_effects. • asset_id (required) — the uuid of the existing generation to apply the effect to (an ImagineArt asset the user selected or that a prior tool produced). • org_id (required) — the organization the user selected via select_organization. • folder_id (optional) — a folder id from select_folder to place the result in; omit to keep the source asset's folder.
apply_image_effect
Use this for any captions request that does not name a style — "add captions to this video", "generate captions for this clip", "subtitle this". The user chooses the caption style, plus language, position and shadow, and the video itself if none was pre-selected. Interactive: the user's choice comes back as a separate message carrying the chosen preset id and the collected settings, for the generate_video_captions call that follows. Where no UI is rendered, the result carries the equivalent details as text. Where the user has already named a style ("add whisper captions"), generate_video_captions takes it directly. Arguments: • org_id (required) — from select_organization. • asset_id (optional) — uuid of a finished video to pre-select, sourced exactly as for generate_video_captions. Omit it and the picker lets the user choose the video too.
select_caption_preset
Composite two or more source images into a single reconciled frame — e.g. place the same model across shots into one scene, or merge separate product/garment stills into one composition. Runs image-to-image on nano-banana-pro with the reference-aware reconciler so the people, outfits, and setting stay consistent. Returns immediately with the queued asset and a widget that polls fetch_status itself. Requires an active subscription (paid organizations only). Arguments: • org_id (required) — the organization the user selected via select_organization. • image_urls (required) — two or more source image urls to composite. Pass urls the user selected (prior generations) or obtained via user_upload. • camera_angle_id (optional) — a camera angle from list_camera_angles (e.g. Close-Up, FPV Drone Shot) to frame the composite; its preset instruction block drives the composition. Omit to just combine the inputs into one cohesive frame. • background_select_id (optional) — a scene from select_fashion_background (which needs org_id). When the user wants the composite set in a specific scene, call select_fashion_background, then thread the picked select_id here — the scene image is added as a reference. Omit to keep the inputs' own setting. • aspect_ratio (optional) — defaults to the model default. • resolution (optional) — e.g. "1K", "2K", "4K". • count (optional) — how many composites. Defaults to 1. • fashion_project_id (optional) — link the result to a fashion project. • folder_id (optional) — a folder id from select_folder to place the result in. LIKENESS AND CONSENT: only use photographs of the user themselves or of someone who has given the user permission to create AI imagery of them. Do not proceed with a photograph of any other person, and never with a photograph of a minor. If the user has not made that permission clear, ask them to confirm it before calling this tool. Reference photographs are processed by third-party AI model providers. Do not ask for, accept or pass on identity documents, health or medical images, financial or payment card images, or any government identifier.
composite_shoot
Use this when the user asks to create an ad of ANY kind: "create an ad", "product ad", "UGC ad", "video ad", "hyper-motion ad", "make an ad for <product>". It opens the ad studio, ONE widget in which the user configures the entire ad: product, presenter, format, hook, setting, project, plus resolution, aspect ratio, duration and any free-text direction. After calling it, STOP and wait. Do not call select_product, select_avatar, select_format, select_hook, select_setting or select_market_project; do not ask the user which product, presenter, format, hook, setting or project they want; do not ask them to upload, paste or describe a photo. The widget collects all of that itself and can create new products, avatars and projects on its own back-channels. When the user presses Generate, every chosen id arrives together. Call generate_ad once with exactly those ids and nothing else. Ids are internal identifiers; never display or echo one. Pass org_id only when you already have one for this chat, and folder_id when the user has already chosen a folder. Pass any choices the user already made in this chat (format, hook, setting, product, presenter, aspect ratio, resolution, duration, direction) so the studio opens with them selected; omit the rest. If the account has several organizations and you pass none, this returns instructions to call select_organization and then retry. In a client that renders no widgets this returns the older step-by-step ad workflow instead.
create_ad
Used internally by the ImagineArt picker widgets. Saves a market avatar from already-uploaded photos; the avatar picker widget drives it. LIKENESS AND CONSENT: only use photographs of the user themselves or of someone who has given the user permission to create AI imagery of them. Do not proceed with a photograph of any other person, and never with a photograph of a minor. If the user has not made that permission clear, ask them to confirm it before calling this tool. Reference photographs are processed by third-party AI model providers. Do not ask for, accept or pass on identity documents, health or medical images, financial or payment card images, or any government identifier.
create_avatar
Zip up to 50 finished ImagineArt assets behind a link valid for 10 minutes. Used by the widgets' Download all button; call it yourself only when the user asks to download several assets in a text-only chat.
create_download_link
Use this when the user asks for a fashion photoshoot of ANY kind: "fashion photoshoot", "fashion shoot", "lookbook", "editorial shoot", "model wearing <garment>", "put this outfit on a model". For a fashion video or clip, call fashion_video_shoot instead. When the user just asks for the fashion studio without saying photos or video, call this without asking; it lets them switch to video. It opens the fashion studio, ONE widget in which the user sets up the entire shoot: shoot type, project, model, outfit, background, pose, plus aspect ratio, image count and any free-text direction. After calling it, STOP and wait. Do not call select_fashion_project, select_fashion_models, select_fashion_wardrobe, select_fashion_background or select_fashion_pose; do not ask the user about any of those; do not ask them to upload, paste or describe a photo. The widget collects all of that itself and can create new models, outfits and projects on its own back-channels. When the user presses Generate, every chosen id arrives together. Call generate_fashion_photoshoot once with exactly those ids; it shows the results itself. Ids are internal identifiers; never display or echo one. Call it with no arguments first. Pass org_id only when you already have one for this chat. If the account has several organizations and you pass none, this returns instructions to call select_organization and then retry. Not for a fashion VIDEO ("fashion video", "animate this look"): call fashion_video_shoot for that. In a client that renders no widgets this returns the step-by-step fashion workflow instead.
create_fashion
Save a new footwear item or accessory (shoes, bag, jewelry, hat, belt; called a "utility") to the organization's fashion wardrobe, for models to wear in photoshoots. Requires org_id, a title, and a type; description, image_urls, metadata, and visibility are optional. visibility defaults to "organization" (shared with the rest of the org); pass "private" to keep the utility to the creator.
create_fashion_utility
Create a fashion model for the organization from one or more reference photos. Returns the created model immediately, then generates its character sheet (a 2x2 grid of the same person from four angles, used to keep later fashion generations identity-consistent) in the background and saves it onto the model when ready, with no polling required. Requires org_id (from select_organization), a name, a gender, and at least one image_url reference photo; description, age, and size are optional but size improves the sheet. visibility is optional and defaults to "organization" (shared with the rest of the org); pass "private" to keep the model to the creator. LIKENESS AND CONSENT: only use photographs of the user themselves or of someone who has given the user permission to create AI imagery of them. Do not proceed with a photograph of any other person, and never with a photograph of a minor. If the user has not made that permission clear, ask them to confirm it before calling this tool. Reference photographs are processed by third-party AI model providers. Do not ask for, accept or pass on identity documents, health or medical images, financial or payment card images, or any government identifier.
create_fashion_model
Create a fashion outfit (a top or bottom) for the organization. Requires org_id, a title, and a type; frontal/rear/fabric image_urls, metadata, and visibility are optional. visibility defaults to "organization" (shared with the rest of the org); pass "private" to keep the outfit to the creator.
create_fashion_outfit
Used internally by the ImagineArt widgets: create a new fashion project in the selected folder and return its fashion_project_id. The select_fashion_project widget drives this via its inline "Create new project" field. A direct call applies where no widget is rendered and the user asked for a new project; it takes a name plus org_id and directory_id, from select_organization and select_folder.
create_fashion_project
Create a fashion shot setting — a scene (type "background") or pose (type "pose") — for the organization. Requires org_id, a title, and a type; category, image_urls, metadata, and visibility are optional. visibility defaults to "organization" (shared with the rest of the org); pass "private" to keep the shot setting to the creator. For type "background" with an image, the server auto-derives a lighting prompt from the image and stores it in metadata.prompt (unless metadata already has a prompt), so the subject is lit as if inside the scene.
create_fashion_shot_setting
Used internally by the ImagineArt widgets: create a new marketing project (campaign container) in the selected folder and return its market_project_id. The select_market_project widget drives this via its inline "Create new project" field. A direct call applies where no widget is rendered and the user asked for a new project; it takes a name plus org_id and folder_id, from select_organization and select_folder.
create_market_project
Used internally by the ImagineArt picker widgets. Creates a market product from a scraped URL or uploaded photos; the product picker widget drives it.
create_product
Delete a saved market avatar. Provide avatar_id (from a prior select_avatar) plus org_id. The ad-studio widget drives this; the model may also call it when the user explicitly asks to delete an avatar. Returns {id}.
delete_avatar
Delete a generated asset from a fashion project. Requires org_id, the project_uuid, and the asset_id.
delete_fashion_asset
Delete a footwear item or accessory (a "utility") saved in the organization's fashion wardrobe. Requires org_id and the utility id.
delete_fashion_utility
Delete an organization's saved fashion model. Requires org_id and the model id.
delete_fashion_model
Delete an organization's saved fashion outfit. Requires org_id and the outfit id.
delete_fashion_outfit
Delete a fashion project. Requires org_id and the project uuid.
delete_fashion_project
Delete an organization's saved fashion shot setting. Requires org_id and the shot setting id.
delete_fashion_shot_setting
Delete a saved market product. Provide product_id (from a prior select_product) plus org_id. The ad-studio widget drives this; the model may also call it when the user explicitly asks to delete a product. Returns {id}.
delete_product
Used internally by the ImagineArt widgets: apply a photo edit to an existing generation. It runs a two-step workflow — analyze the source image to engineer edit prompt(s), then image-to-image generate one variant per prompt (each effect returns a 4-shot set). It recovers the source asset's framing, resolution, and (for fashion assets) project + composition and preserves them on the edit. Returns immediately with the queued variant uuids; where a widget is rendered it polls fetch_status and updates in place. In a text-only context, poll fetch_status (id=<uuid>, sync:true) on each uuid until status is "complete" or "error", then use the returned urls. Requires an active subscription (paid organizations only). Arguments: • effect (required) — which edit to apply; each produces a 4-shot set anchored on the source. One of: Editorial (narrative/creative coverage of the same look): editorial_pose_variation — different poses, gestures, and expressions; look, location, and mood held. editorial_angle_coverage — cinematic camera setups (low, overhead, profile, dutch, over-the-shoulder). editorial_mood_lighting_shift — same outfit and location under different lighting/atmosphere. editorial_location_jump — same look carried across different environments; wardrobe and model held. editorial_time_season_shift — same scene progressed through times of day or seasons. editorial_story_progression — sequential narrative beats within the same scene (a film-still arc). Catalog (e-commerce product coverage): catalog_standard_angle_coverage — the canonical front/back/3-4-left/3-4-right/side set. catalog_pose_variation — clean catalog poses keeping the garment fully visible and silhouette readable. catalog_colorway_swap — recolor the hero garment across color variants at full styling parity. catalog_detail_feature — close-up inserts (collar, cuffs, hem, hardware, stitching, labels, trims). catalog_styling_combinations — the same hero piece restyled with different complementary garments. catalog_model_fit_coverage — the same garment on a range of body types, heights, or sizes. • asset_id (required) — the uuid of the existing generation to edit (an ImagineArt asset the user selected or that a prior tool produced). • org_id (required) — the organization the user selected via select_organization.
edit_photo
Enhance an image using the ImagineArt API. Pass org_id (required) — the organization id the user selected via select_organization. Optionally pass folder_id (a folder the user picked via select_folder) to create the result inside that folder; omit it to use the workspace root. Pass image_url — if the user selected an existing generation, pass its url; for a non-ImagineArt asset, first call user_upload and pass the resulting url. Returns immediately with a uuid and a widget that mounts in the queued state; the widget polls fetch_status and updates in place. The widget handles the polling.
enhance_image
Used internally by the ImagineArt widgets: extract a single garment (or its motif) from a reference photo and render it as a clean, isolated product asset suitable for virtual try-on — a ghost-mannequin garment view on a white background, or a flat isolated motif. Renders NO widget. Runs image-to-image and returns immediately with a uuid; poll fetch_status yourself (id=<uuid>, sync:true) until status is "complete" or "error", then use the returned image url as the extracted asset. Requires an active subscription (paid organizations only). Arguments: • org_id (required) — the organization the user selected via select_organization. • image_url (required) — the reference photo. If the user selected an existing generation, pass its url; for a non-ImagineArt asset (a user attachment), user_upload returns a url to pass here. • garment_type (required) — which view to extract. One of: top_front / top_back — the upper-body garment (shirt/blouse/top), front or back. bottom_front / bottom_back — the lower-body garment (pants/skirt/shorts), front or back. dress_front / dress_back — a one-piece / full-length garment (dress/kurta/jumpsuit), front or back. motif — only the print/graphic/logo/embroidery, isolated as flat artwork. • folder_id (optional) — a folder id from select_folder to place the result in; omit for the workspace root.
extract_garment
Use this when the user asks for a fashion video: "fashion video", "animate this look", "turn the shoot into a clip". It opens the fashion video shoot, ONE widget in which the user picks the shoot type, the project, the reference media, an effect or free-text motion, an optional camera movement, and the output options. Call it with no arguments first. Pass org_id when you already have one for this chat, and fashion_project_id / shoot_type only when the user already chose them. Do not call select_fashion_project or ask for the shoot type first: the widget asks for both. If the account has several organizations and you pass none, this returns instructions to call select_organization and then retry. After calling it, STOP and wait. When the user presses Generate video, the widget hands you the exact arguments: call animate_fashion_image with them, which shows the video itself. Ids are internal identifiers; never display one.
fashion_video_shoot
Status fetcher for queued music and speech generations. The widget polls this silently via the callServerTool backchannel during the queued → generating → complete transition. In text-only contexts, pass sync:true to wait server-side for completion (bounded ~45s). Without sync (default), it's a single point-in-time check.
fetch_music_status
Used internally by the ImagineArt picker widgets. Polls a from-URL product scrape until it is finished or failed.
fetch_product_status
Status fetcher for queued image or video generations (the asset type is derived from the generation, not fixed). The widget polls this silently via the callServerTool backchannel during the queued → generating → complete transition. In text-only contexts, pass sync:true to wait server-side for completion (bounded ~45s). Without sync (default), it's a single point-in-time check.
fetch_status
Run the ad-studio video generation once the selections are made. Args: org_id, market_project_id (from select_market_project/create_market_project), format_id (required), product_id and avatar_id (from select_product/select_avatar), optional setting_id/hook_id, resolution, aspect_ratio and duration (all REQUIRED, from list_ad_options), optional prompt (free-text ad brief — may be empty; the format supplies the base), optional count (default 1), folder_id?. resolution, aspect_ratio, and duration are all required: call list_ad_options for each and have the user confirm each before generating, so credits aren't spent on unintended output. format_id is the numeric id from list_ad_options or a select_format click, rather than the format name. The user saying "UGC" gives you the name "UGC", whose format_id is a number (e.g. 1); pass the number. Passing "UGC" as format_id is wrong and will fail. setting_id/hook_id are likewise numeric ids, not names. The server resolves the ids into the prompt + reference images. If format_id is missing or unrecognized this returns an error; call list_ad_options with kind "format" to get the right number (or select_format to let the user pick), then retry. Renders the asset-generation widget (queued → progress).
generate_ad
Used internally by the ImagineArt picker widgets. Generates one candidate avatar image from a prompt for the avatar picker widget.
generate_avatar
Generate a multi-slide social carousel (Instagram / LinkedIn style) from one topic. The server plans the deck — cover, content slides, CTA, each with its own headline, subtext and visual in a shared brand style — so it takes the topic, rather than per-slide prompts or copy. Returns one uuid per slide; the result text says what to do next. Use for any carousel / swipe post / slide deck; for a single image use generate_image. Before the first carousel in a chat, ask slides (3/5/7, default 5) and frame (4:5 default, 1:1, 9:16) in ONE question via your native choice interface — not two questions, not an interview. Skip it when the user already said, or told you to just make it, then reuse those answers all chat. Audience and tone belong in prompt. For a carousel about a concrete product, select_product follows that question and its choice supplies product_id. The picker collects the photo itself and calls user_upload on its own. No other ad-studio step belongs in a carousel. For a generic deck — tips, education, quotes — skip the picker and generate straight away.
generate_carousel
Used internally by the ImagineArt picker widgets. Generates candidate fashion-model images from a text description for the model picker widget.
generate_fashion_model_image
Fire the final Fashion Studio shoot: compose the selected model, wardrobe, scene, and pose into finished photos. It queues the generation and shows the results widget, which updates in place. The model and wardrobe images are registered with ByteDance, a third-party model provider, for the generation. Requires an active subscription (paid organizations only). Arguments: • org_id (required) — the organization the user selected via select_organization. • fashion_project_id (required) — the numeric project id threaded from select_fashion_project; the shoot is linked to it. • prompt (required) — the user's shoot description. The selected background's lighting is appended automatically. • model_select_id (required) — the select_id from select_fashion_model. • outfit_select_ids (optional) — comma-separated select_ids from select_fashion_wardrobe, e.g. "beige-shirt-2e,faded-jeans-39" (a top and/or a bottom, or a single dress). Pass each select_id exactly as reported. Pass one string, not an array. Omit for no outfit. • utility_select_ids (optional) — comma-separated select_ids for footwear / accessories from select_fashion_wardrobe, e.g. "white-sneakers-2d,gold-hoops-71". Pass one string, not an array. • pose_select_id (optional) — the select_id from select_fashion_pose. • background_select_id (optional) — the select_id from select_fashion_background. Omit to shoot at the plain root. • shoot_type (optional) — "editorial" or "catalogue". • aspect_ratio (required) — one of 16:9, 9:16, 1:1, 4:3, 3:4. Ask the user which they want before generating; the shoot fails if it is empty. • count (optional) — how many images, as a numeric string, e.g. "1". Defaults to the standard batch. • folder_id (optional) — a folder id from select_folder to place the assets in. select_id, fashion_project_id and folder_id are internal identifiers, used as arguments.
generate_fashion_photoshoot
Generate one image using the ImagineArt API. For two or more images, even of the same subject, call generate_image_batch once instead of calling this repeatedly. Returns immediately with a uuid and a widget that mounts in the queued state — the widget itself polls fetch_status and updates in place as the generation progresses (queued → generating → complete). Arguments: • org_id (required) — the organization id the user selected via select_organization. The same org_id applies for the whole chat. • folder_id (optional) — a folder id the user picked via select_folder, to create the image inside that folder. Omit to create it at the workspace root. Reuse the same folder_id for the whole chat. • prompt (required) — the text prompt. • image_url (optional) — a reference image to run image-to-image (edit / variation) mode instead of text-to-image. If the user attaches an image, first call user_upload with it and pass the returned url here; if the user gives an image URL directly, pass it as-is. Omit for plain text-to-image. When set, the request automatically switches to the img2img variation (models that don't support img2img silently fall back to text-to-image). • model (optional) — one of: "nano-banana-pro" (default; free accounts default to "seedream-v5-lite" and may only use it, "imagine-art-2.0" or "imagine-art-1.5"), "imagine-art-2.0", "nano-banana-2", "nano-banana", "nano-banana-lite", "gpt-image-2", "gpt-image-2.5-flare", "gpt-image-2.5-sunburst", "imagine-art-1.5", "imagine-art-1.5-pro", "recraft-v4.1", "ideogram-v3", "ideogram-v4", "seedream-v4.5", "seedream-v5-lite", "seedream-v5-pro", "qwen-image-2.1", "xAI-grok-imagine", "flux-2-max", "flux-kontext", "flux-1.1-pro-ultra", "gpt-image-1.5". "flux-kontext" only edits: it needs at least one image_url and fails without one. Pass the model name exactly as written. Omit unless the user asks for a specific model. • aspect_ratio (optional) — pass when the user specifies one. Defaults to "1:1". Per-model allow-lists: - nano-banana-pro: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 - imagine-art-2.0: 1:1, 9:16, 16:9, 4:3, 3:4, 2:3, 3:2, 21:9, 4:5, 5:4 - nano-banana-2: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 - nano-banana: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 - nano-banana-lite: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16, 4:1, 1:4, 8:1, 1:8 - gpt-image-2: 1:1, 4:3, 3:4, 3:2, 16:9, 9:16, 21:9, 2:3 - gpt-image-2.5-flare: 1:1, 4:3, 3:4, 3:2, 16:9, 9:16, 21:9, 2:3, 4:5 - gpt-image-2.5-sunburst: 1:1, 4:3, 3:4, 3:2, 16:9, 9:16, 21:9, 2:3, 4:5 - imagine-art-1.5: 1:1, 9:16, 16:9, 4:3, 3:4, 1:3, 3:1, 2:3, 3:2 - imagine-art-1.5-pro: 1:1, 9:16, 16:9, 4:3, 3:4, 1:3, 3:1, 2:3, 3:2 - recraft-v4.1: 1:1, 4:3, 3:4, 16:9, 9:16 - ideogram-v3: 1:1, 4:3, 3:4, 16:9, 9:16 - ideogram-v4: 1:1, 4:3, 3:4, 16:9, 9:16 - seedream-v4.5: 1:1, 2:3, 3:2, 4:3, 3:4, 16:9, 9:16 - seedream-v5-lite: 1:1, 2:3, 3:2, 4:3, 3:4, 16:9, 9:16 - seedream-v5-pro: 1:1, 2:3, 3:2, 4:3, 3:4, 16:9, 9:16 - qwen-image-2.1: 1:1, 4:3, 3:4, 16:9, 9:16 - xAI-grok-imagine: 2:1, 20:9, 19.5:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:19.5, 9:20, 1:2 - flux-2-max: 1:1, 4:3, 3:4, 16:9, 9:16 - flux-kontext: 21:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:21 - flux-1.1-pro-ultra: 21:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:21 - gpt-image-1.5: 1:1, 2:3, 3:2 An aspect_ratio that isn't in the chosen model's list silently falls back to 1:1; the request will still succeed. • resolution (optional) — only some models support it; pass only when the user asks for one. Per-model allow-lists (first value is the default the model uses when omitted): - nano-banana-pro: 1K, 2K, 4K - nano-banana-2: 1K, 2K, 4K - gpt-image-2: 1K, 2K, 4K - gpt-image-2.5-flare: 2K, 1K, 4K - gpt-image-2.5-sunburst: 2K, 1K, 4K - seedream-v5-lite: 2K, 4K Other models ignore resolution entirely. A value not in the chosen model's list silently falls back to that model's default. • quality (optional) — per-model allow-lists (first value is the default when omitted): - gpt-image-2: low, medium, high - gpt-image-2.5-flare: auto, low, medium, high, xhigh, max - gpt-image-2.5-sunburst: auto, low, medium, high, xhigh, max - gpt-image-1.5: medium, low, high Other models ignore quality. A value not in the model's list silently falls back to the model's default. • background (optional) — only gpt-image-2.5-flare, gpt-image-2.5-sunburst and gpt-image-1.5 support it: "auto" (default when omitted), "transparent", "opaque". Pass "transparent" when the user asks for a transparent / cut-out / no-background image on one of these models. Other models ignore it. • mask_url (optional) — an inpainting mask for image-to-image edits on gpt-image-2.5-flare and gpt-image-2.5-sunburst; only used together with image_url. If the user attaches a mask image, first call user_upload with it and pass the returned url here. Other models ignore it. LIKENESS AND CONSENT: only use photographs of the user themselves or of someone who has given the user permission to create AI imagery of them. Do not proceed with a photograph of any other person, and never with a photograph of a minor. If the user has not made that permission clear, ask them to confirm it before calling this tool. Reference photographs are processed by third-party AI model providers. Do not ask for, accept or pass on identity documents, health or medical images, financial or payment card images, or any government identifier.
generate_image
Generate several images from different prompts in one call, shown together in one widget grid with a Download all button. Use it whenever the user wants more than one image ("3 images of cats", a set of scenes, one image per product or slide idea) instead of calling generate_image repeatedly, which stacks one widget per call. For several of the same subject, pass one prompt per image, varied slightly. Returns immediately with one uuid per prompt; the widget polls fetch_status itself. Arguments: • org_id (required) — the organization the user selected via select_organization. • prompts (required) — array of prompts, one per image, at most 8. Write each as a full, standalone generate_image prompt. • model, aspect_ratio, resolution, quality, background, image_url, folder_id (optional) — same values and allow-lists as generate_image, applied to every image in the batch. org_id and folder_id are internal identifiers, used as arguments. LIKENESS AND CONSENT: only use photographs of the user themselves or of someone who has given the user permission to create AI imagery of them. Do not proceed with a photograph of any other person, and never with a photograph of a minor. If the user has not made that permission clear, ask them to confirm it before calling this tool. Reference photographs are processed by third-party AI model providers. Do not ask for, accept or pass on identity documents, health or medical images, financial or payment card images, or any government identifier.
generate_image_batch
Generate music using the ImagineArt API. Pass org_id (required) — the organization id the user selected via select_organization. Optionally pass folder_id (a folder the user picked via select_folder) to create the track inside that folder; omit it to use the workspace root. Pass prompt as a string. Duration is optional (default 10, range 1–90); variation is optional (default "music", or "instrumental"). Returns immediately with a uuid and a widget that mounts in the queued state; the widget polls fetch_music_status and updates in place. The widget handles the polling.
generate_music
Text to speech (voiceover, narration) with ElevenLabs v3. Pass org_id from select_organization and text (up to 5000 characters). If the user hasn't named a voice, call list_voices and let them pick. Returns a widget that polls fetch_music_status itself.
generate_speech
Generate a video using the ImagineArt API. Returns immediately with a uuid and a widget that mounts in the queued state — the widget itself polls fetch_status and updates in place as the generation progresses (queued → generating → complete). Arguments: • org_id (required) — the organization id the user selected via select_organization. The same org_id applies for the whole chat. • folder_id (optional) — a folder id the user picked via select_folder, to create the video inside that folder. Omit to create it at the workspace root. Reuse the same folder_id for the whole chat. • prompt (required) — the text prompt. • image_url (optional) — an ARRAY of reference image URLs. For each image, if the user attaches it, first call user_upload and pass the returned url; if the user gives a URL directly, pass it as-is. Omit for plain text-to-video. Behaviour by count: - exactly one image and no video_url/audio_url => image-to-video (animate a single still). - two or more images, or any video_url/audio_url => reference-to-video (see below). Seedance models (seedance-2.5, seedance-2.0, seedance-2.0-fast, seedance-2.0-mini) take reference images as bytedance references: this tool registers each image_url asset with bytedance itself before generating (the same step upload_asset_bytedance performs — do NOT call that tool for this), so for them every image_url MUST be an ImagineArt asset URL: one returned by user_upload, list_assets, or a finished generation. An externally hosted URL fails with an "Unable to" error saying so; upload the image with user_upload and retry with the returned url. • video_url (optional) — an ARRAY of video URLs. Forwarded for reference-to-video, or as the source video for video editing (see below). If the user attaches a video, first call user_upload with it. • audio_url (optional) — an ARRAY of reference audio URLs. Forwarded only for reference-to-video. Reference-to-video is supported only by these models: seedance-2.5, seedance-2.0, seedance-2.0-fast, seedance-2.0-mini, minimax-h3-max, minimax-h3, wan-3, happy_horse, wan-2.6, veo-3.1, google-omni-flash, grok-imagine-video, grok-imagine-1.5. Each accepts a different media set; passing media a model doesn't accept is ignored: - seedance-2.5, seedance-2.0, seedance-2.0-fast, seedance-2.0-mini: image_url, video_url, audio_url (all optional) - minimax-h3-max, minimax-h3, wan-3: image_url, video_url, audio_url (all optional) - happy_horse: image_url (at least one REQUIRED) - wan-2.6: video_url (at least one REQUIRED) - veo-3.1, grok-imagine-video, grok-imagine-1.5: image_url (optional) - google-omni-flash: image_url (at least one REQUIRED) If a model's required reference media is missing the call fails with an "Unable to" error naming what's required; relay it. Sending reference media to any other model falls back to image-to-video (first image) or text-to-video. Video editing (modify an existing video from a prompt, keeping its framing and length) is supported only by kling-o3-edit, kling-o1-edit and google-omni-flash. Pass the source video as the single video_url. kling-o3-edit and kling-o1-edit ONLY edit, so they need a video_url; they also take up to four image_url references. google-omni-flash edits whenever a video_url is passed, and ignores image_url while editing. runway-gen4-turbo only animates an image: it needs exactly one image_url. • model (optional) — one of: "ltx-2.3" (default), "seedance-2.5", "seedance-2.0-fast", "veo-3.1-fast", "minimax-h3-max", "happy_horse", "seedance-2.0", "wan-2.6", "seedance-1.5-pro", "seedance-pro-fast", "kling-2.6-pro", "kling-o3", "kling-3.0-pro", "pixverse-v6", "veo-3.1", "wan-2.2", "minimax-h3", "seedance-2.0-mini", "wan-3", "google-omni-flash", "veo-3.1-lite", "grok-imagine-video", "grok-imagine-1.5", "runway-4.5", "runway-gen4-turbo", "pika-2.2", "luma-ray2", "kling-3.0-turbo-pro", "kling-3.0-turbo-sd", "kling-o3-edit", "kling-o1-edit". Pass the model name exactly as written. Omit unless the user asks for a specific model. • aspect_ratio (optional) — pass when the user specifies one. Defaults to "16:9". Per-model allow-lists: - seedance-2.5: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive (image-to-video always uses "adaptive" — any ratio you pass is overridden) - seedance-2.0-fast: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive - veo-3.1-fast: 16:9, 9:16 - minimax-h3-max: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 - happy_horse: 16:9, 9:16, 1:1, 4:3, 3:4 - seedance-2.0: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive - ltx-2.3: 16:9, 9:16 - wan-2.6: 16:9, 9:16, 1:1, 4:3, 3:4 - seedance-1.5-pro: 21:9, 16:9, 9:16, 3:4, 4:3, 1:1 - seedance-pro-fast: 16:9, 4:3, 1:1, 9:16, 21:9, 3:4 - kling-2.6-pro: 16:9, 9:16, 1:1 - kling-o3: 16:9, 9:16, 1:1 - kling-3.0-pro: 16:9, 9:16, 1:1 - pixverse-v6: 16:9, 9:16, 4:3, 3:4, 1:1, 2:3, 3:2, 21:9 - veo-3.1: 16:9, 9:16 - wan-2.2: (none — always uses 16:9) - minimax-h3: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 - seedance-2.0-mini: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 - wan-3: 16:9, 4:3, 1:1, 3:4, 9:16, adaptive - google-omni-flash: 16:9, 9:16 - veo-3.1-lite: 16:9, 9:16 - grok-imagine-video: 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 1:1 - grok-imagine-1.5: 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 1:1 - runway-4.5: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 - runway-gen4-turbo: 16:9, 9:16, 1:1, 3:1 - pika-2.2: 16:9, 9:16, 2:3, 3:2, 1:1, 5:4, 4:5 - luma-ray2: 21:9, 16:9, 9:16, 4:3, 3:4, 9:21 - kling-3.0-turbo-pro, kling-3.0-turbo-sd: 16:9, 9:16, 1:1 - kling-o3-edit, kling-o1-edit: (none — an edit keeps the source video's framing) An aspect_ratio that isn't in the chosen model's list silently falls back to 16:9 (or the model's first listed ratio if it doesn't allow 16:9); the request will still succeed. • duration (optional) — pass as a string (seconds, or "auto" where supported). Defaults to "4". Per-model allow-lists: - seedance-2.5: 4 through 30 (any whole second) - seedance-2.0-fast: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - veo-3.1-fast: 4, 6, 8 - minimax-h3-max: 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - happy_horse: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - seedance-2.0: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - ltx-2.3: 6, 8, 10 - wan-2.6: 5, 10, 15 - seedance-1.5-pro: 4, 5, 6, 7, 8, 9, 10, 11, 12 - seedance-pro-fast: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 - kling-2.6-pro: 5, 10 - kling-o3: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - kling-3.0-pro: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - pixverse-v6: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - veo-3.1: 4, 6, 8 - wan-2.2: (none — always uses 4) - minimax-h3: 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - seedance-2.0-mini: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - wan-3: 2 through 30 (any whole second) - google-omni-flash: 3, 4, 5, 6, 7, 8, 9, 10 - veo-3.1-lite: 4, 6, 8 - grok-imagine-video: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - grok-imagine-1.5: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - runway-4.5: 5, 8, 10 - runway-gen4-turbo: 5, 10 - pika-2.2: 5, 10 - luma-ray2: 5, 9 - kling-3.0-turbo-pro, kling-3.0-turbo-sd: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - kling-o1-edit: 5, 10 - kling-o3-edit: (none — an edit keeps the source video's length) A duration that isn't in the chosen model's list silently falls back to "4" (or the model's first listed duration if it doesn't allow "4", e.g. "6" for the default ltx-2.3); the request will still succeed. • resolution (optional) — only some models support it; pass only when the user asks for one. Per-model allow-lists (first value is the default the model uses when omitted): - seedance-2.5: 480p, 720p, 1080p - seedance-2.0-fast: 480p, 720p - veo-3.1-fast: 720p, 1080p, 4k - minimax-h3-max: 480P, 768P - happy_horse: 720p, 1080p - seedance-2.0: 480p, 720p, 1080p - ltx-2.3: 1080p, 1440p, 2160p - wan-2.6: 720p, 1080p - seedance-1.5-pro: 480p, 720p - seedance-pro-fast: 480p, 720p, 1080p - pixverse-v6: 360p, 540p, 720p, 1080p - veo-3.1: 720p, 1080p, 4k - minimax-h3: 480P, 768P, 2K, 4K - seedance-2.0-mini: 480p, 720p - wan-3: 480p, 720p, 1080p - veo-3.1-lite: 720p, 1080p - grok-imagine-video, grok-imagine-1.5: 480p, 720p - runway-4.5: 720p - pika-2.2: 720p, 1080p - luma-ray2: 540p, 720p, 1080p - kling-2.6-pro, kling-o3, kling-3.0-pro, kling-3.0-turbo-pro, kling-3.0-turbo-sd, kling-o3-edit, kling-o1-edit, google-omni-flash, runway-gen4-turbo, wan-2.2: (none — resolution is ignored) A resolution that isn't in the chosen model's list silently falls back to that model's default. LIKENESS AND CONSENT: only use photographs of the user themselves or of someone who has given the user permission to create AI imagery of them. Do not proceed with a photograph of any other person, and never with a photograph of a minor. If the user has not made that permission clear, ask them to confirm it before calling this tool. Reference photographs are processed by third-party AI model providers. Do not ask for, accept or pass on identity documents, health or medical images, financial or payment card images, or any government identifier.
generate_video
Get the user's ImagineArt credit balance for an organization and render it in a widget. org_id (required) — the organization the user selected via select_organization; balance is per-organization. The same org_id applies for the whole chat.
get_balance
Use this when loaded skill instructions tell you to read one of their files, such as references/ads-platform-specs.md. A long file first returns its headings; call again with section set to a heading, 'Parent > Heading' when two headings share a name, an entry ID such as A13, or all for the whole file.
get_skill_file
Use this to load a skill from the skill library before doing skill work. Pass the exact slash command the user typed, such as /ads or /ads-create, or a command from the catalog. Call it with no skill to get the catalog of every bundle and command. Returns markdown instructions to follow.
get_skill_instructions
Open ImagineArt: one surface where the user creates images, videos and ads, browses their assets and checks their credit balance. It loads everything itself and takes no arguments. Call this only when the user asks to open ImagineArt or the studio. It generates nothing itself: for any image or video, with or without reference images, call generate_image or generate_video instead, and never open the studio in place of generating.
open_studio
List one ad catalog as text. kind picks which: • format, hook, setting — {id, name} entries. Match what the user named and pass that entry's numeric id as generate_ad's format_id, hook_id or setting_id. The name is not the id: "UGC" is a name; its format_id is a number like 1. Hooks and settings are optional. If you can't match, call select_format, select_hook or select_setting so the user picks. • resolution, aspect_ratio, duration — values with a short note on what each suits (9:16 for Reels and TikTok, 16:9 for YouTube) or costs. All three are REQUIRED by generate_ad: match a value the user named, otherwise offer the options, and pass the chosen value verbatim. Ids are internal identifiers.
list_ad_options
Used internally by the ImagineArt widgets: list the organization's assets (newest first) as an internal listing, e.g. to pass a returned id to another tool. Renders no widget — the show_assets widget drives this. show_assets covers requests to see assets. org_id (required) — the organization the user selected via select_organization. The same org_id applies for the whole chat. service (optional) — comma-separated upstream services to return: "user" for the user's uploads, "image,video" for generations. Omitting it returns every service, which includes uploads, music, and assets belonging to fashion or ad projects. limit (optional) — page size, defaults to 50. from / from_id (optional) — keyset pagination cursor for loading more. Leave both unset for the first call. When more is needed, call again with the same org_id plus the from / from_id values from the previous result's text. Both are required together.
list_assets
Used internally by the ImagineArt widgets: return the camera-angle catalog (Wide Shot, Close-Up, Extreme Close-Up, Full Body, Low/High Angle, Overhead, FPV Drone Shot, Over The Shoulder, Ground Level). Returns each angle's id, name, and thumbnail. The generation widget renders these as a selectable grid. Pass a chosen camera_angle_id to composite_shoot to frame the composite. camera_angle_id is an internal identifier.
list_camera_angles
Used internally by the ImagineArt widgets: return the camera-movement catalog (Pan Left/Right, Tilt, Push In, Pull Out, Zoom, Truck, Orbit, Arc, Crane, Dolly Zoom, 360 Rotation, Whip Pan, FPV Drone, …). Returns each movement's id, name, thumbnail, and preview video. The generation widget renders these as a selectable grid. Pass a chosen camera_movement_id to animate_fashion_image (advanced mode, alongside a free-text prompt) to steer the camera.
list_camera_movements
Used internally by the ImagineArt widgets: return the caption style catalog for generate_video_captions — each preset's id, title, thumbnail, and whether it is animated. The user picks a preset from this catalog before generate_video_captions; preset ids come from here. Takes no arguments. Pass the chosen id verbatim as generate_video_captions' preset argument: the upstream match is exact, so capitalizing or rewording it fails. Animated ("dynamic") presets cost twice as many credits as static ones — say so when the user is choosing.
list_caption_presets
ImagineArt ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve ImagineArt's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are ImagineArt alternatives on ChatGPT?
As of 2026-10-28, ImagineArt competes with Ad Army, Animx, Arcads, Artlist, Atlas Cloud, AutoContent API, AutoSprite, Batch Banana and 39 more in ChatGPT Multi-Modal Generative Media Platforms, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.