Skip to main content
Your assistant reads these tools, and their exact arguments, from the server: you never call them yourself. This page is for checking what an assistant can do, and for building agents. Lists take limit (1 to 50) and starting_after to page. Only generate_media spends credits; delete_generation, delete_asset and delete_webhook_endpoint are marked destructive, so clients ask before running them.

generate_media

Generates images, videos or audio with any model of your workspace.
string
required
Model id, for example seedance-2.5.
string
required
One of the model’s modes: text-to-image, image-to-video, reference-to-video…
object
The mode’s fields, as get_model lists them. A file field (first_frame, references, image…) takes an asset id, a URL or an element: see Your files.
number
Refuse the generation, before spending, if it would cost more.
string
A new UUID per generation, the same one on a retry: the retry returns the generation already started. Reusing a key for a different request is refused.
integer
default:"40"
How long the call waits for the result, 0 to 40.
object
Up to 20 string pairs, to find the generation later with list_generations.
boolean
default:"true"
Include small image previews in the result.
The answer is the finished generation, or, past wait_seconds, its status and the next call:

get_generation

string
required
gen_…
integer
default:"0"
Wait up to this many seconds (0 to 40) for the generation to finish.
A finished generation lists each output with its permanent URL and asset id, and what was charged and refunded.

add_asset

Exactly one source:
string
A public https file, downloaded by Argil. The same URL twice is the same asset.
object
{ "filename", "content_type", "size_bytes", "md5" }: returns a signed URL to PUT the file to, valid 10 minutes, for files up to 2 GB. Then get_asset with wait_seconds until it is ready.
object
{ "data_base64", "filename", "content_type" }: a file up to 2 MB, inline. For programs; never copy a file through a conversation.

Results

Every tool answers with a short text for the conversation, ending with Next: and the call to make when there is one, and the same data as structuredContent for programs. A refused call has isError: true and an error with a stable code: see Troubleshooting. Tools keep their names and required arguments. New models, modes and optional arguments appear without breaking existing calls; a breaking change ships as a new tool, and the old one stays at least 12 months.