curl https://api.xinyun.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer KEY" \
-d '{
"model": "gemini-2.5-pro",
"messages": [
{
"role": "system",
"content": "这张图片里有什么?"
},
{
"role": "user",
"content": [
{
"type": "text",
"text": " "
},
{
"type": "image_url",
"image_url": {
"url": "https://aaa.com/1.jpg"
}
}
]
}
],
"max_tokens": 65536
}'
#!/bin/bash
# --- 请在这里配置你的参数 ---
# 图片路径
IMG_PATH="./your_image.jpg"
# 系统指令 (System Instruction)
SYSTEM_INSTRUCTION="固定指令"
# 用户提问 (User Prompt)
USER_PROMPT="有就填,没有就放个空格"
# --------------------------
# 检查图片文件是否存在
if [ ! -f "$IMG_PATH" ]; then
echo "错误: 图片文件 '$IMG_PATH' 不存在。"
exit 1
fi
# 根据操作系统确定base64命令的参数
B64FLAGS=""
if [[ "$(uname)" == "Linux" ]]; then
B64FLAGS="-w0"
elif [[ "$(uname)" == "Darwin" ]]; then # macOS
B64FLAGS="-b0"
fi
# 创建临时文件来存放Base64编码的图片数据
TEMP_B64=$(mktemp)
trap 'rm -f "$TEMP_B64"' EXIT
base64 $B64FLAGS "$IMG_PATH" > "$TEMP_B64"
# 创建临时文件来存放JSON载荷
TEMP_JSON=$(mktemp)
trap 'rm -f "$TEMP_JSON"' EXIT
# 将新的JSON结构写入临时文件
cat > "$TEMP_JSON" << EOF
{
"system_instruction": {
"parts": [
{ "text": "${SYSTEM_INSTRUCTION}" }
]
},
"contents": [{
"parts":[
{"text": "${USER_PROMPT}"},
{
"inline_data": {
"mime_type":"image/jpeg",
"data": "$(cat "$TEMP_B64")"
}
}
]
}]
}
EOF
# 发送curl请求
curl "https://api.xinyun.ai/v1beta/models/gemini-2.5-pro:generateContent?key=$NEWAPI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d "@$TEMP_JSON"