Files
bifrost/docs/openapi/paths/integrations/genai/generation.yaml
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

242 lines
7.3 KiB
YAML

# Google GenAI (Gemini) - Generation Endpoints
generate-content:
post:
operationId: geminiGenerateContent
summary: Generate content (Gemini format)
description: |
Generates content using Google Gemini API format.
The model is specified in the URL path.
tags:
- GenAI Integration
parameters:
- name: model
in: path
required: true
schema:
type: string
description: Model name with action (e.g., gemini-pro:generateContent)
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiGenerationRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiGenerationResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
stream-generate-content:
post:
operationId: geminiStreamGenerateContent
summary: Stream generate content (Gemini format)
description: |
Streams content generation using Google Gemini API format.
The model is specified in the URL path.
tags:
- GenAI Integration
parameters:
- name: model
in: path
required: true
schema:
type: string
description: Model name with action (e.g., gemini-pro:streamGenerateContent)
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiGenerationRequest'
responses:
'200':
description: Successful streaming response
content:
text/event-stream:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiGenerationResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
embed-content:
post:
operationId: geminiEmbedContent
summary: Embed content (Gemini format)
description: |
Creates embeddings using Google Gemini API format.
tags:
- GenAI Integration
parameters:
- name: model
in: path
required: true
schema:
type: string
description: Model name with action (e.g., embedding-001:embedContent)
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiEmbeddingRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiEmbeddingResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
count-tokens:
post:
operationId: geminiCountTokens
summary: Count tokens (Gemini format)
description: |
Counts tokens using Google Gemini API format.
tags:
- GenAI Integration
parameters:
- name: model
in: path
required: true
schema:
type: string
description: Model name with action (e.g., gemini-pro:countTokens)
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiCountTokensRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiCountTokensResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
image-generation:
post:
operationId: geminiGenerateImage
summary: Generate image (Gemini format)
description: |
For Imagen models, use the `:predict` suffix (e.g., `imagen-3.0-generate-001:predict`).
For Gemini models, use `:generateContent` with `generationConfig.responseModalities: ["IMAGE"]` in the request body.
tags:
- GenAI Integration
parameters:
- name: model
in: path
required: true
schema:
type: string
description: |
Model name with action suffix. For Imagen models, use `:predict` (e.g., `imagen-3.0-generate-001:predict`).
For Gemini models with image generation, use `:generateContent` (e.g., `gemini-1.5-pro:generateContent`).
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiGenerationRequest'
responses:
'200':
description: |
Successful response. Returns JSON with generated image data in `candidates[0].content.parts[0].inlineData`.
When streaming, events are sent via Server-Sent Events (SSE).
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiGenerationResponse'
text/event-stream:
schema:
$ref: '../../../schemas/integrations/genai/generation.yaml#/GeminiGenerationResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '../../../schemas/integrations/genai/common.yaml#/GeminiError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []