Flux 2 Flex
Flux · Image · Text → Image
Adaptable generation across varied visual styles up to 4K.
flux-2-flexWorkflow: bfl/v1/flux-2Authentication
Send your Picsart API key as a bearer token on every request.
Authorization: Bearer <PICSART_API_KEY>Make a request
One endpoint serves every model: POST to /workflows/v1/models/execute with the model id and its input in the body. The nesting is deliberate — the outer paramsis the envelope every workflow takes, and the inner one is this model's own input. Those inner names are the same unified ones the SDK takes, so a call translates one-to-one between the two — no per-vendor naming to learn.
curl -X POST 'https://api.picsart.com/workflows/v1/models/execute' \
-H 'Authorization: Bearer $PICSART_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"params": {
"model": "flux-2-flex",
"params": {
"prompt": "A serene mountain lake at golden hour, ultra detailed",
"aspectRatio": "3:4",
"resolution": "1K"
}
}
}'Parameters
5 parameters, sent inside the inner paramsobject. Identical to the SDK's — one parameter set, whichever transport you use.
| Parameter | Type | Required | Default | Details |
|---|---|---|---|---|
promptPrompt | text | yes | — | — |
aspectRatio | enum | no | 3:4 | 1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 9:21 |
resolution | enum | no | 1K | 1K, 2K, 4K |
count | enum | no | 1 | 1, 2, 4, 6, 8, 10 |
imageUrlsSource Image | file (image[]) | no | — | — |
Response
The body arrives in the gateway's status envelope, so the output is at response.result — alongside the task id, its status and the credits charged. Asset models return url plus an items array; text models return text instead.
{
"status": "success",
"response": {
"id": "task_abc123",
"status": "COMPLETED",
"result": {
"url": "https://cdn.picsart.com/…/result",
"items": [
{
"url": "https://cdn.picsart.com/…/result"
}
],
"model": "flux-2-flex"
},
"usage": {
"credits": 2
}
}
}