Creates a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and makes it available for deployment.
Processing is triggered automatically — no need to call /process separately. Poll GET /builds/{build_id} until status is ready.
For private registries, provide registry_credentials with username and password/token. Public images (Docker Hub, ghcr.io public repos) don’t need credentials.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Documentation - PlayFlow Cloud","colors":{"primary":"#2563EB","light":"#60A5FA","dark":"#1E3A8A"},"logo":{"light":"https://mintcdn.com/playflow/eqeqAmqAMsOYKFZn/logo/svgs/3.svg?fit=max\u0026auto=format\u0026n=eqeqAmqAMsOYKFZn\u0026q=85\u0026s=ec6b551d72d9a0550eceaf8372781505","dark":"https://mintcdn.com/playflow/eqeqAmqAMsOYKFZn/logo/svgs/4.svg?fit=max\u0026auto=format\u0026n=eqeqAmqAMsOYKFZn\u0026q=85\u0026s=56ed179b4ec9ff9a3b8c659b610385e1"},"favicon":"https://mintcdn.com/playflow/eqeqAmqAMsOYKFZn/favicon.svg?fit=max\u0026auto=format\u0026n=eqeqAmqAMsOYKFZn\u0026q=85\u0026s=4f01ae4525de4b30fd0fef06c5145d06","navbar":{"links":[{"href":"https://discord.gg/P5w45Vx5Q8","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.playflowcloud.com"}},"footer":{"socials":{"x":"https://x.com/PlayFlowCloud","github":"https://github.com/PlayFlowCloud","linkedin":"https://www.linkedin.com/company/84953462"}},"seo":{"metatags":{"description":"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies.","keywords":"PlayFlow, PlayFlow Cloud, game development, multiplayer, Unity, Unreal Engine, Godot, game servers, server hosting, matchmaking, lobbies, WebGL, game backend, documentation","author":"PlayFlow Cloud","robots":"index, follow","googlebot":"index, follow","language":"en","copyright":"Copyright 2025 PlayFlow Cloud","distribution":"global","coverage":"Worldwide","category":"Game Development","og:title":"PlayFlow Cloud Documentation","og:description":"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies.","og:type":"website","og:site_name":"PlayFlow Cloud","og:url":"https://docs.playflowcloud.com","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@PlayFlowCloud","twitter:creator":"@PlayFlowCloud","twitter:title":"PlayFlow Cloud Documentation","twitter:description":"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies."},"indexing":"all"},"icons":{"library":"lucide"},"integrations":{"posthog":{"apiKey":"phc_fBrC62lJ5zi3r6ItRQsm4NcKIJOvc2e73YZtSaTpYxy"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/P5w45Vx5Q8"},{"anchor":"Blog","icon":"newspaper","href":"https://playflowcloud.com/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"playflow","hasAudioNarration":false,"actualSubdomain":"playflow","customDomains":["docs.playflowcloud.com"],"gitSource":{"type":"github","owner":"playflowcloud","repo":"playflow-core","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a551e6696ba02c71ec13582","collectionId":"3524da5f-fd4d-49f3-a07a-bea7ab61d2ef","schemaVersion":"v3"},"feedback":{"thumbs":false},"entitlements":{},"buildId":"6a551e6696ba02c71ec13582:success","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"Documentation","count":37},{"language":"default","tag":"API Reference","count":36},{"language":"default","tag":"Endpoints","count":35},{"language":"default","tag":"Lobbies","count":18},{"language":"default","tag":"Lobbies \u0026 Matchmaking","count":12},{"language":"default","tag":"Getting Started","count":10},{"language":"default","tag":"Guides","count":8},{"language":"default","tag":"Servers","count":8},{"language":"default","tag":"Quick Start Guides","count":7},{"language":"default","tag":"Unity SDK","count":6}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/builds/create-build-from-docker-image","slug":"/api-reference/builds/create-build-from-docker-image","pageMetadata":{"title":"Create build from Docker image","description":"Creates a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and makes it available for deployment.\n\nProcessing is triggered automatically — no need to call `/process` separately. Poll `GET /builds/{build_id}` until status is `ready`.\n\nFor private registries, provide `registry_credentials` with username and password/token. Public images (Docker Hub, ghcr.io public repos) don't need credentials.","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/builds/docker-image","href":"/api-reference/builds/create-build-from-docker-image","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Creates a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and makes it available for deployment.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Processing is triggered automatically — no need to call \", _jsx(_components.code, {\n children: \"/process\"\n }), \" separately. Poll \", _jsx(_components.code, {\n children: \"GET /builds/{build_id}\"\n }), \" until status is \", _jsx(_components.code, {\n children: \"ready\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For private registries, provide \", _jsx(_components.code, {\n children: \"registry_credentials\"\n }), \" with username and password/token. Public images (Docker Hub, ghcr.io public repos) don’t need credentials.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create build from Docker image","description":"Creates a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and makes it available for deployment.\n\nProcessing is triggered automatically — no need to call `/process` separately. Poll `GET /builds/{build_id}` until status is `ready`.\n\nFor private registries, provide `registry_credentials` with username and password/token. Public images (Docker Hub, ghcr.io public repos) don't need credentials.","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/builds/docker-image","href":"/api-reference/builds/create-build-from-docker-image","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createDockerImageBuild","tags":["Builds"],"summary":"Create build from Docker image","description":"Creates a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and makes it available for deployment.\n\nProcessing is triggered automatically — no need to call `/process` separately. Poll `GET /builds/{build_id}` until status is `ready`.\n\nFor private registries, provide `registry_credentials` with username and password/token. Public images (Docker Hub, ghcr.io public repos) don't need credentials.","requestBody":"c8301594-d838-4342-ba53-138a1173cc7f","responses":{"202":"420e3f77-6a7a-4d90-8ff5-0e884d97a25c","400":"c5d6fea0-5a7c-4fc8-99c3-db20e927b82b"},"method":"post","type":"path","servers":["10dc6c24-ec8f-48c6-85d3-b4e04b596923"],"security":["0648c24c-6553-4c47-aec3-e48fcddd9e9d"],"path":"/api/v3/builds/docker-image","baseUrlOptions":["https://api.computeflow.cloud"],"title":"Create build from Docker image","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"image_url":{"type":"string","minLength":1,"description":"Full Docker image URL including tag. Examples: \"ghcr.io/myorg/gameserver:v2.1.0\", \"registry.example.com/game:latest\", \"docker.io/myname/server:1.0\".","isRequired":true,"uniqueKey":"image_url","typeLabel":"string"},"name":{"type":"string","default":"default","description":"Build name for versioning (e.g., \"default\", \"beta\"). Versions auto-increment per name per project.","uniqueKey":"name","typeLabel":"string"},"executable_path":{"type":"string","description":"Path to the game executable inside the Docker image. Required if your executable is not at the default location (Server.x86_64).","uniqueKey":"executable_path","typeLabel":"string"},"registry_credentials":{"type":"object","properties":{"username":{"type":"string","minLength":1,"description":"Registry username or access token name.","isRequired":true,"uniqueKey":"registry_credentials.username","typeLabel":"string"},"password":{"type":"string","minLength":1,"description":"Registry password, access token, or personal access token (PAT).","isRequired":true,"uniqueKey":"registry_credentials.password","typeLabel":"string"}},"required":["username","password"],"description":"Credentials for private Docker registries. Not needed for public images (Docker Hub public, ghcr.io public). Required for private repos.","uniqueKey":"registry_credentials","typeLabel":"object"}},"required":["image_url"],"description":"Create a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and prepares it for deployment.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"image_url":"\u003cstring>","name":"default","executable_path":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"420e3f77-6a7a-4d90-8ff5-0e884d97a25c":{"description":"Docker image build created and processing started. Poll GET /builds/{build_id} for status updates.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Processing status, typically \"accepted\".","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"build_id":{"type":"string","description":"Build identifier being processed.","isRequired":true,"uniqueKey":"build_id","typeLabel":"string"},"message":{"type":"string","description":"Human-readable status message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["status","build_id","message"],"description":"Confirmation that build processing has been triggered. Processing runs asynchronously via GitHub Actions (typically 1–5 minutes).","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"\u003cstring>","build_id":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"c5d6fea0-5a7c-4fc8-99c3-db20e927b82b":{"description":"Invalid request (e.g., missing image_url, malformed registry credentials).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message describing what went wrong.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"status":{"type":"number","description":"HTTP status code (matches the response status code).","isRequired":true,"uniqueKey":"status","typeLabel":"number"},"detail":{"type":"string","description":"Additional error context. May contain the same text as error or more specific technical details.","uniqueKey":"detail","typeLabel":"string"}},"required":["error","status"],"description":"Standard error response returned by all API endpoints on failure.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","status":123,"detail":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"0648c24c-6553-4c47-aec3-e48fcddd9e9d":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-key","scopes":[]}}},"servers":{"10dc6c24-ec8f-48c6-85d3-b4e04b596923":{"url":"https://api.computeflow.cloud"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"api-key","scopes":[]},"schema":{"title":"api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"https://api.computeflow.cloud/api/doc"},"subdomain":"playflow","siteName":"Documentation - PlayFlow Cloud","title":"PlayFlow Cloud Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-13T17:20:49.541Z","originalFileLocation":"api-reference/builds/create-build-from-docker-image.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and makes it available for deployment. Processing is triggered automatically — no need to call /process separately. Poll GET /builds/{build_id} until status is ready. For private registries, provide registry_credentials with username and password/token. Public images (Docker Hub, ghcr.io public repos) don\u0026#x27;t need credentials.\">\u003cmeta data-mint-head name=\"keywords\" content=\"PlayFlow, PlayFlow Cloud, game development, multiplayer, Unity, Unreal Engine, Godot, game servers, server hosting, matchmaking, lobbies, WebGL, game backend, documentation\">\u003cmeta data-mint-head name=\"application-name\" content=\"Documentation - PlayFlow Cloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"PlayFlow Cloud Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PlayFlow Cloud\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://playflow.mintlify.app/_mintlify/api/og/v2?division=Builds\u0026amp;title=Create+build+from+Docker+image\u0026amp;description=Creates+a+build+from+an+existing+Docker+image+instead+of+uploading+a+ZIP.+PlayFlow+pulls+the+image+and+makes+it+available+for+deployment.%0A%0AProcessing+is+trigger\u0026amp;theme=efdcb79398ff0a4a395f8bf0\u0026amp;signature=0b5c037c913f174039a0a07c4989317f72cee8eddf1d12ae9edf7156e4777477\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"PlayFlow Cloud Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Official documentation for PlayFlow Cloud. Learn to build, deploy, and scale multiplayer games with our tools for server hosting, matchmaking, and lobbies.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://playflow.mintlify.app/_mintlify/api/og/v2?division=Builds\u0026amp;title=Create+build+from+Docker+image\u0026amp;description=Creates+a+build+from+an+existing+Docker+image+instead+of+uploading+a+ZIP.+PlayFlow+pulls+the+image+and+makes+it+available+for+deployment.%0A%0AProcessing+is+trigger\u0026amp;theme=efdcb79398ff0a4a395f8bf0\u0026amp;signature=0b5c037c913f174039a0a07c4989317f72cee8eddf1d12ae9edf7156e4777477\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/playflow/bdsieV7iirvG9AV3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Documentation - PlayFlow Cloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563EB\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"author\" content=\"PlayFlow Cloud\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"language\" content=\"en\">\u003cmeta data-mint-head name=\"copyright\" content=\"Copyright 2025 PlayFlow Cloud\">\u003cmeta data-mint-head name=\"distribution\" content=\"global\">\u003cmeta data-mint-head name=\"coverage\" content=\"Worldwide\">\u003cmeta data-mint-head name=\"category\" content=\"Game Development\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@PlayFlowCloud\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/builds/create-build-from-docker-image.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.playflowcloud.com/#organization\",\"name\":\"Documentation - PlayFlow Cloud\",\"url\":\"https://docs.playflowcloud.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/playflow/eqeqAmqAMsOYKFZn/logo/svgs/3.svg?fit=max\u0026auto=format\u0026n=eqeqAmqAMsOYKFZn\u0026q=85\u0026s=ec6b551d72d9a0550eceaf8372781505\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.playflowcloud.com#website\",\"name\":\"Documentation - PlayFlow Cloud\",\"url\":\"https://docs.playflowcloud.com\",\"publisher\":{\"@id\":\"https://docs.playflowcloud.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image#webpage\",\"url\":\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image\",\"name\":\"Create build from Docker image\",\"description\":\"Creates a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and makes it available for deployment. Processing is triggered automatically — no need to call /process separately. Poll GET /builds/{build_id} until status is ready. For private registries, provide registry_credentials with username and password/token. Public images (Docker Hub, ghcr.io public repos) don't need credentials.\",\"dateModified\":\"2026-07-13T17:20:49.541Z\",\"isPartOf\":{\"@id\":\"https://docs.playflowcloud.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.playflowcloud.com/api-reference/servers/get-the-authoritative-match-roster\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Builds\",\"item\":\"https://docs.playflowcloud.com/api-reference/builds/list-builds\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create build from Docker image\",\"item\":\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image#apireference\",\"headline\":\"Create build from Docker image\",\"name\":\"Create build from Docker image\",\"description\":\"Creates a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and makes it available for deployment. Processing is triggered automatically — no need to call /process separately. Poll GET /builds/{build_id} until status is ready. For private registries, provide registry_credentials with username and password/token. Public images (Docker Hub, ghcr.io public repos) don't need credentials.\",\"url\":\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image\",\"mainEntityOfPage\":{\"@id\":\"https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image#webpage\"},\"dateModified\":\"2026-07-13T17:20:49.541Z\",\"publisher\":{\"@id\":\"https://docs.playflowcloud.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.playflowcloud.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Documentation - PlayFlow Cloud\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Documentation - PlayFlow Cloud","nav":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/P5w45Vx5Q8"},{"anchor":"Blog","icon":"newspaper","href":"https://playflowcloud.com/"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","icon":"code","groups":[{"group":"Overview","icon":"book-open","pages":[{"title":"API Introduction","icon":"book-open","href":"/api-reference/introduction"}]},{"group":"Endpoints","icon":"code","pages":[{"group":"Servers","pages":[{"title":"Get the authoritative match roster","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}/roster","href":"/api-reference/servers/get-the-authoritative-match-roster"},{"title":"Override backfill state (server-authoritative)","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc patch /api/v3/servers/{instance_id}/backfill","href":"/api-reference/servers/override-backfill-state-server-authoritative"},{"title":"Close backfill (server-authoritative)","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/servers/{instance_id}/backfill/lock","href":"/api-reference/servers/close-backfill-server-authoritative"},{"title":"List servers","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers","href":"/api-reference/servers/list-servers"},{"title":"Start a new server","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/servers/start","href":"/api-reference/servers/start-a-new-server"},{"title":"Get server details","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}","href":"/api-reference/servers/get-server-details"},{"title":"Stop a server","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/servers/{instance_id}","href":"/api-reference/servers/stop-a-server"},{"title":"Update server custom_data","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/servers/{instance_id}/update","href":"/api-reference/servers/update-server-custom_data"},{"title":"Restart a server","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/servers/{instance_id}/restart","href":"/api-reference/servers/restart-a-server"},{"title":"Get server runtime logs","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}/logs","href":"/api-reference/servers/get-server-runtime-logs"},{"title":"Get server resource metrics","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}/metrics","href":"/api-reference/servers/get-server-resource-metrics"},{"title":"Get server log-volume histogram","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/servers/{instance_id}/log-histogram","href":"/api-reference/servers/get-server-log-volume-histogram"}]},{"group":"Projects","pages":[{"title":"Get project-wide log-volume histogram","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/projects/log-histogram","href":"/api-reference/projects/get-project-wide-log-volume-histogram"},{"title":"Get project-wide server logs","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/projects/logs","href":"/api-reference/projects/get-project-wide-server-logs"},{"title":"Get project settings","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/projects/settings","href":"/api-reference/projects/get-project-settings"},{"title":"Update project settings","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/projects/settings","href":"/api-reference/projects/update-project-settings"}]},{"group":"Builds","pages":[{"title":"List builds","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/builds","href":"/api-reference/builds/list-builds"},{"title":"Get presigned upload URL","description":"Generates a presigned upload URL for uploading your game server as a ZIP file. Upload flow:\n\n1. **Call this endpoint** to get a `build_id` and `upload_url`\n2. **PUT your ZIP** directly to the `upload_url` (expires in 5 minutes)\n3. **Done!** Processing starts automatically when the upload completes\n4. **Poll GET /builds/{build_id}** until status is `ready`\n\nVersions auto-increment per build name: first \"default\" build is version 1, next is version 2, etc.","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/builds/upload-url","href":"/api-reference/builds/get-presigned-upload-url"},{"title":"Create build from Docker image","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/builds/docker-image","href":"/api-reference/builds/create-build-from-docker-image"},{"title":"Get build details","description":"Returns the full details of a specific build including its status, version, and type. Use this to poll for status changes during processing (`uploading` → `processing` → `ready` or `failed`).","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/builds/{build_id}","href":"/api-reference/builds/get-build-details"},{"title":"Delete a build","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/builds/{build_id}","href":"/api-reference/builds/delete-a-build"},{"title":"Get build processing logs","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/builds/{build_id}/logs","href":"/api-reference/builds/get-build-processing-logs"}]},{"group":"Lobbies","pages":[{"title":"Browse lobbies","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/lobbies/{config}","href":"/api-reference/lobbies/browse-lobbies"},{"title":"Create a lobby","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}","href":"/api-reference/lobbies/create-a-lobby"},{"title":"Join a lobby","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/join","href":"/api-reference/lobbies/join-a-lobby"},{"title":"Get my lobby","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/lobbies/{config}/me","href":"/api-reference/lobbies/get-my-lobby"},{"title":"Leave a lobby","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/me","href":"/api-reference/lobbies/leave-a-lobby"},{"title":"Update my player state","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc patch /api/v3/lobbies/{config}/me","href":"/api-reference/lobbies/update-my-player-state"},{"title":"Update lobby settings","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc patch /api/v3/lobbies/{config}/me/settings","href":"/api-reference/lobbies/update-lobby-settings"},{"title":"Kick a player","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/me/players/{playerId}","href":"/api-reference/lobbies/kick-a-player"},{"title":"Start the game","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/start","href":"/api-reference/lobbies/start-the-game"},{"title":"Start matchmaking","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/matchmaking","href":"/api-reference/lobbies/start-matchmaking"},{"title":"Cancel matchmaking","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/me/matchmaking","href":"/api-reference/lobbies/cancel-matchmaking"},{"title":"End the current match","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/end-match","href":"/api-reference/lobbies/end-the-current-match"},{"title":"Confirm a found match","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/confirm-match","href":"/api-reference/lobbies/confirm-a-found-match"},{"title":"Decline a found match","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/me/confirm-match","href":"/api-reference/lobbies/decline-a-found-match"},{"title":"Send a player heartbeat","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc post /api/v3/lobbies/{config}/me/heartbeat","href":"/api-reference/lobbies/send-a-player-heartbeat"},{"title":"Subscribe to lobby events (SSE)","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/lobbies/{config}/me/events","href":"/api-reference/lobbies/subscribe-to-lobby-events-sse"},{"title":"Get lobby by ID","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc get /api/v3/lobbies/{config}/{id}","href":"/api-reference/lobbies/get-lobby-by-id"},{"title":"Delete a lobby by ID (admin)","deprecated":null,"version":null,"openapi":"https://api.computeflow.cloud/api/doc delete /api/v3/lobbies/{config}/{id}","href":"/api-reference/lobbies/delete-a-lobby-by-id-admin"}]}]}]}]},"title":"PlayFlow Cloud Documentation","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}