Building a model picker from the models endpoint
Hardcoded model ids go stale. Build the picker from the live catalog endpoints so new and retired models appear without a deploy.
Hardcoded model ids go stale. Build the picker from the live catalog endpoints so new and retired models appear without a deploy.
Three developer doors into the same catalog, decided by one question: who initiates the request and who is waiting for the result. With a decision table.
Text fields on write requests are moderated before generation starts. A valid JSON payload can still 400; here is how to surface that.
Conversations are addressable objects with list, get, clear, and share endpoints. Audit agent history in code, or build your own review view over it.
One catalog, three ways in. Compared on iteration speed, batch scale, review flow and who can operate each, with a recommendation per role.
Pass several model names in one generate call, get a request id per model, and run a bake-off without writing your own dispatch loop.
The chat model plans; the generate model renders. Change chat_model to pick the brain, and pin generate models separately when the clip has to match.
Versely does not POST results to your server. Build around submit-then-poll on a request ID, and stop waiting for a webhook that is never going to arrive.
Run provider-check for every model in a batch before the first POST, so an unroutable name fails the preflight instead of item 87.
Sync Versely social analytics on a schedule: overview, per-post snapshots, and history, so reporting lives in your dashboard instead of theirs.
POST /quick-generate runs one image or video generate without chat memory. Use it for scripted one-shots; keep /chat for anything that has to remember a brief.
Backoff guessed from a clock wastes the window you still have. Read X-RateLimit-Remaining, X-RateLimit-Reset and retryAfter, then sleep until that reset.
A generation is a request ID plus three states. Know when to stop polling, what a completed payload contains, and what it will never include.
There is no Idempotency-Key header. Mint your own batch ID, persist the request ID as soon as you have it, and make timeouts safe without charging twice.
Seeds do not survive precision, hardware or library changes. Pin dtype, batch size, sampler and library version with the seed if a render must be reproducible.
Use /chat/stream when the user should see tokens and tool cards live. Use blocking /chat when a script only needs the final JSON.
LTX batch work has its own submit, inspect, cancel, and queue-depth endpoints. Submit a job, track it to completion, and read the queue first.
The editor-render endpoint takes one timeline document covering clips, transitions, text, audio, and captions, and returns a single video.
Frame extraction, merging, audio attach, isolation, and captioning run on their own. Treat them as pipeline steps, not as buttons inside the editor.
Poll-only delivery means a dropped connection is a lost job unless you persist request ids, statuses, and retries. Here is the minimal schema.
Agent chat, generation and social posting sit on separate counters. Size each stage against its own limiter so a publishing 429 cannot stall generation.
A failed generation is terminal for that ID. Use the transient flag to decide if a new job is worth the credits, and stop retrying work that cannot succeed.
Install the CLI, mint a key, dispatch an image and a video job over HTTP, poll status, and pull the finished file down without opening the web app.
Clicking Connect runs OAuth 2.1 with dynamic client registration. Here is what the consent screen grants and where the resulting token is scoped.