curl --request POST \
--url https://api.aihubmax.com/v1beta/models/{model}:generateContent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "Generate a watercolor painting of a lighthouse by the sea at sunset"
}
]
}
],
"generationConfig": {
"responseModalities": [
"TEXT",
"IMAGE"
]
}
}
'
{
"candidates": [
{
"content": {
"parts": [
{
"text": "Here is a watercolor painting of a lighthouse by the sea at sunset.",
"inlineData": {
"mimeType": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAA..."
}
}
],
"role": "model"
},
"finishReason": "STOP",
"safetyRatings": [
{
"category": "<string>",
"probability": "<string>"
}
]
}
],
"usageMetadata": {
"promptTokenCount": 15,
"candidatesTokenCount": 1120,
"totalTokenCount": 1135
}
}{
"error": {
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"message": "Invalid API Key",
"type": "authentication_error"
}
}{
"error": {
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"message": "Access denied",
"type": "permission_error"
}
}{
"error": {
"message": "Rate limit exceeded",
"type": "rate_limit_error"
}
}{
"error": {
"message": "Internal server error",
"type": "server_error"
}
}Gemini Format
Gemini Format - Image Generation
- Uses the Gemini native format generateContent endpoint to generate images
- Enable image output by setting
generationConfig.responseModalitiesto["TEXT", "IMAGE"]or["IMAGE"] - Supports text-to-image: generate images from text prompts
- Supports image-to-image: upload an image + text prompt for image editing
- Supports multi-turn conversation for iterative image modifications
- Control aspect ratio and image resolution via
generationConfig.imageConfig - For streaming, use
/v1beta/models/{model}:streamGenerateContent?alt=sse
POST
/
v1beta
/
models
/
{model}
:generateContent
curl --request POST \
--url https://api.aihubmax.com/v1beta/models/{model}:generateContent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "Generate a watercolor painting of a lighthouse by the sea at sunset"
}
]
}
],
"generationConfig": {
"responseModalities": [
"TEXT",
"IMAGE"
]
}
}
'
{
"candidates": [
{
"content": {
"parts": [
{
"text": "Here is a watercolor painting of a lighthouse by the sea at sunset.",
"inlineData": {
"mimeType": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAA..."
}
}
],
"role": "model"
},
"finishReason": "STOP",
"safetyRatings": [
{
"category": "<string>",
"probability": "<string>"
}
]
}
],
"usageMetadata": {
"promptTokenCount": 15,
"candidatesTokenCount": 1120,
"totalTokenCount": 1135
}
}{
"error": {
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"message": "Invalid API Key",
"type": "authentication_error"
}
}{
"error": {
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"message": "Access denied",
"type": "permission_error"
}
}{
"error": {
"message": "Rate limit exceeded",
"type": "rate_limit_error"
}
}{
"error": {
"message": "Internal server error",
"type": "server_error"
}
}Authorizations
All endpoints require Bearer Token authentication
Add the following to your request headers:
Authorization: Bearer YOUR_API_KEY
Path Parameters
Model name. Supports gemini-3-pro-image-preview (professional asset creation, advanced reasoning) and gemini-3.1-flash-image-preview (high efficiency, optimized for speed)
Available options:
gemini-3-pro-image-preview, gemini-3.1-flash-image-preview Example:
"gemini-3.1-flash-image-preview"
Body
application/json
List of conversation contents
Show child attributes
Show child attributes
Generation config (responseModalities must be set for image generation)
Show child attributes
Show child attributes
System instruction
Show child attributes
Show child attributes
Safety settings
Show child attributes
Show child attributes