Files API
- upload - Upload File
- list - List Files
- retrieve - Retrieve File
- delete - Delete File
- download - Download File
- get_signed_url - Get Signed Url
Upload a file that can be used across various endpoints.
The size of individual files can be a maximum of 512 MB. The Fine-tuning API only supports .jsonl files.
Please contact us if you need to increase these storage limits.
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.files.upload(file={
"file_name": "example.file",
"content": open("example.file", "rb"),
}, visibility="workspace")
# Handle response
print(res)| Parameter | Type | Required | Description |
|---|---|---|---|
file |
models.File | ✔️ | The File object (not file name) to be uploaded. To upload a file and specify a custom file name you should format your request as such: bash<br/> file=@path/to/your/file.jsonl;filename=custom_name.jsonl<br/> Otherwise, you can just keep the original file name: bash<br/> file=@path/to/your/file.jsonl<br/> |
expiry |
OptionalNullable[int] | ➖ | N/A |
visibility |
Optional[models.FilesAPIRoutesUploadFileFileVisibility] | ➖ | N/A |
purpose |
Optional[models.FilePurpose] | ➖ | N/A |
retries |
Optional[utils.RetryConfig] | ➖ | Configuration to override the default retry behavior of the client. |
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.SDKError | 4XX, 5XX | */* |
Returns a list of files that belong to the user's organization.
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.files.list(page=0, page_size=100, include_total=True)
# Handle response
print(res)| Parameter | Type | Required | Description |
|---|---|---|---|
page |
Optional[int] | ➖ | N/A |
page_size |
Optional[int] | ➖ | N/A |
include_total |
Optional[bool] | ➖ | N/A |
sample_type |
List[models.SampleType] | ➖ | N/A |
source |
List[models.Source] | ➖ | N/A |
search |
OptionalNullable[str] | ➖ | N/A |
purpose |
OptionalNullable[models.FilePurpose] | ➖ | N/A |
mimetypes |
List[str] | ➖ | N/A |
retries |
Optional[utils.RetryConfig] | ➖ | Configuration to override the default retry behavior of the client. |
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.SDKError | 4XX, 5XX | */* |
Returns information about a specific file.
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.files.retrieve(file_id="f2a27685-ca4e-4dc2-9f2b-88c422c3e0f6")
# Handle response
print(res)| Parameter | Type | Required | Description |
|---|---|---|---|
file_id |
str | ✔️ | N/A |
retries |
Optional[utils.RetryConfig] | ➖ | Configuration to override the default retry behavior of the client. |
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.SDKError | 4XX, 5XX | */* |
Delete a file.
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.files.delete(file_id="3b6d45eb-e30b-416f-8019-f47e2e93d930")
# Handle response
print(res)| Parameter | Type | Required | Description |
|---|---|---|---|
file_id |
str | ✔️ | N/A |
retries |
Optional[utils.RetryConfig] | ➖ | Configuration to override the default retry behavior of the client. |
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.SDKError | 4XX, 5XX | */* |
Download a file
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.files.download(file_id="f8919994-a4a1-46b2-8b5b-06335a4300ce")
# Handle response
print(res)| Parameter | Type | Required | Description |
|---|---|---|---|
file_id |
str | ✔️ | N/A |
retries |
Optional[utils.RetryConfig] | ➖ | Configuration to override the default retry behavior of the client. |
httpx.Response
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.SDKError | 4XX, 5XX | */* |
Get Signed Url
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.files.get_signed_url(file_id="06a020ab-355c-49a6-b19d-304b7c01699f", expiry=24)
# Handle response
print(res)| Parameter | Type | Required | Description |
|---|---|---|---|
file_id |
str | ✔️ | N/A |
expiry |
Optional[int] | ➖ | Number of hours before the URL becomes invalid. Defaults to 24h. Must be between 1h and 168h. |
retries |
Optional[utils.RetryConfig] | ➖ | Configuration to override the default retry behavior of the client. |
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.SDKError | 4XX, 5XX | */* |