JSON prompting is one of the most reliable ways to get consistent outputs from models like BytArch-Lumina. Instead of asking for a general response, you define exactly what the output should look like, field by field, so the model has no room to improvise.
How JSON prompting works
You specify the structure you want, then the model fills in the values based on the document. The goal is always consistent, machine readable output.
Example prompt
{
"task": "Extract key information from this document",
"fields": {
"invoice_number": "",
"date": "",
"total_amount": ""
},
"rules": [
"Return only valid JSON",
"Do not add explanations",
"Use empty strings if a value is missing"
]
}
API example
Here is what a real request might look like when sending a document to the API:
curl https://api.bytarch.com/openai/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "BytArch/BytArch-Lumina",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Extract invoice_number, date, and total_amount. Return only valid JSON."
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/document.jpg"
}
}
]
}
]
}'
Why this works
- Structured output: The model always returns predictable fields
- Less hallucination: Strict instructions reduce made up data
- Easy integration: Output can be plugged directly into systems
Best practice
Keep your schema simple and consistent. Clear instructions lead to more reliable extraction results.

