glorya 是做什么的?
Glorya is an AI marketing agent. It already knows the user's brand: logo, colors, fonts, products and language. You start the work, follow it and share the results. Glorya finishes on its own unless the user asks to review.
Every tool, input, status, error and limit is in references/tools.md.
When to use
- The user asks for an image ad, a video ad, a landing page or a website.
- The user wants to change, publish or stop something Glorya made.
- The user asks about their recent Glorya images and videos (
list_assets), the video styles (list_video_formats) or their brand and products (get_brand).
Connect
The tools come from the Glorya MCP server at https://platform.glorya.ai/mcp (streamable HTTP, OAuth with the user's Glorya account). If they are missing, ask the user to connect it: https://glorya.ai/docs/mcp/quickstart. When they connect, they pick a default brand.
Rules
- Use the default brand: leave
workspaceempty. Only when the user names another brand, calllist_workspaceswithqueryset to that name and pass the matchingidasworkspace. - Start right away. Pass the user's own words as
brief. If they gave no details, pass what they asked for, such as "Create an image ad". - Ask nothing before you start: not the format, size, language, audience or style. Glorya picks these.
- Set
language,formatorreferencesonly when the user gave them.referencesare public https links. - Leave
reviewout; it is false, so Glorya finishes on its own. Setreview: trueonly when the user asks to review or approve steps ("let me review", "show me the concept first"). Never ask the user about it. - Never invent products, prices or offers. Never start the same job twice.
The job loop
- Call the create tool. It returns
job_idandopen_url. Tell the user it started and shareopen_url. - Call
get_jobwithjob_idandwait_seconds: 30. Whilestatusisrunning, call it again. It already waits for changes, so don't poll faster. needs_input: Glorya needs a decision. Show each item inquestionsas written, with its exactchoicesandpreview_images. Wait for the user. Then callrespondwithjob_id, the question'srequest_idandanswer, and go back to step 2.decisionandapprove:answeris one exact label fromchoices.input,reviseandclarify: the user's own words work.- Don't answer for the user. Don't add questions of your own. If the user writes in another language, translate the question but send the exact label.
completed: share the results (see each type below) andopen_url. Ifprogressasks the user something, relay it and send the answer withrefine.failed: tell the user whaterrororprogresssays. Offerrefinewith a changed instruction, or a new job.cancelled: the job stopped. Finished files stay in Glorya.
Changes: call refine with the same job_id and the user's words as instruction, then run the loop again from step 2. Changes use credits.
Image ad
- Start with
create_image_ad. - Glorya plans the ad, writes the copy and makes the images. With
review: trueit stops to approve the plan (concept and copy) and the finished images. - When it's done,
assetsholds the images. Share eachurlandopen_url.progressholds Glorya's latest message, such as the ad copy. - For changes, use
refine: "Make the headline shorter."
Video ad
- Start with
create_video_ad. - Set
formatonly if the user named a video style. Calllist_video_formatsand pass the matchingid. Otherwise leave it out; Glorya picks one. - Glorya writes the script, makes the start frames and renders the final cut. With
review: trueit stops to approve the format, the script, the start frames and the final cut. - Rendering takes minutes. Keep calling
get_job, and tell the user now and then that it's still working. - When it's done,
assetslists the video first, withurlandposter_url. Share the video link andopen_url. - For changes, use
refine: "Use a calmer voice." To stop it, usecancel_job.
Landing page
- Start with
create_landing_page. - The builder may ask one clarifying question (
clarify). Relay it like any other. - When it's done, share
site.preview_urlandopen_url. The page is not live yet. - For changes, use
refine: "Add a pricing section." - Publish only when the user says so ("publish it", "make it live"): call
publish_sitewithjob_id.slugis optional (lowercase letters, digits and dashes). - After publishing, call
get_jobuntilsite.live_urlis set, then share it. Ifsite.publish_statusshows a failure, tell the user;publish_sitecan run again. - A build can't be cancelled once it starts.
Website
- Start with
create_website. It builds a site with several pages. - Everything else works like the landing page: one possible clarifying question,
site.preview_url,refinefor changes,publish_siteonly when the user asks, thensite.live_url.
When something fails
Tool errors come with a message, a code and sometimes a link. Pass the message and link on. Don't retry in a loop. The full list is in references/tools.md.
plan_required: sharecheckout_url($99/month Starter plan). Try again after the user starts it.setting_up: the brand is still setting up. Try again in a few minutes.- Wrong brand,
workspace_requiredorworkspace_not_found: calllist_workspaceswithqueryset to the brand the user named, then call the tool again with thatidasworkspace. limit_reached: up to 3 jobs run at once per brand and 30 start per hour per person. Wait for one to finish, or stop an image or video ad withcancel_job.no_credits: sharebilling_urlso the user can top up.
Never
- Launch or change ad campaigns. Glorya can't do that from here. Point the user to https://platform.glorya.ai
- Publish a page or site without an explicit ask.
Examples
- "Make an image ad for our summer sale" →
create_image_adwith that sentence asbrief. - "UGC video ad for the new serum, and let me review the script" →
list_video_formats, thencreate_video_adwith the UGCidasformatandreview: true. - "Landing page for my other brand, Lumi Coffee" →
list_workspaceswithquery: "Lumi Coffee", thencreate_landing_pagewith thatidasworkspace. - "Make the background darker" →
refineon the last job. - "Publish it" →
publish_site, then sharesite.live_url.