Merran documentation API & integrations
Make AI photos for the library
POST
/api/recipes/photos
const url = 'http://localhost:3000/api/recipes/photos';const options = { method: 'POST', headers: {cookie: 'merran.session_token=<merran.session_token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:3000/api/recipes/photos \ --cookie merran.session_token=<merran.session_token>A photo for every recipe without one, in the household’s style, in the background, on its OpenAI or Google key. One at a time: starting another gives back the one going. With an API key, it needs the recipes: write permission.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Started.
Media typeapplication/json
object
id
required
string
status
required
string
total
required
integer
done
required
integer
made
required
integer
failed
required
integer
stopped
required
Why it stopped before the end, when it did.
string | null
startedAt
required
string | null format: date-time
finishedAt
required
string | null format: date-time
Example
{ "id": "0199e8b0-5a10-7a01-8b00-000000000033", "status": "running", "total": 30, "done": 8, "made": 8, "failed": 0, "stopped": null, "startedAt": "2026-10-15T18:30:00.000Z", "finishedAt": null}Every recipe has a photo.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string
Example
{ "error": { "code": "not_found", "message": "There's nothing here.", "fields": { "name": "Give it a name." } }}Not signed in.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string
Example
{ "error": { "code": "not_found", "message": "There's nothing here.", "fields": { "name": "Give it a name." } }}Not allowed.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string
Example
{ "error": { "code": "not_found", "message": "There's nothing here.", "fields": { "name": "Give it a name." } }}AI photos are off on the server, or the household has no key for them.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string
Example
{ "error": { "code": "not_found", "message": "There's nothing here.", "fields": { "name": "Give it a name." } }}© 2026 Kyle Johnson. Documentation: CC BY 4.0. Merran: AGPL-3.0-or-later.