d25d482dc2
Publish CLI Package / publish-npm (push) Waiting to run
Publish Python SDK / publish-pypi (push) Waiting to run
Publish TypeScript SDK / publish-npm (push) Waiting to run
CI / Migrate Dev DB (push) Has been skipped
CI / Detect Version (push) Has been cancelled
CI / Migrate DB (push) Has been cancelled
CI / Build Dev ECR (./docker/app.Dockerfile, ECR_APP) (push) Has been cancelled
CI / Build Dev ECR (./docker/db.Dockerfile, ECR_MIGRATIONS) (push) Has been cancelled
CI / Build Dev ECR (./docker/pii.Dockerfile, ECR_PII) (push) Has been cancelled
CI / Build Dev ECR (./docker/realtime.Dockerfile, ECR_REALTIME) (push) Has been cancelled
CI / Deploy Trigger.dev (Dev) (push) Has been cancelled
CI / Build AMD64 (./docker/app.Dockerfile, ECR_APP, ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Build AMD64 (./docker/db.Dockerfile, ECR_MIGRATIONS, ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Build AMD64 (./docker/pii.Dockerfile, ECR_PII, ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Build AMD64 (./docker/realtime.Dockerfile, ECR_REALTIME, ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/app.Dockerfile, ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/db.Dockerfile, ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/pii.Dockerfile, ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/realtime.Dockerfile, ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Check Docs Changes (push) Has been cancelled
CI / Process Docs (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
CI / Test and Build (push) Has been cancelled
56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
"""
|
|
Example: Upload files with workflow execution
|
|
|
|
This example demonstrates how to upload files when executing a workflow.
|
|
Files are automatically detected and converted to base64 format.
|
|
"""
|
|
|
|
from simstudio import SimStudioClient
|
|
import os
|
|
|
|
|
|
def main():
|
|
# Initialize the client
|
|
api_key = os.getenv('SIM_API_KEY')
|
|
if not api_key:
|
|
raise ValueError('SIM_API_KEY environment variable is required')
|
|
|
|
client = SimStudioClient(api_key=api_key)
|
|
|
|
# Example 1: Upload a single file
|
|
# Include file under the field name from your workflow's API trigger input format
|
|
print("Example 1: Upload a single file")
|
|
with open('document.pdf', 'rb') as f:
|
|
result = client.execute_workflow(
|
|
workflow_id='your-workflow-id',
|
|
input_data={
|
|
'documents': [f], # Field name must match your API trigger's file input field
|
|
'instructions': 'Analyze this document'
|
|
}
|
|
)
|
|
|
|
if result.success:
|
|
print(f"Success! Output: {result.output}")
|
|
else:
|
|
print(f"Failed: {result.error}")
|
|
|
|
# Example 2: Upload multiple files
|
|
print("\nExample 2: Upload multiple files")
|
|
with open('document1.pdf', 'rb') as f1, open('document2.pdf', 'rb') as f2:
|
|
result = client.execute_workflow(
|
|
workflow_id='your-workflow-id',
|
|
input_data={
|
|
'attachments': [f1, f2], # Field name must match your API trigger's file input field
|
|
'query': 'Compare these documents'
|
|
}
|
|
)
|
|
|
|
if result.success:
|
|
print(f"Success! Output: {result.output}")
|
|
else:
|
|
print(f"Failed: {result.error}")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|