- Duale AI
- Documentation
- Libraries
- Library limits
Library limits: file size, ceilings, and retention
Lists Library limits for sizing files, batches, and storage: file size, tool ceilings, upload and deletion windows, and volume measurement.
This page covers file size limits, Library capacity, per-call ceilings, time windows, processing duration, stored volume measurement, and nightly refresh behavior.
- File size limits and supported formats.
- Library path length, tags size, and document capacity.
- Per-call ceilings for Find, Match, List, and Read tools.
- Upload, deletion, and processing time windows.
- Stored document volume measurement and nightly refresh behavior.
Summaries were generated by AI.
Use this page to size a file, a corpus, a batch, or a storage plan. It groups the Library limits that affect those decisions by the question that sends you looking for them.
Some limits are part of the versioned API contract. Changing them breaks clients. Other limits are settings that a release can change.
- Class
- Versioned API contract
- Limits
pathlength,list_documentspage size, and the Find, Match, List, and Read ceilings
- Class
- Release setting
- Limits
tagssize, file-size cap, format list, upload-session lifetime, upload part-URL lifetime, deletion windows, and processing allowances
What one file can be
One file can be 500 MiB at most, and its file type must be one Duale AI reads. Split a larger source and upload each part as its own document.
The supported formats cover documents, spreadsheets, presentations, images, videos, email, subtitles, data, and code. From a video, Duale AI reads text visible in the frames, not speech. Upload a recording as a transcript or subtitle file when its spoken content must be searchable.
In the Dashboard, the upload file picker offers the supported file types and names their categories. The list changes only with a release.
What a Library can hold
Two values bound a Library: its path length and its tags size. Nothing caps the documents in a Library or the Libraries in a tenant, so size a Library around its reader group, not around a count.
- Limit
path- Value
- 1 to 300 characters, free-form, without
{,}or* - Your action
- Address a Library by its identifier. Access follows the path, and two Libraries can carry the same one.
- Limit
tags- Value
- 4 KiB of serialized JSON, on a Library and on each document
- Your action
- Keep each value a string, an integer, a number, or a boolean. An update replaces the complete map.
- Limit
- Documents in one Library
- Value
- No ceiling
- Your action
- Split a corpus by the question it answers, not by a document count.
- Limit
- Libraries per tenant
- Value
- No ceiling
- Your action
- Design around reader groups, not a count. Listing can fail under the access rules below.
What one call returns
Document listings and the four Library Tools limit the results returned by one request.
The model’s Library Tools run under ceilings that your code does not pass:
- Tool
- Find
- Ceiling for one request
- 100 results
- Tool
- Match
- Ceiling for one request
- 500 matches, 100 by default, and 0 to 20 context lines. Up to 32 alternatives in 1,000 characters, each with at least 3 characters
- Tool
- List
- Ceiling for one request
- 500 documents in one response
- Tool
- Read
- Ceiling for one request
- One document
Your own code passes none of those numbers. The model chooses a Tool during a Task, and Duale AI applies the ceiling. Library retrieval explains what each Tool matches, the name each one has in a trace, and how to read an answer that stopped early.
The SDK exposes two listing operations:
list_documents(request)takes alimitof 1 to 500 and returns that many documents in one response, with a cursor for the next response. Pass each cursor back untilnext_cursorisNone.list()returns all active Libraries covered by the caller’s read access, without pagination. When that access comes from more than 5,000 separate allows, or combines broad allows with refusals on particular Library paths, the call fails with an error instead of returning a partial list. Useget()with known Library IDs; each request checks that Library’s permissions.
SDK reference states both signatures and the exception type, and Access and isolation states who grants the actions that a caller resolves.
How long each window lasts
Four windows govern incomplete uploads and deletion. Act before each one ends.
- Window
- Upload session
- Duration
- 24 hours
- What happens at the end
- The session expires. Start a new upload for a file whose parts did not all arrive.
- Window
- Upload part URL
- Duration
- 6 hours
- What happens at the end
- The URL stops working. A large file over a slow connection can reach that window, so upload every part inside it.
- Window
- Recently deleted, per document
- Duration
- 30 days
- What happens at the end
- The document becomes eligible for permanent removal after the window. Restore it from the Dashboard inside it.
- Window
- Deleted Library
- Duration
- 24 hours
- What happens at the end
- The record becomes eligible for permanent removal. A deleted Library cannot be restored.
Nothing removes a document permanently inside its 30-day window unless you delete its Library. Deleting that Library also deletes the document, even while it is in Recently deleted. Security and data handling owns the delete and restore lifecycle.
How long processing takes
The SDK’s polling helper stops after 360 seconds by default, before the processing allowance of Duale AI can end. A
client timeout does not prove that processing failed. Pass a longer timeout= for a large file, then read the returned
status instead of uploading the file a second time.
Manage libraries shows the polling call and client-timeout recovery.
Duale AI publishes no total time for a batch, and documents can finish in any order. Test a representative batch under
your production conditions, then wait for every document the task needs to reach ready.
How stored document volume is measured
Duale AI records stored document volume from the document lifecycle described below.
A document counts from when Duale AI stores it until Duale AI deletes it permanently. A deleted document stays in the 30-day Recently deleted window and still counts during that window. Delete it as soon as your retention policy allows. Include the 30-day window when you estimate stored document volume.
Nothing expires a Library that a task created for its attachments, so its documents remain recorded until you delete them. Attach documents covers the files that one task carries. Pricing and access states whether the applicable commercial terms bill recorded volume separately.
What a nightly refresh records
A nightly refresh that uploads every file and deletes the prior documents still holds about thirty superseded copies of every file, plus the current one. A change-only refresh keeps that extra volume to the files that changed.
This happens because uploading a file again creates a new document instead of replacing the old one, and a document you delete keeps counting for its 30-day window.
Best practices gives the habit that keeps a changing set of documents to roughly its own size.