Dreambooth Studio
Ce que fait ce MCP
Provides photobooth operators with session, revenue, wallet, credit, gallery, project, device-status, and product-documentation information.
Outils
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'jobId': {'type': 'string', 'description': 'The id a start/refine/create tool returned. Pass it whenever you have it. Omit only if it was lost, which falls back to the most recent job listed for this connection.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'state', 'what'], 'properties': {'kind': {'enum': ['generation', 'booth-draft', 'booth', 'job'], 'type': 'string'}, 'note': {'type': 'string'}, 'what': {'type': 'string'}, 'booth': {'type': 'object', 'required': ['slug', 'title', 'boothUrl', 'dashboardUrl', 'ownFrameCount', 'catalogFrameCount', 'filterCount'], 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'aiEffect': {'type': 'string'}, 'boothUrl': {'type': 'string'}, 'imageUrl': {'type': 'string'}, 'projectId': {'type': 'string'}, 'filterCount': {'type': 'number'}, 'dashboardUrl': {'type': 'string'}, 'ownFrameCount': {'type': 'number'}, 'catalogFrameCount': {'type': 'number'}}, 'additionalProperties': False}, 'draft': {'type': 'object', 'required': ['draftId', 'slug', 'title', 'headline', 'subtext', 'cta', 'captureMode', 'language', 'palette', 'welcomePortraitUrl', 'welcomeLandscapeUrl', 'appBackgroundUrl', 'frameTags', 'filterMood', 'remainingFullGenerations', 'remainingRegens'], 'properties': {'cta': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'edited': {'type': 'array', 'items': {'type': 'string'}}, 'draftId': {'type': 'string'}, 'logoUrl': {'type': 'string'}, 'palette': {'type': 'object', 'required': ['backgroundColor', 'primaryColor', 'secondaryColor', 'dark'], 'properties': {'dark': {'type': 'boolean'}, 'primaryColor': {'type': 'string'}, 'secondaryColor': {'type': 'string'}, 'backgroundColor': {'type': 'string'}}, 'additionalProperties': False}, 'subtext': {'type': 'string'}, 'frameIds': {'type': 'array', 'items': {'type': 'string'}}, 'headline': {'type': 'string'}, 'language': {'type': 'string'}, 'settings': {'type': 'object', 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': ['boolean', 'number', 'null']}}}, 'filterIds': {'type': 'array', 'items': {'type': 'string'}}, 'frameTags': {'type': 'array', 'items': {'type': 'string'}}, 'aiEffectId': {'type': 'string'}, 'filterMood': {'type': 'string'}, 'captureMode': {'type': 'string'}, 'regenerated': {'type': 'array', 'items': {'type': 'string'}}, 'remainingRegens': {'type': 'number'}, 'appBackgroundUrl': {'type': 'string'}, 'welcomePortraitUrl': {'type': 'string'}, 'welcomeLandscapeUrl': {'type': 'string'}, 'remainingFullGenerations': {'type': 'number'}}, 'additionalProperties': False}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'state': {'type': 'string'}, 'layout': {'type': 'string'}, 'imageUrl': {'type': 'string'}, 'progress': {'type': 'string'}, 'threadId': {'type': 'string'}, 'canvasWidth': {'type': 'number'}, 'canvasHeight': {'type': 'number'}, 'dashboardUrl': {'type': 'string'}, 'generationId': {'type': 'string'}, 'placeholderCount': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'message'], 'properties': {'email': {'type': ['string', 'null']}, 'status': {'type': 'string', 'description': 'already_connected | awaiting_approval'}, 'authUrl': {'type': 'string', 'description': 'Open in a browser to approve. Absent when already connected.'}, 'message': {'type': 'string'}, 'expiresInMinutes': {'type': 'number'}, 'createsAccountIfNeeded': {'type': 'boolean'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['connected', 'phase', 'email', 'waitingSeconds', 'message'], 'properties': {'email': {'type': ['string', 'null']}, 'phase': {'enum': ['connected', 'waiting', 'expired', 'idle'], 'type': 'string'}, 'message': {'type': 'string'}, 'connected': {'type': 'boolean'}, 'waitingSeconds': {'type': ['number', 'null'], 'description': 'How long the current device flow has been pending'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draftId'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 44, 'minLength': 3, 'description': "The link name: lowercase letters, digits and single hyphens (dreambooth.app/<slug>). Leave unset to use the draft's proposed slug."}, 'title': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': "The booth's name. Leave unset to use the draft's title (as shown by check_generation / set with update_booth_draft)."}, 'draftId': {'type': 'string', 'pattern': '^dft_[a-f0-9]{24}$', 'description': 'The draft to create, from check_generation.'}, 'frameIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}, 'maxItems': 20, 'description': 'Ids of frames to include â\x80\x94 e.g. a frame the operator just saved with save_frame. Starter frames are added anyway.'}, 'filterIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}, 'maxItems': 20, 'description': "Ids of filters to include â\x80\x94 e.g. one the operator just made with create_filter. The default 'Normal' filter is added anyway."}, 'captureMode': {'enum': ['standard', 'frame-based'], 'type': 'string', 'description': "Leave unset to keep what the draft proposed ('standard' = classic strip, 'frame-based' = frame mode)."}, 'aiEffectTitle': {'type': 'string', 'maxLength': 80, 'description': 'The title of a public AI effect to add, exactly as the operator named it. Leave unset for none.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'jobId', 'state', 'what'], 'properties': {'kind': {'type': 'string', 'const': 'booth'}, 'note': {'type': 'string'}, 'slug': {'type': 'string'}, 'what': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'state': {'type': 'string'}, 'draftId': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'adjustments'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': "What the operator will see in their filter list. Use their words if they named it; otherwise a short descriptive name, not 'Untitled'."}, 'isPublic': {'type': 'boolean', 'description': 'Leave unset unless the operator explicitly asks for the filter to be shared. Default is private to their account.'}, 'adjustments': {'type': 'object', 'properties': {'blur': {'type': 'number', 'maximum': 10, 'minimum': 0, 'description': '0 = off, in pixels'}, 'tint': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged, positive = magenta'}, 'grain': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': '0 = off'}, 'sepia': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': '0 = off'}, 'blacks': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'dehaze': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'whites': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'clarity': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'shadows': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged, positive = lifted'}, 'contrast': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': '100 = unchanged'}, 'exposure': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'vibrance': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'vignette': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': '0 = off'}, 'grayscale': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': '0 = off, 100 = black and white'}, 'hueRotate': {'type': 'number', 'maximum': 360, 'minimum': 0, 'description': '0 = unchanged, in degrees'}, 'brightness': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': '100 = unchanged'}, 'highlights': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'saturation': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': '100 = unchanged, 0 = grey'}, 'temperature': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged, positive = warmer'}}, 'description': 'Only include what the operator asked to change. An omitted adjustment keeps its neutral value; sending every field at its neutral value creates a filter that does nothing.', 'additionalProperties': False}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind'], 'properties': {'id': {'type': 'string'}, 'kind': {'type': 'string', 'const': 'filter'}, 'name': {'type': 'string'}, 'isPublic': {'type': 'boolean'}, 'previewUrl': {'type': 'string'}, 'adjustments': {'type': 'object', 'additionalProperties': {'type': 'number'}}, 'dashboardUrl': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'minLength': 1, 'description': 'The id of the booth to copy, from list_projects. Not its name or slug.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind'], 'properties': {'id': {'type': 'string'}, 'kind': {'type': 'string', 'const': 'booth'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'isActive': {'type': 'boolean'}, 'copiedFrom': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}, 'dashboardUrl': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draftId'], 'properties': {'draftId': {'type': 'string', 'pattern': '^dft_[a-f0-9]{24}$', 'description': 'The draft, from check_generation or a previous tool result.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'jobId', 'state', 'what', 'draftId'], 'properties': {'kind': {'type': 'string', 'const': 'booth-draft'}, 'note': {'type': 'string'}, 'what': {'type': 'string'}, 'draft': {'type': 'object', 'required': ['draftId', 'slug', 'title', 'headline', 'subtext', 'cta', 'captureMode', 'language', 'palette', 'welcomePortraitUrl', 'welcomeLandscapeUrl', 'appBackgroundUrl', 'frameTags', 'filterMood', 'remainingFullGenerations', 'remainingRegens'], 'properties': {'cta': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'edited': {'type': 'array', 'items': {'type': 'string'}}, 'draftId': {'type': 'string'}, 'logoUrl': {'type': 'string'}, 'palette': {'type': 'object', 'required': ['backgroundColor', 'primaryColor', 'secondaryColor', 'dark'], 'properties': {'dark': {'type': 'boolean'}, 'primaryColor': {'type': 'string'}, 'secondaryColor': {'type': 'string'}, 'backgroundColor': {'type': 'string'}}, 'additionalProperties': False}, 'subtext': {'type': 'string'}, 'frameIds': {'type': 'array', 'items': {'type': 'string'}}, 'headline': {'type': 'string'}, 'language': {'type': 'string'}, 'settings': {'type': 'object', 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': ['boolean', 'number', 'null']}}}, 'filterIds': {'type': 'array', 'items': {'type': 'string'}}, 'frameTags': {'type': 'array', 'items': {'type': 'string'}}, 'aiEffectId': {'type': 'string'}, 'filterMood': {'type': 'string'}, 'captureMode': {'type': 'string'}, 'regenerated': {'type': 'array', 'items': {'type': 'string'}}, 'remainingRegens': {'type': 'number'}, 'appBackgroundUrl': {'type': 'string'}, 'welcomePortraitUrl': {'type': 'string'}, 'welcomeLandscapeUrl': {'type': 'string'}, 'remainingFullGenerations': {'type': 'number'}}, 'additionalProperties': False}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'state': {'type': 'string'}, 'draftId': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['credits'], 'properties': {'plan': {'type': 'string', 'description': 'Subscription package name'}, 'credits': {'type': 'number', 'description': 'AI credits remaining. NOT money â\x80\x94 see get_wallet_transactions for that.'}, 'videoCredits': {'type': 'number'}, 'sessionCredits': {'type': 'number'}, 'subscriptionEndDate': {'type': ['string', 'null']}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'projectId': {'type': 'string', 'description': 'Limit to one booth. Omit for every booth this operator owns.'}, 'includeExpired': {'type': 'boolean', 'description': 'Count media past its retention window too (default false)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['totalCount'], 'properties': {'totalCount': {'type': 'number'}, 'activeCount': {'type': 'number', 'description': 'Still inside the retention window'}, 'expiredCount': {'type': 'number', 'description': 'Past retention and no longer downloadable'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'description': 'Project id from list_projects'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project', 'deviceCount', 'devices'], 'properties': {'devices': {'type': 'array', 'items': {'type': 'object', 'properties': {'camera': {'type': 'string'}, 'printer': {'type': 'string'}, 'closedAt': {'type': ['string', 'null']}, 'deviceId': {'type': 'string'}, 'internet': {'type': 'string'}, 'liveness': {'type': 'string'}, 'appVersion': {'type': 'string'}, 'diskFreeGB': {'type': 'number'}, 'lastSeenAt': {'type': 'string'}, 'closedReason': {'type': ['string', 'null']}, 'lastActivityAt': {'type': 'string'}, 'cpuUsagePercent': {'type': 'number'}, 'ramUsagePercent': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Empty when device monitoring is unavailable â\x80\x94 not an error'}, 'project': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'country': {'type': 'string'}, 'currency': {'type': 'string'}, 'isActive': {'type': 'boolean'}, 'isPublic': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'screenSize': {'type': 'object', 'properties': {'width': {'type': 'number'}, 'height': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'deviceCount': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'to': {'type': 'string', 'description': 'End date, ISO YYYY-MM-DD. Omit for all time.'}, 'from': {'type': 'string', 'description': 'Start date, ISO YYYY-MM-DD. Omit for all time.'}, 'groupBy': {'enum': ['month', 'day'], 'type': 'string', 'description': 'Bucket size (default month)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'to': {'type': ['string', 'null']}, 'from': {'type': ['string', 'null']}, 'found': {'type': 'boolean'}, 'source': {'type': 'string', 'description': 'Which ledger the figures came from'}, 'totals': {'type': 'array', 'items': {'type': 'object', 'properties': {'revenue': {'$ref': '#/properties/buckets/items/properties/revenue'}, 'currency': {'$ref': '#/properties/buckets/items/properties/currency'}, 'mainRevenue': {'$ref': '#/properties/buckets/items/properties/mainRevenue'}, 'paidSessions': {'$ref': '#/properties/buckets/items/properties/paidSessions'}, 'gatewayRevenue': {'$ref': '#/properties/buckets/items/properties/gatewayRevenue'}, 'reprintRevenue': {'$ref': '#/properties/buckets/items/properties/reprintRevenue'}, 'aiEffectRevenue': {'$ref': '#/properties/buckets/items/properties/aiEffectRevenue'}, 'cashVoucherRevenue': {'$ref': '#/properties/buckets/items/properties/cashVoucherRevenue'}, 'completedPaidSessions': {'$ref': '#/properties/buckets/items/properties/completedPaidSessions'}, 'discountVoucherRevenue': {'$ref': '#/properties/buckets/items/properties/discountVoucherRevenue'}}, 'additionalProperties': False}}, 'buckets': {'type': 'array', 'items': {'type': 'object', 'properties': {'period': {'type': 'string'}, 'revenue': {'type': 'number', 'description': 'main + reprint; the headline figure'}, 'currency': {'type': 'string'}, 'mainRevenue': {'type': 'number'}, 'paidSessions': {'type': 'number'}, 'gatewayRevenue': {'type': 'number'}, 'reprintRevenue': {'type': 'number'}, 'aiEffectRevenue': {'type': 'number', 'description': 'Counted separately, NOT inside revenue'}, 'cashVoucherRevenue': {'type': 'number'}, 'completedPaidSessions': {'type': 'number', 'description': 'Paid AND finished; the gap is money taken for sessions that never completed'}, 'discountVoucherRevenue': {'type': 'number'}}, 'additionalProperties': False}}, 'groupBy': {'type': 'string'}, 'mixedCurrency': {'type': 'boolean'}, 'reconciliation': {'type': 'object', 'properties': {'unaccounted': {'type': ['number', 'null']}, 'bucketedRevenue': {'type': 'number'}, 'lifetimeRevenue': {'type': ['number', 'null']}, 'coversLifetimeTotal': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'How many sessions to return (default 20, max 100)'}, 'endDate': {'type': 'string', 'description': 'ISO date (YYYY-MM-DD) for the end of the range, inclusive'}, 'startDate': {'type': 'string', 'description': 'ISO date (YYYY-MM-DD) for the start of the range, inclusive'}, 'projectIds': {'type': 'string', 'description': 'Comma-separated project ids to limit the range to specific booths'}, 'paymentSource': {'type': 'string', 'description': 'Payment channel, e.g. gateway, cash-voucher, discount-voucher'}, 'sessionStatus': {'type': 'string', 'description': 'Session status filter'}, 'transactionStatus': {'type': 'string', 'description': 'Payment status filter, e.g. settlement, pending'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['returned', 'sessions'], 'properties': {'total': {'type': 'number', 'description': 'Sessions matching the filter, across all pages'}, 'returned': {'type': 'number', 'description': 'How many are in this response'}, 'sessions': {'type': 'array', 'items': {}}, 'totalPages': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'to': {'type': 'string', 'description': 'End date, ISO YYYY-MM-DD'}, 'from': {'type': 'string', 'description': 'Start date, ISO YYYY-MM-DD'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max rows (default 10)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['returned', 'truncated', 'transactions'], 'properties': {'total': {'type': 'number', 'description': 'Rows matching the filter, across all pages'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}, 'transactions': {'type': 'array', 'items': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'projects'], 'properties': {'count': {'type': 'number'}, 'projects': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Pass this as projectId to other tools'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'country': {'type': 'string'}, 'currency': {'type': 'string'}, 'isActive': {'type': 'boolean'}, 'isPublic': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['adjustments'], 'properties': {'adjustments': {'type': 'object', 'properties': {'blur': {'type': 'number', 'maximum': 10, 'minimum': 0, 'description': '0 = off, in pixels'}, 'tint': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged, positive = magenta'}, 'grain': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': '0 = off'}, 'sepia': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': '0 = off'}, 'blacks': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'dehaze': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'whites': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'clarity': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'shadows': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged, positive = lifted'}, 'contrast': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': '100 = unchanged'}, 'exposure': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'vibrance': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'vignette': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': '0 = off'}, 'grayscale': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': '0 = off, 100 = black and white'}, 'hueRotate': {'type': 'number', 'maximum': 360, 'minimum': 0, 'description': '0 = unchanged, in degrees'}, 'brightness': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': '100 = unchanged'}, 'highlights': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged'}, 'saturation': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': '100 = unchanged, 0 = grey'}, 'temperature': {'type': 'number', 'maximum': 100, 'minimum': -100, 'description': '0 = unchanged, positive = warmer'}}, 'description': 'Only include what the operator asked to change. An omitted adjustment keeps its neutral value; sending every field at its neutral value creates a filter that does nothing.', 'additionalProperties': False}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'previewUrl', 'previewed', 'notPreviewed', 'sample', 'adjustments', 'note'], 'properties': {'kind': {'type': 'string', 'const': 'filter-preview'}, 'note': {'type': 'string'}, 'sample': {'type': 'string'}, 'previewed': {'type': 'array', 'items': {'type': 'string'}}, 'previewUrl': {'type': 'string'}, 'adjustments': {'type': 'object', 'additionalProperties': {'type': 'number'}}, 'notPreviewed': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draftId', 'what', 'instruction'], 'properties': {'what': {'enum': ['welcome', 'app-background', 'everything'], 'type': 'string', 'description': "Which part to change. 'everything' is a full rebuild from a new description."}, 'draftId': {'type': 'string', 'pattern': '^dft_[a-f0-9]{24}$', 'description': "The draft to change, from check_generation's result for start_booth."}, 'instruction': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': "For 'welcome' / 'app-background': what to change, in the operator's words, up to 300 characters â\x80\x94 the current design is kept and only this is applied. For 'everything': the new full description of the booth, up to 1000 characters."}, 'orientation': {'enum': ['phone', 'laptop'], 'type': 'string', 'description': "Only with what='welcome': redraw just the phone (portrait) or laptop (landscape) screen. Omit to redraw both."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'jobId', 'state', 'what'], 'properties': {'kind': {'type': 'string', 'const': 'booth-draft'}, 'note': {'type': 'string'}, 'what': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'state': {'type': 'string'}, 'draftId': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['threadId', 'prompt'], 'properties': {'prompt': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': "What to change, in the operator's words. It is read with the whole thread as context, so 'the same but darker' works; there is no need to repeat the original description."}, 'threadId': {'type': 'string', 'minLength': 1, 'description': "The design thread, from check_generation's result for start_frame."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'jobId', 'state', 'what'], 'properties': {'kind': {'type': 'string', 'const': 'generation'}, 'note': {'type': 'string'}, 'what': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'state': {'type': 'string'}, 'threadId': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['threadId', 'generationId'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'What the operator will see in their frame list. Use their words if they named it; otherwise derived from the description.'}, 'isPublic': {'type': 'boolean', 'description': 'Leave unset unless they explicitly ask to share it. Default is private to their account.'}, 'threadId': {'type': 'string', 'minLength': 1, 'description': 'The design thread the generation belongs to.'}, 'generationId': {'type': 'string', 'minLength': 1, 'description': 'The generation to save, from check_generation. Each version in a thread has its own id.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'state'], 'properties': {'kind': {'type': 'string', 'const': 'frame'}, 'name': {'type': 'string'}, 'state': {'type': 'string'}, 'frameId': {'type': 'string'}, 'isPublic': {'type': 'boolean'}, 'threadId': {'type': 'string'}, 'canvasWidth': {'type': 'number'}, 'canvasHeight': {'type': 'number'}, 'dashboardUrl': {'type': 'string'}, 'generationId': {'type': 'string'}, 'thumbnailUrl': {'type': 'string'}, 'placeholderCount': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Max results (default 5)'}, 'query': {'type': 'string', 'minLength': 2, 'description': 'Search terms, in English or Indonesian'}, 'locale': {'enum': ['en', 'id'], 'type': 'string', 'description': 'Docs language (default en)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['locale', 'query', 'resultCount', 'results'], 'properties': {'query': {'type': 'string'}, 'locale': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['excerpt'], 'properties': {'href': {'type': 'string'}, 'title': {'type': 'string'}, 'excerpt': {'type': 'string'}}, 'additionalProperties': False}}, 'resultCount': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3, 'description': "The booth, in the operator's words plus what you gathered: occasion or business, vibe and style, colours, mood, anything that must appear. Up to 1000 characters. Do not name brands, characters or franchises; the image model refuses them."}, 'language': {'type': 'string', 'maxLength': 10, 'minLength': 2, 'description': "The language the booth's own text should be in, as a code: 'id', 'en', 'es'. Defaults to English â\x80\x94 ask if the operator's booth is not in English."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'jobId', 'state', 'what'], 'properties': {'kind': {'type': 'string', 'const': 'booth-draft'}, 'note': {'type': 'string'}, 'what': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'state': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt', 'layout'], 'properties': {'shape': {'enum': ['rect', 'rounded', 'circle', 'oval', 'square'], 'type': 'string', 'description': 'The shape the photos are cut to. Defaults to rectangular. Not every layout comes in every shape; the Studio picks the closest available.'}, 'layout': {'enum': ['strip-3', 'strip-4', 'grid-4', 'hero-3', 'pair-2'], 'type': 'string', 'description': "How many photos and how they sit. 'strip-3': the classic photo strip â\x80\x94 3 photos stacked, printed as a pair on a 4x6; 'strip-4': a taller strip â\x80\x94 4 photos stacked, printed as a pair on a 4x6; 'grid-4': 4 photos in a 2x2 grid on one 4x6; 'hero-3': one large photo with two smaller ones beneath it; 'pair-2': two landscape photos, one above the other. Ask if it is not obvious from what the operator said; 'strip-3' is what most people mean by a photobooth strip."}, 'prompt': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': "What the frame should look like, in the operator's own words where possible: decoration, colour, mood, occasion. Not the photo slots â\x80\x94 those come from the layout. Do not name brands, characters or franchises; the image model refuses them."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'jobId', 'state', 'what'], 'properties': {'kind': {'type': 'string', 'const': 'generation'}, 'note': {'type': 'string'}, 'what': {'type': 'string'}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'state': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draftId'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 44, 'minLength': 3, 'description': 'The proposed link name (dreambooth.app/<slug>): lowercase letters, digits, single hyphens. Checked for availability; a taken one is reported, not stored.'}, 'title': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': "The booth's name (used as the title at create time)."}, 'draftId': {'type': 'string', 'pattern': '^dft_[a-f0-9]{24}$', 'description': 'The draft to change, from check_generation or get_booth_draft.'}, 'palette': {'type': 'object', 'properties': {'primaryColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'secondaryColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'backgroundColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}}, 'description': 'Theme colours as #RRGGBB: primaryColor, secondaryColor, backgroundColor. Only the ones given change.', 'additionalProperties': False}, 'subtext': {'type': 'string', 'maxLength': 140, 'minLength': 1, 'description': 'Welcome subtext; same rule as headline.'}, 'frameIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}, 'maxItems': 20, 'description': "Frames the booth should carry (replaces the draft's list): e.g. one saved with save_frame, or catalogue ids. create_booth adds starter frames anyway."}, 'headline': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Welcome headline. Only drafts whose welcome is laid out as text accept it; on an AI-designed welcome it is painted into the image and the reply says to use refine_booth.'}, 'language': {'type': 'string', 'maxLength': 10, 'minLength': 2, 'description': "Language code of the booth's own text: 'id', 'en', 'es'."}, 'settings': {'type': 'object', 'properties': {'frame': {'type': 'object', 'properties': {'displayFrameTitle': {'type': 'boolean'}}, 'additionalProperties': False}, 'filter': {'type': 'object', 'properties': {'enabled': {'type': 'boolean'}, 'useLivePreview': {'type': 'boolean'}, 'applyAfterCapture': {'type': 'boolean'}}, 'additionalProperties': False}, 'result': {'type': 'object', 'properties': {'emailEnabled': {'type': 'boolean'}, 'resultTimeout': {'type': 'integer', 'maximum': 600, 'minimum': 10}, 'askUserConsent': {'type': 'boolean'}, 'reprintEnabled': {'type': 'boolean'}, 'reprintTimeout': {'type': 'integer', 'maximum': 600, 'minimum': 10}}, 'additionalProperties': False}, 'retake': {'type': 'object', 'properties': {'enabled': {'type': 'boolean'}, 'retakeTimeout': {'type': 'integer', 'maximum': 600, 'minimum': 5}, 'maxRetakeCount': {'anyOf': [{'type': 'integer', 'maximum': 20, 'minimum': -1}, {'type': 'null'}]}, 'maxRetakeSession': {'anyOf': [{'type': 'integer', 'maximum': 20, 'minimum': -1}, {'type': 'null'}]}}, 'additionalProperties': False}, 'select': {'type': 'object', 'properties': {'enabled': {'type': 'boolean'}, 'selectionTimeout': {'type': 'integer', 'maximum': 600, 'minimum': 10}}, 'additionalProperties': False}, 'capture': {'type': 'object', 'properties': {'gifSpeed': {'type': 'integer', 'maximum': 5000, 'minimum': 200}, 'gifEnabled': {'type': 'boolean'}, 'prepTimeout': {'type': 'integer', 'maximum': 300, 'minimum': 5}, 'captureCount': {'type': 'integer', 'maximum': 10, 'minimum': 1}, 'captureTimeout': {'type': 'integer', 'maximum': 1800, 'minimum': 30}, 'recordingSpeed': {'type': 'integer', 'maximum': 4, 'minimum': 1}, 'captureCountdown': {'type': 'integer', 'maximum': 15, 'minimum': 1}, 'recordingEnabled': {'type': 'boolean'}, 'selfPhotoDuration': {'type': 'integer', 'maximum': 1800, 'minimum': 30}}, 'additionalProperties': False}, 'payment': {'type': 'object', 'properties': {'enabled': {'type': 'boolean'}, 'paymentTimeout': {'type': 'integer', 'maximum': 900, 'minimum': 30}}, 'additionalProperties': False}, 'welcome': {'type': 'object', 'properties': {'startWithPayment': {'type': 'boolean'}}, 'additionalProperties': False}, 'checkout': {'type': 'object', 'properties': {'enabled': {'type': 'boolean'}, 'promoEnabled': {'type': 'boolean'}, 'checkoutTimeout': {'type': 'integer', 'maximum': 600, 'minimum': 10}}, 'additionalProperties': False}}, 'description': 'Page settings, as the dashboard editor has them, keyed by page: welcome{startWithPayment}, capture{captureCount 1-10, captureCountdown 1-15, prepTimeout, captureTimeout, selfPhotoDuration, gifEnabled, gifSpeed, recordingEnabled, recordingSpeed}, retake{enabled, retakeTimeout, maxRetakeCount, maxRetakeSession}, select{enabled, selectionTimeout}, frame{displayFrameTitle}, filter{enabled, useLivePreview, applyAfterCapture}, checkout{enabled, checkoutTimeout, promoEnabled}, payment{enabled, paymentTimeout}, result{resultTimeout, askUserConsent, emailEnabled, reprintEnabled, reprintTimeout}. Prices and packages are set in the dashboard, not here.', 'additionalProperties': False}, 'filterIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}, 'maxItems': 20, 'description': "Filters the booth should carry (replaces the draft's list): e.g. one made with create_filter. The default 'Normal' is added anyway."}, 'buttonText': {'type': 'string', 'maxLength': 32, 'minLength': 1, 'description': "The welcome screen's button label, e.g. 'Mulai' or 'Start'."}, 'captureMode': {'enum': ['standard', 'frame-based'], 'type': 'string', 'description': "'standard' = classic strip, 'frame-based' = frame mode."}, 'aiEffectTitle': {'type': 'string', 'maxLength': 80, 'description': 'The title of a public AI effect to add, exactly as the operator named it; an empty string removes the one chosen before.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'jobId', 'state', 'what', 'draftId'], 'properties': {'kind': {'type': 'string', 'const': 'booth-draft'}, 'note': {'type': 'string'}, 'what': {'type': 'string'}, 'draft': {'type': 'object', 'required': ['draftId', 'slug', 'title', 'headline', 'subtext', 'cta', 'captureMode', 'language', 'palette', 'welcomePortraitUrl', 'welcomeLandscapeUrl', 'appBackgroundUrl', 'frameTags', 'filterMood', 'remainingFullGenerations', 'remainingRegens'], 'properties': {'cta': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'edited': {'type': 'array', 'items': {'type': 'string'}}, 'draftId': {'type': 'string'}, 'logoUrl': {'type': 'string'}, 'palette': {'type': 'object', 'required': ['backgroundColor', 'primaryColor', 'secondaryColor', 'dark'], 'properties': {'dark': {'type': 'boolean'}, 'primaryColor': {'type': 'string'}, 'secondaryColor': {'type': 'string'}, 'backgroundColor': {'type': 'string'}}, 'additionalProperties': False}, 'subtext': {'type': 'string'}, 'frameIds': {'type': 'array', 'items': {'type': 'string'}}, 'headline': {'type': 'string'}, 'language': {'type': 'string'}, 'settings': {'type': 'object', 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': ['boolean', 'number', 'null']}}}, 'filterIds': {'type': 'array', 'items': {'type': 'string'}}, 'frameTags': {'type': 'array', 'items': {'type': 'string'}}, 'aiEffectId': {'type': 'string'}, 'filterMood': {'type': 'string'}, 'captureMode': {'type': 'string'}, 'regenerated': {'type': 'array', 'items': {'type': 'string'}}, 'remainingRegens': {'type': 'number'}, 'appBackgroundUrl': {'type': 'string'}, 'welcomePortraitUrl': {'type': 'string'}, 'welcomeLandscapeUrl': {'type': 'string'}, 'remainingFullGenerations': {'type': 'number'}}, 'additionalProperties': False}, 'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'state': {'type': 'string'}, 'applied': {'type': 'array', 'items': {'type': 'string'}}, 'draftId': {'type': 'string'}, 'rejected': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'reason'], 'properties': {'field': {'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'slugAvailable': {'type': 'boolean'}}, 'additionalProperties': False}
Modifications récentes des outils
Serveurs MCP similaires
SimplyPrint: 3D Print Farm Management
Manages 3D printer farms by monitoring printers, assigning filament, queuing and controlling print jobs, and reporting operationa…
askacharge.com — EV charging network
Operates EV charging networks through OCPP, including charger status, remote commands, sessions, customers, tariffs, pricing, and…
AstraNL
Enables discovery, registration, monitoring, and evidence retrieval for real-world tasks executed in the Netherlands by people, c…
INMETRO: Cronotacógrafo (Detalhes)
Looks up official INMETRO cronotachograph certification and detail records.
site
Collects and submits a consented enquiry for generator servicing to human providers; it does not provide guaranteed quotes or pro…
RegEvidenceHub CableCert
Inspects and audits structured-cabling certification CSV evidence, reconciling cable IDs and reporting exceptions.
site
Collects and submits a consent-confirmed enquiry to human providers offering commercial heat pump installation.
AdButler
Manages AdButler advertisers, campaigns, ad items, audiences, zones, creatives, catalogs, and advertising reports.