curl -X POST https://www.datalab.to/api/v1/workflows/workflows \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Parse with Quality-Based Fallback",
"steps": [
{
"step_key": "marker_parse",
"unique_name": "parse",
"settings": {}
},
{
"step_key": "await_parse_quality",
"unique_name": "check_quality",
"settings": {
"max_wait_seconds": 120,
"poll_interval_seconds": 10
},
"depends_on": ["parse"]
},
{
"step_key": "conditional",
"unique_name": "quality_gate",
"settings": {
"conditions": [
{
"left": "{{check_quality.parse_quality_score}}",
"operator": ">=",
"right": 4.0
}
],
"routes": {
"true": {
"enable_steps": ["extract"]
},
"false": {
"enable_steps": ["high_accuracy_reparse", "extract_after_reparse"]
}
}
},
"depends_on": ["check_quality"]
},
{
"step_key": "marker_extract",
"unique_name": "extract",
"settings": {
"page_schema": {
"title": {"type": "string"},
"summary": {"type": "string"}
}
},
"depends_on": ["quality_gate"]
},
{
"step_key": "marker_parse",
"unique_name": "high_accuracy_reparse",
"settings": {
"max_pages": 10,
"config": {
"force_ocr": true
}
},
"depends_on": ["quality_gate"]
},
{
"step_key": "marker_extract",
"unique_name": "extract_after_reparse",
"settings": {
"page_schema": {
"title": {"type": "string"},
"summary": {"type": "string"}
}
},
"depends_on": ["high_accuracy_reparse"]
}
]
}'