For the API key, you can pass it directly to the client.
This is useful for quick testing.
String apiKey = "MY_API_KEY";
MindeeClientV2 mindeeClient = new MindeeClientV2(apiKey);
Instead of passing the key directly, you can also set the following environment variable:
MINDEE_V2_API_KEY
This is recommended for production use.
In this way there is no need to pass the apiKey argument when initializing the client.
MindeeClientV2 mindeeClient = new MindeeClientV2();
First add the required namespaces.
using Mindee;
using Mindee.Input;
For the API key, you can pass it directly to the client.
This is useful for quick testing.
string apiKey = "MY_API_KEY";
MindeeClientV2 mindeeClient = new MindeeClientV2(apiKey);
Instead of passing the key directly, you can also set the following environment variable:
MindeeV2__ApiKey
This is recommended for production use.
In this way there is no need to pass the apiKey argument when initializing the client.
MindeeClientV2 mindeeClient = new MindeeClientV2();
Set Inference Parameters
Inference parameters control:
which model to use
server-side processing options
how the results will be returned to you
Processing Options
These are mostly the same options as present in the Web API.
Only the model_id is required.
inference_params = InferenceParameters(
# ID of the model, required.
model_id="MY_MODEL_ID",
# Options:
# If set to `True`, will enable Retrieval-Augmented Generation.
rag=True,
# Use an alias to link the file to your own DB.
# If empty, no alias will be used.
alias="MY_ALIAS",
)
Only the modelId is required.
const inferenceParams = {
// ID of the model, required.
modelId: "MY_MODEL_ID",
// Options:
// If set to `true`, will enable Retrieval-Augmented Generation.
rag: false,
// Use an alias to link the file to your own DB.
// If empty, no alias will be used.
alias: "MY_ALIAS"
};
Only the modelId is required.
$inferenceParams = new InferenceParameters(
// ID of the model, required.
modelId: "MY_MODEL_ID",
// Options:
// If set to `true`, will enable Retrieval-Augmented Generation.
rag: false,
// Use an alias to link the file to your own DB.
// If not set, no alias will be used.
alias: "MY_ALIAS",
);
Only the modelId is required.
InferenceParameters params = InferenceParameters
// ID of the model, required.
.builder("MY_MODEL_ID")
// options
// If set to `true`, will enable Retrieval-Augmented Generation.
.rag(false)
// Use an alias to link the file to your own DB.
// If empty, no alias will be used.
.alias("MY_ALIAS")
// complete the builder
.build();
Only the modelId is required.
var inferenceParams = new InferenceParameters(
// ID of the model, required.
modelId: "MY_MODEL_ID"
// Options:
// If set to `true`, will enable Retrieval-Augmented Generation.
, rag: false
// Use an alias to link the file to your own DB.
// If empty, no alias will be used.
, alias: "MY_ALIAS"
);
Polling Configuration
The client library will POST the request for you, and then automatically poll the API.
When polling you really only need to set the model_id .
You can also set the various polling parameters.
However, we do not recommend setting this option unless you are encountering timeout problems.
from mindee import PollingOptions
inference_params = InferenceParameters(
model_id="MY_MODEL_ID",
# Set only if having timeout issues.
polling_options=PollingOptions(
# Initial delay before the first polling attempt.
initial_delay_sec=3,
# Delay between each polling attempt.
delay_sec=1.5,
# Total number of polling attempts.
max_retries=80,
),
# ... any other options ...
)
When polling you really only need to set the modelId .
const inferenceParams = {modelId: "MY_MODEL_ID"};
You can also set the various polling parameters.
However, we do not recommend setting this option unless you are encountering timeout problems.
const inferenceParams = {
// ID of the model, required.
modelId: "MY_MODEL_ID",
// Set only if having timeout issues.
pollingOptions: {
// Initial delay before the first polling attempt.
initialDelaySec: 3.0,
// Delay between each polling attempt.
delaySec: 1.5,
// Total number of polling attempts.
maxRetries: 80
}
// ... any other options ...
}
When polling you really only need to set the modelId .
$inferenceParams = new InferenceParameters(modelId: "MY_MODEL_ID");
You can also set the various polling parameters.
However, we do not recommend setting this option unless you are encountering timeout problems.
use Mindee\Input\PollingOptions;
$inferenceParams = new InferenceParameters(
// ID of the model, required.
modelId: "MY_MODEL_ID",
// Set only if having timeout issues.
pollingOptions: new PollingOptions(
// Initial delay before the first polling attempt.
initialDelaySec: 3.0,
// Delay between each polling attempt.
delaySec: 1.5,
// Total number of polling attempts.
maxRetries: 80,
),
// ... any other options ...
);
When polling you really only need to set the modelId .
You can also set the various polling parameters.
However, we do not recommend setting this option unless you are encountering timeout problems.
InferenceParameters params = InferenceParameters
.builder("MY_MODEL_ID")
.pollingOptions(
AsyncPollingOptions.builder()
// Initial delay before the first polling attempt.
.initialDelaySec(3.0)
// Delay between each polling attempt.
.intervalSec(1.5)
// Total number of polling attempts.
.maxRetries(80)
// complete the builder
.build()
)
// ... any other options ...
.build();
When polling you really only need to set the modelId .
var inferenceParams = new InferenceParameters(modelId: "MY_MODEL_ID");
You can also set the various polling parameters.
However, we do not recommend setting this option unless you are encountering timeout problems.
var inferenceParams = new InferenceParameters(
modelId: "MY_MODEL_ID"
// Set only if having timeout issues.
, pollingOptions: new AsyncPollingOptions(
// Initial delay before the first polling attempt.
initialDelaySec: 3.0,
// Delay between each polling attempt.
intervalSec: 1.5,
// Total number of polling attempts.
maxRetries: 80
)
// ... any other options ...
);
Webhook Configuration
The client library will POST the request to your Web server, as configured by your webhook endpoint.
For more information on webhooks, take a look at the Webhooks page.
When using a webhook, you'll need to set the model ID and the webhook ID(s) to use.
inference_params = InferenceParameters(
model_id="MY_MODEL_ID",
webhook_ids=["ENDPOINT_1_UUID"],
# ... any other options ...
)
const inferenceParams = {
modelId: "MY_MODEL_ID",
webhookIds: ["ENDPOINT_1_UUID"],
// ... any other options ...
};
$inferenceParams = new InferenceParameters(
modelId: "MY_MODEL_ID",
webhooksIds: array("ENDPOINT_1_UUID"),
// ... any other options ...
);
InferenceParameters params = InferenceParameters
.builder("MY_MODEL_ID")
.webhookIds(new String[]{"ENDPOINT_1_UUID"})
// ... any other options ...
.build();
var inferenceParams = new InferenceParameters(
modelId: "MY_MODEL_ID"
, webhookIds: new List<string>{ "ENDPOINT_1_UUID" }
// ... any other options ...
);
You can specify any number of webhook endpoint IDs, each will be sent the payload.
Next Steps
Now that everything is ready to, it's time to send your files to the Mindee servers.
If you're sending a local file, head on over to the Load and Adjust a File page for details on the next step.
If you're sending an URL, head on over to the Send a File or URL section.