The following shows how to use Chat API for geai Ingestion Provider:
curl -X POST "$BASE_URL/v1/search/profile/{name}/document" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Content-Type: multipart/form-data" \
-F 'file=@"/C:/temp/SampleFile.pdf"' \
-F 'provider="geai"'
- High-resolution strategy:
curl -X POST "$BASE_URL/v1/search/profile/{name}/document" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Content-Type: multipart/form-data" \
-F 'file=@"/C:/temp/SampleFile.pdf"' \
-F 'provider="geai"' \
-F 'strategy="hi_res"'
- High-resolution with custom model and prompt:
curl -X POST "$BASE_URL/v1/search/profile/{name}/document" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Content-Type: multipart/form-data" \
-F 'file=@"/C:/temp/SampleFile.pdf"' \
-F 'provider="geai"' \
-F 'model="openai/gpt-4o"' \
-F 'imagePrompt="Resume the image as succinctly as possible in markdown format"'
- Using startPage and endPage to only process a range of pages from a document
curl -X POST "$BASE_URL/v1/search/profile/{name}/document" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Content-Type: multipart/form-data" \
-F 'file=@"/C:/temp/SampleFile.pdf"' \
-F 'provider="geai"' \
-F 'model="openai/gpt-4o-mini"' \
-F 'startPage="2"' \
-F 'endPage="2"'
curl -X POST "$BASE_URL/v1/search/profile/{name}/document" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-H "Content-Type: multipart/form-data" \
-F 'file=@"/C:/temp/SampleFile.pdf"' \
-F 'provider="geai"' \
-F 'strategy="llm"'
- Video file with available spoken audio:
curl -X POST "$BASE_URL/v1/search/profile/{name}/document" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-F 'file=@"/C:/temp/SampleFile.mp4"' \
-F 'provider="geai"' \
-F 'model="openai/gpt-4.1-nano"' \
-F 'dialogue="true"'
- Video without audio, use a vLLM every 10 seconds for interpretation, merging 20 results at a time:
curl -X POST "$BASE_URL/v1/search/profile/{name}/document" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-F 'file=@"/C:/temp/SampleFile.mp4"' \
-F 'provider="geai"' \
-F 'model="openai/gpt-4.1-nano"' \
-F 'mediaPrompt="Describe this video frame as succint as possible"' \
-F 'dialogue="false"' \
-F 'extractedFramesPerSecond="10"' \
-F 'merge="20"'
curl -X POST "$BASE_URL/v1/search/profile/{name}/document" \
-H "Authorization: Bearer $GEAI_APITOKEN" \
-F 'file=@"/C:/temp/SampleFile.mp3"' \
-F 'provider="geai"'
(1) - Available since 2026-01 release.