Start a technique run
client.Techniques.Runs.New(ctx, techniqueID, body) (*TechniqueRunNewResponse, error)
POST/techniques/{techniqueId}/runs
Starts a run for a specific technique using the backward-compatible nested route. Mutating public API requests support an optional Idempotency-Key header for client retries; duplicate keys within two hours return idempotency_duplicate.
Start a technique 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"),
)
run, err := client.Techniques.Runs.New(
context.TODO(),
"art-directors-critique",
flora.TechniqueRunNewParams{
Inputs: []flora.TechniqueRunNewParamsInput{flora.TechniqueRunNewParamsInput{
ID: "id",
Type: "text",
Value: "value",
}},
Mode: flora.TechniqueRunNewParamsModeAsync,
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", run.RunID)
}
{
"created_at": 0,
"progress": 0,
"run_id": "run_abc123",
"status": "pending",
"charged_cost": 0,
"completed_at": 0,
"error_code": "provider_error",
"error_message": "The provider failed to complete the generation.",
"outputs": [
{
"output_id": "output_1",
"type": "imageUrl",
"url": "https://media.flora.ai/output.png"
}
],
"poll_url": "https://example.com",
"started_at": 0
}{
"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
{
"created_at": 0,
"progress": 0,
"run_id": "run_abc123",
"status": "pending",
"charged_cost": 0,
"completed_at": 0,
"error_code": "provider_error",
"error_message": "The provider failed to complete the generation.",
"outputs": [
{
"output_id": "output_1",
"type": "imageUrl",
"url": "https://media.flora.ai/output.png"
}
],
"poll_url": "https://example.com",
"started_at": 0
}{
"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."
}
}