Swift Examples - Each AI

Service setup

Create a Each AI service in the AIProxy dashboard

Follow the integration guide, selecting the Each AI icon on the 'Create a New Service' form.

How to kick off an Each AI workflow

Use flows.eachlabs.ai as the proxy domain when creating your AIProxy service in the developer dashboard.

import AIProxy

/* Uncomment for BYOK use cases */
// let eachAIService = AIProxy.eachAIDirectService(
//     unprotectedAPIKey: "your-eachAI-key"
// )

/* Uncomment for all other production use cases */
// let eachAIService = AIProxy.eachAIService(
//     partialKey: "partial-key-from-your-developer-dashboard",
//     serviceURL: "service-url-from-your-developer-dashboard"
// )

// Update the arguments here based on your eachlabs use case:
let workflowID = "your-workflow-id"
let requestBody = EachAITriggerWorkflowRequestBody(
    parameters: [
        "img": "https://storage.googleapis.com/magicpoint/models/women.png"
    ]
)

do {
    let triggerResponse = try await eachAIService.triggerWorkflow(
        workflowID: workflowID,
        body: requestBody
    )
    let executionResponse = try await eachAIService.pollForWorkflowExecutionComplete(
        workflowID: workflowID,
        triggerID: triggerResponse.triggerID
    )
    print("Workflow result is available at \(executionResponse.output ?? "output missing")")
} catch AIProxyError.unsuccessfulRequest(let statusCode, let responseBody) {
    print("Received non-200 status code: \(statusCode) with response body: \(responseBody)")
} catch {
    print("Could not execute EachAI workflow: \(error.localizedDescription)")
}