File routes: edit, generate
The File Verbs edit, generate as api.sb routes, with inputs, result, refusals and an example.
Reference for File, one group of File routes.
File.edit
Edit makes a new File from an existing one by instruction, such as upscaling or animating a still, and leaves the source unchanged. Verb page.
POST /{namespace}/ files/ {file}/ editPath: file. Body, as JSON: the other inputs. Emits File.edited.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
file | File | required | The source File. |
instruction | text | required | What to change. |
references | list of File | Further Files the edit follows. | |
format | json | Aspect ratio, resolution, duration and file type of the result. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
file | File | required | The new File, which records its source. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ files/ file_V1AuhyCTsH/ edit \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"instruction": "Example instruction"}'{
"api": "https: //api.sb/ leaseline.app",
"file": {
"$id": "https: //api.sb/ leaseline.app/ files/ file_V1AuhyCTsH",
"$type": "File",
"contentType": "Example content type",
"size": 1
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "File.edit",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}File.generate
Generate makes an image, video, speech or music File from a prompt and reference Files, and records how it was made. Verb page.
POST /{namespace}/ files/ generateBody, as JSON: the inputs. Emits File.generated.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
kind | string | required | What to make. |
prompt | text | required | What to make, or for speech the text to speak. |
references | list of File | Files the output follows, such as a product photo or a first frame. | |
voice | Voice | The Voice that speaks, for speech. | |
format | json | Aspect ratio, resolution, duration and file type. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
file | File | required | The generated File, its bytes in Storage and its provenance recorded. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ files/ generate \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"kind": "image", "prompt": "Example prompt"}'{
"api": "https: //api.sb/ leaseline.app",
"file": {
"$id": "https: //api.sb/ leaseline.app/ files/ file_V1AuhyCTsH",
"$type": "File",
"contentType": "Example content type",
"size": 1
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "File.generate",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}