Start a generation run
client.Runs.StartGeneration(ctx, body) (*RunStartGenerationResponse, error)
POST/runs/generation
Starts a model generation run in a project canvas using a prompt, workspace, project, optional model, and optional model parameters. Mutating public API requests support an optional Idempotency-Key header for client retries; duplicate keys within two hours return idempotency_duplicate.
Start a generation run
package main
import (
"context"
"fmt"
"github.com/florafauna-ai/flora-go"
"github.com/florafauna-ai/flora-go/option"
)
func main() {
client := flora.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.Runs.StartGeneration(context.TODO(), flora.RunStartGenerationParams{
ProjectID: "prj_abc123",
Prompt: "A cinematic product photo of a ceramic mug on a sunlit table",
Type: flora.RunStartGenerationParamsTypeImage,
WorkspaceID: "ws_abc123",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.RunID)
}
{
"charged_cost": 0,
"estimated_seconds": 0,
"run_id": "run_abc123",
"type": "generation",
"action": {
"action_id": "split-text"
},
"model": {
"model_id": "t2i-flux-2-pro"
},
"poll_url": "https://example.com",
"project_id": "prj_abc123",
"technique": {
"name": "name",
"technique_id": "tech_abcd1234"
}
}{
"error": {
"code": "input_validation_error",
"message": "prompt: Required",
"fields": [
{
"field": "prompt",
"message": "Required"
}
]
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid API key."
}
}{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits."
}
}{
"error": {
"code": "forbidden",
"message": "Forbidden."
}
}{
"error": {
"code": "not_found",
"message": "Not found."
}
}{
"error": {
"code": "idempotency_duplicate",
"message": "Duplicate idempotency key."
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
}
}{
"error": {
"code": "unknown_error",
"message": "An unknown error occurred."
}
}Returns Examples
{
"charged_cost": 0,
"estimated_seconds": 0,
"run_id": "run_abc123",
"type": "generation",
"action": {
"action_id": "split-text"
},
"model": {
"model_id": "t2i-flux-2-pro"
},
"poll_url": "https://example.com",
"project_id": "prj_abc123",
"technique": {
"name": "name",
"technique_id": "tech_abcd1234"
}
}{
"error": {
"code": "input_validation_error",
"message": "prompt: Required",
"fields": [
{
"field": "prompt",
"message": "Required"
}
]
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid API key."
}
}{
"error": {
"code": "insufficient_credits",
"message": "Insufficient credits."
}
}{
"error": {
"code": "forbidden",
"message": "Forbidden."
}
}{
"error": {
"code": "not_found",
"message": "Not found."
}
}{
"error": {
"code": "idempotency_duplicate",
"message": "Duplicate idempotency key."
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
}
}{
"error": {
"code": "unknown_error",
"message": "An unknown error occurred."
}
}